R series temporales estacionales

9

Utilizo la decomposefunción Ry encuentro los 3 componentes de mi serie temporal mensual (tendencia, estacional y aleatoria). Si trazo el gráfico o miro la tabla, puedo ver claramente que la serie temporal se ve afectada por la estacionalidad.

Sin embargo, cuando retrocedo la serie temporal en las 11 variables ficticias estacionales, todos los coeficientes no son estadísticamente significativos, lo que sugiere que no hay estacionalidad.

No entiendo por qué se me ocurren dos resultados muy diferentes. ¿Le pasó esto a alguien? ¿Estoy haciendo algo mal?


Añado aquí algunos detalles útiles.

Esta es mi serie de tiempo y el cambio mensual correspondiente. En ambos cuadros, puede ver que hay estacionalidad (o esto es lo que me gustaría evaluar). Especialmente, en el segundo gráfico (que es el cambio mensual de la serie) puedo ver un patrón recurrente (puntos altos y puntos bajos en los mismos meses del año).

Series de tiempo

Cambio mensual

A continuación se muestra la salida de la decomposefunción. Aprecio que, como dijo @RichardHardy, la función no prueba si existe estacionalidad real. Pero la descomposición parece confirmar lo que pienso.

Descomponer

Sin embargo, cuando retrocedo la serie de tiempo en 11 variables ficticias estacionales (enero a noviembre, excepto diciembre), encuentro lo siguiente:

    Coefficients:
                  Estimate Std. Error t value Pr(>|t|)    
    (Intercept) 5144454056  372840549  13.798   <2e-16 ***
    Jan     -616669492  527276161  -1.170    0.248    
    Feb     -586884419  527276161  -1.113    0.271    
    Mar     -461990149  527276161  -0.876    0.385    
    Apr     -407860396  527276161  -0.774    0.443    
    May     -395942771  527276161  -0.751    0.456    
    Jun     -382312331  527276161  -0.725    0.472    
    Jul     -342137426  527276161  -0.649    0.520    
    Aug     -308931830  527276161  -0.586    0.561    
    Sep     -275129629  527276161  -0.522    0.604    
    Oct     -218035419  527276161  -0.414    0.681    
    Nov     -159814080  527276161  -0.303    0.763

Básicamente, todos los coeficientes de estacionalidad no son estadísticamente significativos.

Para ejecutar la regresión lineal, uso la siguiente función:

lm.r = lm(Yvar~Var$Jan+Var$Feb+Var$Mar+Var$Apr+Var$May+Var$Jun+Var$Jul+Var$Aug+Var$Sep+Var$Oct+Var$Nov)

donde configuré Yvar como una variable de serie temporal con frecuencia mensual (frecuencia = 12).

También trato de tener en cuenta el componente de tendencia de la serie de tiempo, incluida una variable de tendencia a la regresión. Sin embargo, el resultado no cambia.

                  Estimate Std. Error t value Pr(>|t|)    
    (Intercept) 3600646404   96286811  37.395   <2e-16 ***
    Jan     -144950487  117138294  -1.237    0.222    
    Feb     -158048960  116963281  -1.351    0.183    
    Mar      -76038236  116804709  -0.651    0.518    
    Apr      -64792029  116662646  -0.555    0.581    
    May      -95757949  116537153  -0.822    0.415    
    Jun     -125011055  116428283  -1.074    0.288    
    Jul     -127719697  116336082  -1.098    0.278    
    Aug     -137397646  116260591  -1.182    0.243    
    Sep     -146478991  116201842  -1.261    0.214    
    Oct     -132268327  116159860  -1.139    0.261    
    Nov     -116930534  116134664  -1.007    0.319    
    trend     42883546    1396782  30.702   <2e-16 ***

Por lo tanto, mi pregunta es: ¿estoy haciendo algo mal en el análisis de regresión?

