7 votos

¿Cómo hacer una agrupación de series temporales (longitudinales) basada totalmente en la forma de las curvas?

Dispongo de un conjunto de datos longitudinales (de panel) sobre el crecimiento de la inversión en 120 países que abarca el período 1960-2008. Esencialmente se ve como 120 series de tiempo.

Lo que me interesa es agrupar a los países en función de la forma de sus curvas de crecimiento a lo largo del tiempo. Por lo tanto, el hecho de que compartan una forma similar de sus curvas es el único criterio que necesito para agrupar esos países.

He probado el paquete KmL (K-means for Longitudinal Data), pero parece que (por favor, corríjanme si me equivoco) esta metodología produce el resultado de agrupar países que presentan un valor medio (o magnitud) similar (de crecimiento de la inversión), no exactamente según la forma similar. Por ejemplo, KmL tiende a agrupar países con un alto crecimiento de la inversión, un crecimiento medio de la inversión, un crecimiento bajo de la inversión, etc. Los países dentro de esos grupos pueden tener una forma muy diferente de las curvas a lo largo del tiempo.

Lo que busco es independientemente del valor absoluto del crecimiento de la inversión. Mientras los dos países muestren un patrón similar de su curva de crecimiento a lo largo del tiempo, deberían agruparse en un solo grupo.

¿Podría alguien decirme una forma de implementar esta agrupación? Me he dado cuenta por los posts anteriores que la prueba de cointegración puede funcionar. Cualquier sugerencia será muy apreciada.

1 votos

Calcule algunas características de la forma de cada serie temporal y, a continuación, agrúpelas. Una solución sencilla sería realizar un análisis de componentes principales y realizar la agrupación en función de las cargas de los primeros componentes principales.

3voto

Uri Puntos 111

Si estandarizas cada una de tus series, $(X_i-\bar{X})/\sigma$ Es decir, unificar el nivel de la serie en primer lugar y la oscilación de la serie en segundo lugar, entonces la única diferencia que queda es la de la forma. Calcule las distancias euclidianas (o una medida similar) entre 120 series y realice una agrupación jerárquica. También podría (quizás) hacer un suave suavizado de las curvas antes de todo.

0 votos

Haz los cálculos, $\overline{X}$ y $\hat \sigma$ ¿son la media y la desviación estándar de la muestra ingenua?

0 votos

@ttnphns, ¿qué sugieres para el alisado? Tengo una serie bastante errática (recuentos diarios de descargas de documentos), que creo que podría beneficiarse de algún suavizado.

2voto

Nulled Puntos 101

Todas las recomendaciones hasta ahora se basan en los enfoques estándar basados en momentos para el análisis de series temporales y todas son un tipo de modelo HAC. Sin embargo, la pregunta se refería específicamente a la patronaje o forma en los datos. Andreas Brandmaier, del Instituto Max Planck, ha desarrollado un modelo de series temporales de análisis de patrones no basado en los momentos y basado en la teoría de la información y la complejidad que denomina análisis de la distribución de permutación . Ha escrito un módulo de R para probar las similitudes de forma. La CDP tiene una larga historia en la bioestadística como un enfoque de las similitudes de dos grupos. La disertación de Brandmaier fue sobre PDC y árboles de modelado de ecuaciones estructurales.

pdc: un paquete de R para la agrupación de series temporales basada en la complejidad J Stat Software, Andreas Brandmaier

Árboles de distribución de permutaciones y modelos de ecuaciones estructurales , disertación de Brandmaier PDF

Además, está el aprendizaje automático de Eamon Keogh, iSax método para ello.

http://www.cs.ucr.edu/~eamonn/

1voto

Jonathan Fingland Puntos 26224

Primero debe diferenciar sus series temporales, es decir, considerar $X_t = S_t - S_{t-1}$ . Entonces, una agrupación basada en la correlación lo hará. Debería utilizar la correlación de Spearman en lugar de la de Pearson, ya que es más genérica y robusta frente a las variaciones fuertes. Si sospecha que la fuerza de las variaciones importa de alguna manera, podría utilizar una agrupación de correlación+distribución, es decir, cada serie temporal puede verse como una variable aleatoria, y los valores de sus variaciones $X_t$ son realizaciones. El teorema de Sklar afirma que toda la información, suponiendo un muestreo i.i.d. de la $X_t$ puede ser capturado por una "correlación pura" y la distribución por separado, cf. este trabajo que ilustra el enfoque mediante la agrupación de series temporales financieras , y eventualmente este enlace para un fragmento de código Python .

0voto

B.A.Hammer Puntos 18

Alternativamente (¡¡sugerencia tentativa!!): no podría crear una nueva variable, delta.growth, que es el crecimiento en t=i - el crecimiento en t=i-1, para cada punto de tiempo t=0 ... t=n. No estoy seguro de en qué se diferenciaría esto de la evaluación de la puntuación Z. Sería interesante averiguarlo.

También podría utilizar la interpretación conjunta de la trayectoria para modelar tanto el crecimiento absoluto como el crecimiento delta. Esto debería dar ponderación tanto a la forma como al valor, aunque soy ingenuo en este enfoque.

0voto

AYELET Puntos 26

Existe el paquete R de deformación temporal dinámica dtw que permite comparar las formas de las curvas y va más allá de la coincidencia uno a uno.

También está el dtwclust Paquete R:

Agrupación de series temporales junto con técnicas optimizadas relacionadas con la distancia Dynamic Time Warping y sus correspondientes límites inferiores.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X