У меня есть данные о продажах товара за два года и за каждый месяц.Первый столбец - индекс строки [1:24], а второй столбец - показатель продаж.Я хочу использовать STL
, чтобы найти seasonal
& trend
компонент.Я попытался;
ts_data<- ts(mydata[,-1],frequency = 12,start=c(2016,1))
ts_data
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
2016 1250 760 2590 7990 2070 6770 4760 4270 2550 6070 4580 2350
2017 1510 4140 2450 3010 1070 1230 850 490 170 1970 890 1871
Я вижу, что данные теперь являются объектом временной серии с правильными временными метками.Но
ts.stl <- stl(ts_data,"periodic")
дает мне известную ошибку:
Error in stl(ts_data, "periodic") :
series is not periodic or has less than two periods
Я вижу, что данные являются периодическими и распространяются в течение двух лет.Итак, в чем причина?
Удивительно, но те же данные работают с frequency=10
, и я могу сгенерировать числа.Но имея 10 частот, он идет в 2018, что неправильно и совершенно неприемлемо для моего случая.
ts_data<- ts(mydata[,-1],frequency = 10,start=c(2016,1))
ts.stl <- stl(ts_data,"periodic")
plot(ts.stl)
ts.stl
Call:
stl(x = ts_data, s.window = "periodic")
Components
Time Series:
Start = c(2016, 1)
End = c(2018, 4)
Frequency = 10
seasonal trend remainder
2016.0 -699.45750 2963.3599 -1013.90241
2016.1 -920.17520 3160.1418 -1479.96656
2016.2 -864.22434 3356.9236 97.30074
2016.3 2246.22241 3521.8163 2221.96126
2016.4 -810.00737 3686.7091 -806.70170
2016.5 1872.04426 3827.6781 1070.27765
2016.6 -50.90412 3968.6471 842.25700
2016.7 -174.47317 4057.6799 386.79324
2016.8 -1183.04223 4146.7128 -413.67053
2016.9 584.01391 3922.6366 1563.34950
2017.0 -699.45750 3698.5604 1580.89707
2017.1 -920.17520 3391.5549 -121.37975
2017.2 -864.22434 3084.5495 -710.32512
2017.3 2246.22241 2728.3775 -834.59993
2017.4 -810.00737 2372.2056 887.80179
2017.5 1872.04426 2129.8152 -991.85943
2017.6 -50.90412 1887.4248 -766.52066
2017.7 -174.47317 1704.6805 -300.20736
2017.8 -1183.04223 1521.9363 511.10594
2017.9 584.01391 1341.6322 -1435.64615
2018.0 -699.45750 1161.3282 -291.87070
2018.1 -920.17520 999.3977 1890.77746
2018.2 -864.22434 837.4673 916.75706
2018.3 2246.22241 689.0683 -1064.29067
Как найти компоненты, использующие frequency=12
в STL
?Пожалуйста, ведите меня.