¿Se puede aplicar PCA para datos de series temporales?

22

Entiendo que el Análisis de componentes principales (PCA) se puede aplicar básicamente para datos de sección transversal. ¿Se puede utilizar PCA para datos de series temporales de manera efectiva especificando el año como variable de serie temporal y ejecutando PCA normalmente? He descubierto que PCA dinámico funciona para datos de panel y la codificación en Stata está diseñada para datos de panel y no series de tiempo. ¿Existe algún tipo específico de PCA que funcione con datos de series temporales?

Actualizar. Déjame explicarte en detalle.

Actualmente estoy construyendo un índice para Infraestructura en India con variables como la longitud de la carretera, la longitud de la ruta ferroviaria, la capacidad de generación de electricidad, el número de suscriptores telefónicos, etc. Tengo 12 variables a través de 22 años para 1 país. Aunque he revisado documentos que aplican PCA en series temporales e incluso datos de panel, PCA está diseñado para datos de sección transversal que asume su suposición. El panel y los datos de sección transversal lo violan y PCA no tiene en cuenta la dimensión de la serie temporal en él. He visto que la PCA dinámica se aplica solo a los datos del panel. ¿Quiero saber si hay un PCA específico que se aplica en series de tiempo o ejecuta un PCA estático con año definido como variable de serie de tiempo?

Nisha Simon
fuente
2
El análisis de espectro singular (SSA) a menudo se llama PCA para series de tiempo. en.wikipedia.org/wiki/Singular_spectrum_analysis
Vladislavs Dovgalecs
1
Revise algunas de las publicaciones en la barra lateral a la derecha (->) que se refieren tanto a PCA como a series de tiempo. Si alguno responde a su pregunta, haga un enlace a ella en los comentarios aquí, pero si no responde, puede explicar las formas específicas en que su problema difiere de cualquiera de ellos.
Glen_b -Reinstalar Monica
Ninguno de ellos responde a la pregunta de pca en series de tiempo. Las consultas específicas sobre el tema se relacionan con la ciencia o quedan sin respuesta.
Nisha Simon
55
PCA, como herramienta de transformación de datos, reducción de dimensionalidad, exploración y visualización, no hace suposiciones. Puede ejecutarlo en cualquier tipo de datos, incluidos los datos de series temporales. De hecho, PCA se aplica muy a menudo para datos de series de tiempo (a veces se llama "PCA funcional", a veces no). Ni siquiera sé lo que significa "PCA dinámico" y "PCA estático"; no te preocupes y usa PCA estándar.
ameba dice Reinstate Monica
Es posible que desee considerar el uso de PCA funcional, que está especialmente diseñado para series de tiempo. El paquete de la FDA en R implementó fPCA. Podrá encontrar la fPCA multivariante.
Anne

Respuestas:

8

Un enfoque podría ser tomar las diferencias por primera vez de sus 12 variables para garantizar la estacionariedad. Luego calcule la matriz de covarianza y realice PCA en ella. Esto será una especie de PCA promedio durante todo el período de tiempo, y no dirá nada acerca de cómo se afectan entre sí los diferentes intervalos de tiempo. Pero podría ser un buen punto de partida.12×12

Si también está interesado en descomponer el dominio del tiempo, verificaría SSA como se sugiere en los comentarios.

Cuando las series son (asumidas) estacionarias, una matriz de covarianza simple es significativa. Si sus datos están integrados en un orden de 1 o superior, como sospecho que podrían estar, la estimación de una matriz de covarianza única no arrojará resultados consistentes. Un paseo aleatorio es por ejemplo integrada de orden 1, y la covarianza estimada de dos caminos aleatorios no dice nada acerca de su movimiento conjunto, aquí cointegración se requiere un análisis.

Como se sugiere en los comentarios, a la PCA en sí misma no le importa la estacionariedad, por lo que puede alimentar a la PCA con una matriz semi-definida positiva y la descomposición de la PC estará bien en un sentido de PCA.

Pero si su matriz de covarianza estimada no representa nada significativo sobre los datos, entonces PCA, por supuesto, tampoco lo hará.

Duffau
fuente
1
+1. ¿Qué quieres decir con "las primeras diferencias de tiempo"?
ameba dice Reinstate Monica
Me refiero a la primera diferencia, por lo que para cada una de las doce x haría x_t - x_t-1.
Duffau
Por lo tanto, sugiere hacer PCA en derivadas de tiempo de cada serie de tiempo, a diferencia de las series de tiempo en sí mismas. Eso es interesante; ¿Por qué sería tu primera sugerencia?
ameba dice Reinstate Monica
Por dos razones: 1) Para que la estimación de covarianza sea consistente, los supuestos de la sección transversal normal son que las dos variables aleatorias sean independientes e idénticamente distribuidas (iid). Esto asegura la convergencia de la media muestral al valor esperado, la llamada Ley de grandes números (LLN). En el análisis de series de tiempo, la suposición de que dos procesos estocásticos son iid es restrictiva. Por lo tanto, se reemplaza con la noción de estacionariedad (de muchos tipos diferentes). Para que el LLN se mantenga y la estimación de covarianza sea coherente, las dos series deben tener una distribución estacionaria conjunta.
Duffau
Si cada proceso estocástico es estacionario, entonces (estoy casi seguro de que) tienen una estacionaria conjunta, por lo tanto, la estimación de covarianza tiene sentido. Las primeras diferencias son una técnica estándar en econometría para hacer que las series temporales sean "más estacionarias". Y a partir de aquí, la estimación y el PCA son sencillos. En resumen, porque es fácil :-) .... ok, no había una segunda razón ...
Duffau
2

Sí, PCA en series temporales se realiza todo el tiempo en ingeniería financiera (finanzas cuantitativas) y neurología.

Xt×ptprt=log(Pt)log(Pt1)=log(Pt/Pt1)p×pXt×tmatriz de covarianza por días, con activos en filas, para colapsar días que se correlacionan en una sola PC, ya que la idea general es que los días pueden ser redundantes, y cuando se ingresan datos en una red neuronal, por ejemplo las filas de datos serán redundantes o las características se correlacionarán (desea que sean ortogonales), ya que una red neuronal perderá tiempo aprendiendo la correlación. Sin embargo, este enfoque no se centra en la autocorrelación.

γ=t/nXλ+Y=FnβX^=YY^Y=f1β

En neurología, PCA se ejecuta en series de tiempo para potenciales de acción en diferentes bandas de longitud de onda obtenidas de un EEG. Transformar los potenciales de acción en vectores de puntuación de PC ortogonales (no correlacionados) e ingresar las PC en otros análisis es el medio principal por el cual se aumentó el poder estadístico en el modelado estadístico genético de rasgos complejos para la genética del comportamiento (ya que los fenotipos, por ejemplo, bipolares, novedosos búsqueda, esquizotípica, estenosis a menudo se superponen). Los grandes estudios de gemelos genéticos australianos fueron fundamentales para analizar estos rasgos superpuestos en la genética del comportamiento, porque si hay diferencias de enfermedad entre gemelos idénticos que se crían juntos (crecen en el mismo hogar), la inferencia causal puede apuntar a la exposición en diferentes entornos cuando eran mayores en lugar de su genética idéntica.

JoleT
fuente