¿Cuál es mejor, stl o descomponer?

10

Estoy haciendo análisis de series de tiempo usando R. Tengo que descomponer mis datos en componentes de tendencia, estacionales y aleatorios. Tengo datos semanales por 3 años. He encontrado dos funciones en R - stl()y decompose(). He leído que stl()no es bueno para la descomposición multiplicativa. ¿Alguien puede decirme en qué escenario se pueden utilizar estas funciones?

Arushi
fuente
1
Usted tendrá que proporcionar un cierto contexto a su problema, de lo contrario tendremos que migrar a cambio de pila o cercano con la recomendación intenta ?stly ?decompose.
AdamO

Respuestas:

4

Yo diría STL. STL hace tendencia y estacional ver: http://www.wessa.net/download/stl.pdf

Descomponer solo estacional ver la documentación aquí: http://stat.ethz.ch/R-manual/R-devel/library/stats/html/decompose.html

Cuando trabaje con ellos, asegúrese de incluir su tipo de tendencia (multiplicativo, aditivo) y su tipo de temporada (multiplicativo, aditivo). Las tendencias también pueden tener un factor de amortiguación.

Por descomposición multiplicativa supongo que te refieres en el caso de tendencia. No es probable que use la descomposición multiplicativa a menos que esté descomponiendo una función de crecimiento exponencial.

ccsv
fuente
La descomposición multiplicativa en el caso simple es donde el modelo subyacente es Y = error de tendencia * estacional *. Los modelos multiplicativos surgen en contextos no exponenciales. Por ejemplo, con las ventas tiene un cierto nivel de tráfico y una cierta tasa de conversión, por lo que el componente estacional varía proporcionalmente con la tendencia. La solución es la que describe Natalie.
5

Desventajas de la decomposefunción en R:

  1. La estimación de la tendencia no está disponible para las primeras y últimas pocas observaciones.
  2. Se supone que el componente estacional se repite de año en año.

Entonces preferiría STL. Es posible obtener una descomposición multiplicativa tomando primero registros de los datos y luego transformando de nuevo los componentes.

Natalie
fuente
1

STL es una técnica más avanzada para extraer la estacionalidad, en el sentido de que permite que la estacionalidad varíe, lo cual no es el caso decompose.

Para comprender cómo funciona STL:

  • el algoritmo estima cada sub-serie estacional (en una estacionalidad de 7 días, estimará 7 sub-series: la serie del lunes, la serie del martes, etc.),
  • luego estimará la estacionalidad local ejecutando una regresión loess en cada sub-serie.

Esto permite capturar el efecto variable en la estacionalidad. Si no desea que su estacionalidad varíe (en otras palabras, el efecto estimado de cada sub-serie se mantendrá constante a lo largo de toda la serie de tiempo), puede especificar que la ventana estacional sea infinita o "periódica". Esto es equivalente a promediar cada sub-serie y otorgar un peso igual a todos los puntos (ya no tiene ningún efecto "local"). decomposees esencialmente lo mismo, ya que los subcomponentes estacionales permanecerán constantes en toda la serie de tiempo completo, que es una configuración especial de STL.

Esto está bastante bien explicado aquí: https://www.otexts.org/fpp/6/1 .

STL estima la estacionalidad de manera aditiva. Como se explicó algunas páginas más adelante en la fuente anterior, puede estimar la estacionalidad de forma multiplicativa recurriendo a la transformación logarítmica (o transformación Cox-Box).

Tanguy
fuente