Это может показаться глупым вопросом, но я пробовал методы прогнозирования временных рядов, и как-то оба метода (Пророк и Авто-Арима), которые я пробовал, казалось, давали прогнозы в возрастающем порядке?
Какие могут быть возможные причины для получения постоянно растущих прогнозов? Я думаю, что это может быть связано с фактором сезонности, но я не совсем уверен.
Я могу поделиться кодом, если требуется.
Код выглядит следующим образом:
data_v2 = pd.read_csv('data_v1.csv')
data_v2.shape
data_v2.head()
data_v2.dtypes
data_v2['Date'] = pd.to_datetime(data_v2.Date,format='%m/%d/%Y')
data_v2.index = data_v2['Date']
#preparing data
data_v2.rename(columns={'Invoice Amount': 'y', 'Date': 'ds'}, inplace=True)
data_v2.head()
#train and validation
train = data_v2[:16]
train.shape
valid = data_v2[16:]
valid.shape
#fit the model
model = Prophet()
model.fit(train)
#predictions
close_prices = model.make_future_dataframe(periods=len(valid))
forecast = model.predict(close_prices)
forecast.head()
#rmse
forecast_valid = forecast['yhat'][16:]
rms=np.sqrt(np.mean(np.power((np.array(valid['y'])-np.array(forecast_valid)),2)))
print(rms)
valid['Predictions'] = 0
valid['Predictions'] = forecast_valid.values
plt.plot(train['y'])
plt.plot(valid[['y', 'Predictions']])
# Plot the forecast
f, ax = plt.subplots(1)
f.set_figheight(5)
f.set_figwidth(15)
fig = model.plot(forecast, ax=ax)
plt.show()
fig = model.plot_components(forecast)
Ниже приведены прогнозы:
0 30505.608982
1 31618.779403
2 32731.949825
3 33737.394077
4 34850.564499
5 35927.826201
6 37040.996625
7 38118.258327
8 39231.428751
9 40344.599176
10 41421.860877
11 42535.031302
12 43612.293004
13 44725.463429
14 45838.633854
15 46844.078108
16 46879.986832
17 46915.895555
18 46951.804279
19 46987.713002
20 47023.621725
21 47059.530449
22 47095.439172
23 47131.347896
Ниже приведены фактические значения:
2016-12-01 63662.5
2017-01-01 35167.5
2017-02-01 24810.0
2017-03-01 25352.5
2017-04-01 19355.0
2017-05-01 21860.0
2017-06-01 21420.0
2017-07-01 30260.0
2017-08-01 26810.0
2017-09-01 29510.0
2017-10-01 84722.5
2017-11-01 71706.5
2017-12-01 44935.0
2018-01-01 43835.0
2018-02-01 35405.0
2018-03-01 40307.5
2018-04-01 26665.0
2018-05-01 27395.0
2018-06-01 89142.5
2018-07-01 100497.5
2018-08-01 41722.5
2018-09-01 30760.0
2018-10-01 183562.5
2018-11-01 90650.0
Заранее спасибо!