22 votos

¿Cómo añadir un componente periódico a un modelo de regresión lineal?

Tengo algunos datos de frecuencia acumulada. Una línea $y=ax+b$ parece que se ajusta muy bien a los datos, pero hay un movimiento cíclico/periódico en la línea. Me gustaría estimar cuándo la frecuencia acumulada alcanzará un determinado valor $c$ . Cuando grafico los residuos frente a los valores ajustados, obtengo un bonito comportamiento sinusoidal.

Ahora, para añadir otra complicación, observe que en los gráficos de residuos

alt text

hay dos ciclos que tienen valores más bajos que los demás, lo que representa un efecto de fin de semana que también hay que tener en cuenta.

Entonces, ¿qué hago ahora? ¿Cómo puedo combinar algún término coseno, seno o cíclico en un modelo de regresión para estimar aproximadamente cuándo será igual la frecuencia acumulada? $c$ ?

9voto

Jay Puntos 395

Puede probar el maravilloso stl() descompone (mediante iteración) el método loess() ajuste) en tendencia y estacional y resto. Esto puede recoger sus oscilaciones aquí.

8voto

retracile Puntos 1142

Si conoces la frecuencia de la oscilación, puedes incluir dos predictores adicionales, sen(2π w t) y cos(2π w t) -- ajusta w para obtener la longitud de onda deseada -- y esto modelará la oscilación. Necesitas ambos términos para ajustar la amplitud y el ángulo de fase. Si hay más de una frecuencia, necesitarás un término seno y coseno para cada frecuencia.

Si no sabe cuáles son las frecuencias, la forma estándar de aislar múltiples frecuencias es desdiferenciar los datos (obtener los residuos del ajuste lineal, como usted ha hecho) y ejecutar una transformada discreta de Fourier contra los residuos. Una forma rápida y sucia de hacerlo es en MS-Excel, que tiene una herramienta de análisis de Fourier en el complemento de análisis de datos. Ejecute el análisis contra los residuos, tome el valor absoluto de las transformadas y haga un gráfico de barras con el resultado. Los picos serán los principales componentes de frecuencia que desea modelar.

Cuando añada estos predictores cíclicos, preste mucha atención a sus valores p en la regresión y no sobreajuste. Utiliza sólo las frecuencias que sean estadísticamente significativas. Por desgracia, esto puede dificultar un poco el ajuste de las frecuencias bajas.

4voto

jldugger Puntos 7490

Empecemos por observar que el ajuste por mínimos cuadrados ordinarios para estos datos es probablemente inadecuado. Si se supone, como es habitual, que los datos individuales acumulados tienen componentes de error aleatorios, entonces el error en los datos acumulados ( no el frecuencias acumuladas --que es algo diferente de lo que tienes) es la suma acumulada de todos los términos de error. Esto hace que los datos acumulados sean heteroscedásticos (se vuelven cada vez más variables con el tiempo) y estén fuertemente correlacionados positivamente. Como estos datos tienen un comportamiento tan regular, y hay tantos de ellos, no hay mucho problema con la ajuste que obtendrá, pero sus estimaciones de errores, sus predicciones (que es de lo que trata la pregunta) y, sobre todo, sus errores estándar de predicción pueden estar muy equivocados.

Un procedimiento estándar para analizar estos datos comienza con los valores originales. Se toman las diferencias diarias para eliminar el componente sinusoidal de alta frecuencia. Se toman las diferencias semanales para eliminar un posible ciclo semanal. Analiza lo que queda. ARIMA La modelización es un enfoque flexible y potente, pero empiece por lo más sencillo: grafique esos datos diferenciados para ver qué está pasando, y siga a partir de ahí. Tenga en cuenta también que, con menos de dos semanas de datos, sus estimaciones del ciclo semanal serán pobres y esta incertidumbre dominará la incertidumbre en las predicciones.

2voto

Berek Bryan Puntos 349

Es evidente que la oscilación dominante tiene periodo de un día. Parece que también hay componentes de menor frecuencia relacionados con el día de la semana, por lo que hay que añadir un componente con frecuencia de una semana (es decir, una séptima parte de un día) y sus primeros armónicos. Eso da un modelo de la forma

$$\mbox{E}(y) = c + a_0 \cos(2\pi t) + b_0 \sin(2\pi t) + a_1 \cos(2 \pi t/7) + b_1 \sin(2 \pi t/7) + a_2 \cos(4 \pi t/7) + b_2 \sin(4 \pi t/7) + \ldots $$

- asumiendo $t$ se mide en días. Aquí $y$ es el en bruto datos, no su suma acumulada.

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