El cálculo de funciones ortogonales empíricas en oceanografía es ampliamente aceptado para la definición de las áreas o regiones Niño. Su aplicación sobre las anomalías de Temperatura en el Pacífico, han permitido obtener componentes principales que replican en el tiempo los rangos de tiempo en los que El Niño ha ocurrido, con una muy buena correlación, a las que ahora conocemos como regiones El Niño. Por tal motivo es importante conocer métodos apropiados accesibles para su cálculo. A continuación presento una forma sencilla de realizar este cálculo sobre una matriz. Este metido es adaptado de: ATM 552 Notes: Matrix Methods: EOF, SVD, ETC. D.L.Hartmann Page 79
import numpy as np #la matriz ejemplo a=np.array([[2,4,-6,8],[1,2,-3,4]]) #la matriz de covarianza c=np.dot(a,a.T) #calculamos los valores propios d,v=np.linalg.eig(c) #para encontrar los Componentes Principales p=np.dot(v.T,a)
En base a esta matriz ejemplo, los componentes principales son los siguientes: 2.23606798, 4.47213595, -6.70820393, 8.94427191.
Como se puede apreciar el proceso es bastante sencillo, obviamente el tiempo de ejecución dependerá del tamaño de la matriz ejemplo. Para comprobar el resultado de esta descomposición debemos recuperar los datos originales
A=np.dot(v,p)
Deja un comentario