Я пытаюсь найти сезонную модель с меньшим количеством данных.У меня есть только 24 точки данных (объем продаж в тысячах), начиная с 16 марта и заканчивая 18 февраля.Данные, как показано ниже:
Сначала я попытался преобразовать данные во временные ряды.Я не взял первый столбец и позволил ts
сделать это для меня.
ts_data <- ts(mydata[,-1], frequency = 12, start = c(2016,3))
он прошел нормально, но я не могу использовать STL
на тех же данных, что и при получении знаменитого Error in stl(ts_data, "periodic") : series is not periodic or has less than two periods
Когда я пытался;ts_data <- ts(mydata[,-1], frequency = 10, start = c(2016,3))
, тогда STL
работает нормально, но мои данные заканчиваются в 18 июня, так как они считают, что у меня есть 10 наблюдений за каждый период.Это неправда, но ts_data
принимает команду STL
без ошибок.Вывод следующий:
Call:
stl(x = ts_data, s.window = "periodic")
Components
Time Series:
Start = c(2016, 3)
End = c(2018, 6)
Frequency = 10
seasonal trend remainder
2016.2 5.449096 15.23066 1.3202494
2016.3 -2.767357 15.14101 -0.3736557
2016.4 -3.650507 15.05137 1.5991368
2016.5 -5.905129 14.93146 -8.0263291
2016.6 2.729855 14.81155 5.4585975
2016.7 7.420484 14.65062 -3.0711045
2016.8 5.111113 14.48969 0.3991935
2016.9 4.053484 14.36158 5.5849390
2017.0 -3.504146 14.23346 0.2706844
2017.1 -8.936881 13.80577 -1.8688916
2017.2 5.449096 13.37808 -0.8271799
2017.3 -2.767357 12.72198 7.0453734
2017.4 -3.650507 12.06588 -3.4153757
2017.5 -5.905129 11.49924 0.4058890
2017.6 2.729855 10.93260 -5.6624536
2017.7 7.420484 10.68900 2.8905152
2017.8 5.111113 10.44540 -0.5565159
2017.9 4.053484 10.68020 -5.7336869
2018.0 -3.504146 10.91500 -0.4108579
2018.1 -8.936881 11.23504 1.7018409
2018.2 5.449096 11.55508 -1.0041726
2018.3 -2.767357 11.93442 -7.1670609
2018.4 -3.650507 12.31376 1.3367484
2018.5 -5.905129 12.75389 7.1512443
Итак, мои вопросы:
- Как использовать
STL
, в то время как мои данные закончатся в 18 февраля, и я получусезонные числа? - Что означают отрицательные числа в столбце
seasonal
?Для июля 16 года показатель seasonal
составляет 7,42.Как я могу объяснить эту цифру в терминах сезонности? Пока я делаю ts
, для обоих случаев, таких как ts_data <- ts(mydata[,-1], frequency = 12, start = c(2016,3))
, ts_data выглядит как:
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
2016 22 12 13 1 23 19 20 24 11 3 2017 18 17 5 6 8 21 15 9 7 4 16 2 2018 10 14
& для ts_data <- ts(mydata[,-1], frequency = 10, start = c(2016,3))
, серия;
Time Series:
Start = c(2016, 3)
End = c(2018, 6)
Frequency = 10
[1] 22 12 13 1 23 19 20 24 11 3 18 17 5 6 8 21 15 9 7 4 16 2 10 14
attr(,"levels")
[1] 1,080 1,110 1,120 1,160 1,230 1,270 1,410 1,550 1,720 1,790 1,990 190 210 3,050 3,070 3,180 3,540 3,880 410 420 790
[22] 860 870 990
поэтому вместо фактических данных о продажах я получаю несколько разных чисел, например 22,12,13,1 ..... Как мы получаем цифры для фактических показателей и какобъяснить это тоже?
TIA