Mattiace
fuente
1
@forecaster, aquí hay una respuesta a su pregunta (OP dice decomposeque Rse utiliza la función en ).
Richard Hardy
1
Al leer el archivo de ayuda de la decomposefunción, parece que la función no prueba si hay estacionalidad. En cambio, solo obtiene promedios para cada temporada, resta la media y llama a esto el componente estacional. Por lo tanto, produciría un componente estacional independientemente de si hay un componente estacional subyacente verdadero o solo ruido. Sin embargo, esto no explica por qué sus tontos son insignificantes, aunque usted dice que la estacionalidad es visible a partir de una gráfica de los datos. ¿Podría ser que su muestra es demasiado pequeña para obtener dummies estacionales significativos? ¿Son conjuntamente significativos?
Richard Hardy
3
Debe mirar las escalas, el gráfico estacional muestra que la variación estacional está entre -0.02 y +0.04, mientras que los valores reales oscilan entre 4 mil millones y 6 mil millones. La función de descomposición obliga a sus datos a mostrar cierta estacionalidad, por eso muestra un valor insignificante. No hay estacionalidad en sus datos.
pronosticador
1
Pensé que la estacionalidad se trata más de movimientos con cierta frecuencia "fija" que de la magnitud del movimiento. Las escalas son diferentes ya que el primer gráfico muestra un saldo (en términos de libras) y el segundo es el cambio (expresado en términos porcentuales). Acabo de intentar volver a ejecutar la regresión: si tomo en cuenta una tendencia polinómica, algún coeficiente comienza a ser significativo. Supongo que, como sugirió @danno, la tendencia es muy significativa.
Mattiace
1
La prueba de Canova y Hansen puede brindarle más información sobre la presencia y la estabilidad de un patrón estacional en sus datos. Para algunas aplicaciones de esta prueba, consulte, por ejemplo, esta publicación , que también proporciona el enlace al documento original y al código de muestra.
javlacalle

Respuestas:

1

¿Estás haciendo la regresión en los datos después de haber eliminado la tendencia? Tiene una tendencia positiva, y su firma estacional probablemente esté enmascarada en su regresión (la varianza debido a la tendencia o error, es mayor que debido al mes), a menos que haya contabilizado la tendencia en Yvar ...

Además, no estoy terriblemente seguro con las series de tiempo, pero ¿no debería asignarse a cada observación un mes, y su regresión se parece a esto?

lm(Yvar ~ Time + Month)

Disculpas si eso no tiene sentido ... ¿La regresión tiene más sentido aquí?

danno
fuente
Time+VarFeb+...+Var
Sería útil ver algunas líneas de sus datos. Pero, imagino que tienes tres columnas, Tiempo, Yvar, Mes. Las filas son observaciones. Por lo tanto, creo que los factores en su lm () serían Tiempo y Mes (no los niveles de factores de Mes). Además, creo que hay algunos problemas con lm () en series de tiempo ... la observación no es independiente, temporalmente autocorrelacionada.
danno
1

En su descripción gráfica de la serie de tiempo, es obvio que la "tendencia", un componente lineal en el tiempo, es el contribuyente más sustancial a la realización. Comentaríamos que el aspecto más importante de esta serie temporal es el aumento estable cada mes.

Después de eso, comentaría que la variación estacional es minúscula en comparación. No es sorprendente, por lo tanto, con medidas mensuales tomadas durante 6 años (un total de solo 72 observaciones), el modelo de regresión lineal no tiene la precisión para identificar ninguno de los contrastes de 11 meses como estadísticamente significativo. Es, además, no es sorprendente que el efecto del tiempo no alcanzó significación estadística, ya que es el mismo incremento lineal de aproximadamente constante que ocurre durante los 72 observaciones, condicionada a su efecto estacional.

La falta de significación estadística para cualquiera de los contrastes de 11 meses no significa que no haya efectos estacionales. De hecho, si tuviera que usar un modelo de regresión para determinar si existe alguna estacionalidad, la prueba apropiada es la prueba de 11 grados de libertad anidada que evalúa simultáneamente la importancia estadística del contraste de cada mes. Obtendría dicha prueba realizando un ANOVA, una prueba de razón de probabilidad o una prueba sólida de Wald. Por ejemplo:

library(lmtest) model.mt <- lm(outcome ~ time + month) model.t <- lm(outcome ~ time) aov(model.mt, model.t) lrtest(model.mt, model.t) library(sandwich) ## autoregressive consistent robust standard errors waldtest(lrtest, lmtest, vcov.=function(x)vcovHAC(x))

AdamO
fuente
0

No sé si es su caso, pero eso me sucedió cuando comencé a analizar series temporales en R y el problema era que no había indicado correctamente el período de series temporales al crear el objeto de series temporales para descomponerlo. Hay un parámetro en la función de serie temporal que le permite especificar su frecuencia. Al hacerlo, descompone correctamente sus tendencias estacionales.

jmnavarro
fuente
jmnavarro, definí la frecuencia correctamente en la función de descomposición (= 12 ya que tengo datos mensuales). De hecho, estoy contento con el resultado de esta función. Mi pregunta es por qué no encuentro el mismo resultado (la estacionalidad es significativa) cuando hago una regresión lineal usando variables ficticias. Lo hice con R y Excel y los resultados son los mismos: coeficientes ficticios no estadísticamente significativos. Esto está en contra de lo que he encontrado anteriormente en la función de descomposición. No entiendo si me estoy perdiendo algo aquí
Mattiace
Es cierto, lo siento, no entendí completamente tu pregunta. Sería útil si pudiera publicar su código, por lo que podríamos intentar reproducirlo.
jmnavarro