我正在使用ARMA对未来4年进行时间序列预测。我的数据有一个恒定的上升趋势,但由于某种原因,预测会返回下降趋势。
from pandas import Series
import numpy as np
from scipy import stats
import pandas as pd
import matplotlib.pyplot as plt
import statsmodels.api as sm
from statsmodels.graphics.api import qqplot
from sklearn.metrics import mean_squared_error
dta = pd.read_csv('/Users/nsilverblatt/Downloads/test11111 - Sheet1 (4).csv', header=0)
x = dta['Total Revenue (in thousands)'].astype(float)
x.index = pd.Index(sm.tsa.datetools.dates_from_range('2011', '2016'))
print(x)
arma_mod = sm.tsa.ARMA(x, (2,0)).fit()
print(arma_mod.params)
my_predictions = arma_mod.predict('2016', '2020', dynamic=True)
print(my_predictions)
这是我的CSV数据,其中第一行是2011年的总收入,最后一行是2016年。
Total Revenue (in thousands)
3399886
3897900
4595798
4965460
5308164
5520344
以下是预测的减少:
2016-12-31 5.481435e+06
2017-12-31 5.465197e+06
2018-12-31 5.279251e+06
2019-12-31 4.975813e+06
2020-12-31 4.626178e+06