No he trabajado con mucha frecuencia con datos de series de tiempo, por lo que estoy buscando algunos indicadores sobre cómo proceder mejor con esta pregunta en particular.
Digamos que tengo los siguientes datos, graficados a continuación:
Aquí hay un año en el eje x. El eje y es una medida de 'desigualdad', por ejemplo, podría ser desigualdad en el ingreso de un país.
Para esta pregunta, estoy interesado en preguntar si existe una naturaleza ascendente / descendente en los datos año tras año (por falta de una mejor descripción). En esencia, me gustaría preguntar si la desigualdad aumentó el año pasado con respecto al año anterior, ¿es probable que ahora disminuya? El tamaño de los altibajos también puede ser importante para tener en cuenta.
Estoy pensando que algo como wavelet analysis
o Fourier analysis
puede ayudar, aunque no los he usado antes y creo que un tamaño de muestra como este es demasiado pequeño.
Estaría interesado en cualquier idea / sugerencia que pueda seguir.
EDITAR:
Estos son los datos para este gráfico:
# year value
#1 1956 0.9570912
#2 1957 1.0303563
#3 1958 0.9568302
#4 1959 1.1449074
#5 1960 0.8962963
#6 1961 1.0431552
#7 1962 0.8050077
#8 1963 0.8533181
#9 1964 0.9971713
#10 1965 1.0453083
#11 1966 0.8221328
#12 1967 1.0594876
#13 1968 1.1244195
#14 1969 1.0705498
#15 1970 0.8669457
#16 1971 0.8757319
#17 1972 1.0815189
#18 1973 1.1458959
#19 1974 1.2782848
#20 1975 1.0729718
#21 1976 1.1569416
#22 1977 1.2063673
#23 1978 1.1509700
#24 1979 1.1172020
#25 1980 1.0691429
#26 1981 1.0907407
#27 1982 1.1753854
#28 1983 0.9440187
#29 1984 1.1214175
#30 1985 1.2777778
#31 1986 1.2141739
#32 1987 0.9481722
#33 1988 1.1484652
#34 1989 0.7968458
#35 1990 1.1721074
#36 1991 1.1569523
#37 1992 0.8160300
#38 1993 0.9483291
#39 1994 1.0898612
#40 1995 0.8196819
#41 1996 1.0297017
#42 1997 1.0207769
#43 1998 0.9720285
#44 1999 0.8685848
#45 2000 0.9228595
#46 2001 0.9171540
#47 2002 1.0470085
#48 2003 0.9313437
#49 2004 1.0943982
#50 2005 1.0248419
#51 2006 0.9392917
#52 2007 0.9666248
#53 2008 1.1243693
#54 2009 0.8829184
#55 2010 0.9619517
#56 2011 1.0030864
#57 2012 1.1576998
#58 2013 0.9944945
Aquí están en R
formato:
structure(list(year = structure(1:58, .Label = c("1956", "1957",
"1958", "1959", "1960", "1961", "1962", "1963", "1964", "1965",
"1966", "1967", "1968", "1969", "1970", "1971", "1972", "1973",
"1974", "1975", "1976", "1977", "1978", "1979", "1980", "1981",
"1982", "1983", "1984", "1985", "1986", "1987", "1988", "1989",
"1990", "1991", "1992", "1993", "1994", "1995", "1996", "1997",
"1998", "1999", "2000", "2001", "2002", "2003", "2004", "2005",
"2006", "2007", "2008", "2009", "2010", "2011", "2012", "2013"
), class = "factor"), value = c(0.957091237579043, 1.03035630567276,
0.956830206830207, 1.14490740740741, 0.896296296296296, 1.04315524964493,
0.805007684426229, 0.853318117977528, 0.997171336206897, 1.04530832219251,
0.822132760780104, 1.05948756976154, 1.1244195265602, 1.07054981337927,
0.866945712836124, 0.875731948296804, 1.081518931763, 1.1458958958959,
1.27828479729065, 1.07297178130511, 1.15694159981794, 1.20636732623034,
1.15097001763668, 1.11720201026986, 1.06914289768696, 1.09074074074074,
1.17538544689082, 0.944018731375053, 1.12141754850088, 1.27777777777778,
1.21417390277039, 0.948172198172198, 1.14846524606799, 0.796845829569407,
1.17210737869653, 1.15695226716732, 0.816029959161985, 0.94832907620264,
1.08986124767836, 0.819681861348528, 1.02970169141241, 1.02077687443541,
0.972028455959697, 0.868584838281808, 0.922859547859548, 0.917153996101365,
1.04700854700855, 0.931343718539713, 1.09439821062628, 1.02484191508582,
0.939291692822766, 0.966624816907303, 1.12436929683306, 0.882918437563246,
0.961951667980037, 1.00308641975309, 1.15769980506823, 0.994494494494494
)), row.names = c(NA, -58L), class = "data.frame", .Names = c("year",
"value"))
fuente
Respuestas:
Si la serie no está correlacionada, tomar innecesariamente las diferencias inyecta auto-correlación. Incluso si la serie está autocorrelacionada, la diferencia injustificada es inapropiada. Las ideas simples y los enfoques simples a menudo tienen efectos secundarios no deseados. El proceso de identificación del modelo (ARIMA) comienza con la serie original y puede dar lugar a diferencias PERO nunca debe comenzar con diferencias injustificadas a menos que exista una justificación teórica. Si lo desea, puede publicar sus series cortas y las usaré para explicarle cómo identificar un modelo para esta serie.
Después de recibir los datos:
El ACF de sus datos no indica inicialmente (o finalmente) ningún proceso ARIMA aquí, tanto ACF como PACF
y aquí solo ACF:
Sin embargo, parece haber dos cambios de nivel en sus datos ... uno en 1972 y otro en 1992 .. parecen estar casi cancelando los cambios de nivel. Un modelo útil también podría incluir la incorporación de tres valores inusuales en los períodos 1989,1959 y 1983. La ecuación es entonces
y aquí
con las estadísticas del modelo aquí:
El real / ajuste y pronóstico está aquí con el gráfico residual aquí sugiriendo la suficiencia del modelo . Esto se confirma por el acf de los residuos . Finalmente, el ajuste y el pronóstico resumen los hallazgos .
En resumen, la serie (probablemente una relación) carece de memoria autorregresiva significativa, pero tiene alguna estructura determinista evidenciada (estadísticamente significativa). Todos los modelos están equivocados, pero algunos son útiles (GEP Box).
Después de alguna discusión ... Si uno modelara diferencias, obtendría el siguiente modelo ... con ACTUAL / FIT y PRONÓSTICO . Los pronósticos se ven inquietantemente similares ... el coeficiente MA cancela efectivamente el operador de diferenciación.
fuente
Puede ver los altibajos como una secuencia aleatoria, que se genera mediante algún proceso aleatorio. Por ejemplo, supongamos que se trata de una serie estacionaria , donde es una distribución de probabilidad como Gauss, Poisson o cualquier otra cosa. Esta es una serie estacionaria. Ahora, puede crear una nueva variable tal que y , estos son sus altibajos. Esta nueva secuencia formará su propia secuencia aleatoria con propiedades interesantes, ver, por ejemplo, V Khil, Elena. "Propiedades de Markov de espacios entre máximos locales en una secuencia de variables aleatorias independientes". (2013)x1,x2,x3,...,xn∈f(x) f(x) yt yt=1:xt<xt+1 yt=0:xt≥xt+1
Por ejemplo, mire ACF y PACF de su serie. No hay nada aquí. Esto no parece el modelo ARIMA. Parece una secuencia no correlacionada de .xt
Esto significa que podríamos intentar aplicar resultados conocidos para , por ejemplo, se sabe que la distancia promedio entre dos pares (arriba-abajo) (o vueltas en U como algunos los llaman) es 3. En su conjunto de datos, el primer pico (arriba- abajo) es 1957 y el último es 2012, con 16 picos en total. Entonces, la distancia promedio entre picos es 15/55 = 3.67. Sabemos que , y con 15 observaciones . Entonces la distancia media entre picos está dentro de de la media teórica.yt σ=1.108 σ15=σ/15−−√=0.29 1.2σn
ACTUALIZACIÓN: en ciclos
El gráfico en la pregunta de OP parece sugerir que hay algún tipo de ciclo de ejecución prolongado. Hay varios problemas con esto.
fuente
Aparte 1: Una cosa que vemos es la aparición de una larga tendencia cíclica en los datos. Esto no debería afectar tanto el análisis anual *, por lo que para este análisis muy básico lo ignoraré y trataré los datos como si fueran homogéneos, aparte del efecto que le interesa.
* (tenderá a reducir el número de movimientos en dirección opuesta de lo que cabría esperar con la homogeneidad, por lo que tenderá a disminuir un poco la potencia de esta prueba. Podríamos intentar cuantificar ese impacto, pero no creo existe una gran necesidad a menos que parezca que sea lo suficientemente grande como para marcar la diferencia; si ya es significativo, ajustar por algo que haría un poco más pequeño el valor p sería un desperdicio de esfuerzo).
Aparte 2: Como se expresó, su pregunta parece involucrar una alternativa de una cola. Trabajaré sobre la base de que esto es lo que quieres.
Comencemos con un análisis simple dirigido directamente a su pregunta básica, que parece estar en la línea de "¿es más probable que un aumento sea seguido por una disminución?"
Sin embargo, no es tan simple como parece. En una serie estable, con datos puramente aleatorios, es más probable que un aumento sea seguido por una disminución. Tenga en cuenta que la hipótesis que estamos considerando implica tres observaciones, que se pueden ordenar de seis maneras posibles:
De esas seis formas, 4 implican un cambio de dirección. Por lo tanto, una serie puramente aleatoria (independientemente de la distribución) debería ver un giro en la dirección 2/3 del tiempo.
[Esto está estrechamente relacionado con una prueba de ejecución ascendente y descendente, donde le interesa saber si hay demasiadas ejecuciones para que sea aleatorio. Podrías usar esa prueba en su lugar.]
Supongo que su interés real es si es más alto que el 2/3 al azar en lugar de si es más de 1/2 como parecía estar preguntando.
Estadística de prueba: proporción de cambios seguidos por cambios en la dirección opuesta.
Debido a que nuestros triples se superponen, creo que tenemos cierta dependencia entre los triples, por lo que no podemos tratar esto como binomial (podríamos si dividimos los datos en triples no superpuestos; eso funcionaría bien).
Teniendo en cuenta esa dependencia, aún podríamos calcular la distribución del estadístico de prueba, pero no necesitamos hacerlo en este caso, porque la proporción observada de dirección invertida se triplica justo por debajo del número esperado de 2/3 para una serie aleatoria , y solo estamos interesados en más reversiones que eso.
Por lo tanto, no necesitamos calcular más: no hay evidencia de una tendencia a revertir (hacia arriba o hacia abajo) más de lo que obtendría con una serie aleatoria.
[Realmente dudo que el ciclo leve descuidado tenga suficiente impacto para mover la proporción esperada hacia abajo en cualquier lugar lo suficientemente cerca como para que esto haga una diferencia sustancial].
fuente
1 0 1 0 1 0 1 1 1 0 1 1 0 0 1 1 1 1 0 1 1 0 0 0 1 1 0 1 1 0 0 1 0 1 0 0 1 1 0 1 0 0 0 1 0 1 0 1 0 0 1 1 0 1 1 1 0
con un 1 que indica que la serie sube y un 0 que baja. Usandoruns.test
eltseries
paquete R, esto da una estadística de prueba de 1.81 y una p de 0.07. Si bien no estoy demasiado preocupado por estos datos de ejemplo, me pregunto si este es el tipo de análisis al que se refería.Podría usar un paquete llamado cambio estructural que verifica las interrupciones o los cambios de nivel en los datos. He tenido cierto éxito en la detección automática de cambios de nivel para series de tiempo no estacionales.
Convertí su "valor" en una serie de datos de tiempo. y usó el siguiente código para verificar cambios de nivel o cambiar puntos o puntos de ruptura. El paquete también tiene características agradables, como la prueba de chow para hacer la prueba de chow para detectar roturas estructurales:
El siguiente es el resumen de la función breakpont:
Como puede ver, la función identificó posibles interrupciones en sus datos y seleccionó dos interrupciones estructurales en 1971 y 1986 como se muestra en el gráfico a continuación según el criterio BIC. La función también proporcionó otros puntos de corte alternativos como se enumeran en la salida anterior.
Espero que esto sea útil
fuente