Tengo datos de ventas diarias que tienen 3 componentes diferentes de estacionalidad- Día de la semana Día del mes y Semana del año. ¿Cómo puedo encontrar los índices de estacionalidad para cada uno de ellos?
Respuesta
¿Demasiados anuncios?Este es un ejemplo que utiliza datos formateados como tsibble
.
library(tidyverse)
library(tsibble)
library(feasts)
library(tsibbledata)
daily_elec <- vic_elec %>%
index_by(Date) %>%
summarise(Demand = sum(Demand))
daily_elec %>%
model(STL(Demand)) %>%
components()
#> # A dable: 1,096 x 8 [1D]
#> # Key: .model [1]
#> # STL Decomposition: Demand = trend + season_year + season_week + remainder
#> .model Date Demand trend season_year season_week remainder
#> <chr> <date> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 STL(D… 2012-01-01 2.22e5 2.71e5 -26667. -20494. -1158.
#> 2 STL(D… 2012-01-02 2.59e5 2.62e5 -21193. 5507. 11979.
#> 3 STL(D… 2012-01-03 2.67e5 2.54e5 -7617. 3237. 17041.
#> 4 STL(D… 2012-01-04 2.22e5 2.46e5 -7952. -9226. -7078.
#> 5 STL(D… 2012-01-05 2.11e5 2.39e5 1153. -1718. -27750.
#> 6 STL(D… 2012-01-06 2.10e5 2.31e5 -25564. 20570. -16173.
#> 7 STL(D… 2012-01-07 2.03e5 2.24e5 -26256. 2318. 2718.
#> 8 STL(D… 2012-01-08 1.93e5 2.22e5 -6154. -20529. -2150.
#> 9 STL(D… 2012-01-09 2.14e5 2.20e5 -7003. 5182. -4400.
#> 10 STL(D… 2012-01-10 2.15e5 2.19e5 -8846. 2817. 1796.
#> # … with 1,086 more rows, and 1 more variable: season_adjust <dbl>
Creado el 2020-02-14 por el paquete reprex (v0.3.0)
¿Está seguro de que tiene efectos de día del mes? Necesitarían un manejo muy cuidadoso debido a las diferentes duraciones de los meses, por lo que no es posible un índice estacional periódico. Si están inducidos por eventos de fin de mes (como las prácticas contables), entonces es posible estimarlos mediante un modelo aplicado al término de resto anterior con una variable ficticia que indique el final de cada mes.