python ARIMA时间序列分析之forecast 、predict and get_prediction
ARIMA forecast 、predict and get_prediction被forecast与predict困扰一段时间,网络上众说纷纭。这次做数据处理,对比得到如下粗略结论,没有讨论参数的使用细节(可参看帮助文档):版本:statsmodels0.13.1forecast 参数steps,表示预报多少个时间点(fit样本数据后)。eg:x=[1,2,3,4,5,6]…model.fit
时间序列分析-2 forecast 、predict
forecast and get_forcast、predict and get_prediction
forecast 参数steps,表示预报多少个时间点(fit样本数据后)。
eg:
from statsmodels.tsa.arima.model import ARIMA
y=[1,2,3,4,5,6]
model=ARIMA(y,order=(1,1,0))
m=model.fit()
m.forecast(5)
在fit数据序列后(样本外),forecast5个点(为7,8,9,10,11)y的值。
predict 参数(start,end) ,start起始时间点,end结束时间点。
起始、结束都没有限制(in sample与out of sample 均可),end大于start。
样本内的为拟合值,样本外为预测。
如果只给一个int值,缺省认为:
大于fit样本的最后时间点,预测这个时刻的值。
小于fit样本的最后时间点,predict当前值到fit样本的最后时间点。
eg:
x=[1,2,3,4,5,6]
model=ARIMA(y,order=(1,1,0))
m=model.fit()
m.predict(2) #predict x等于2,3,4,5,6的y
m.predict(7) #forecast x等于7的y
get_prediction, get_forecast基本同上
但返回的值不一样。
他们都给出置信区间conf_int
预测结果为置信区间的均值。
通过.predicted_mean或forecast_mean属性获取预测值。
eg:
from statsmodels.tsa.arima.model import ARIMA
y=[1,2,3,4,5,6]
model=ARIMA(y,order=(1,1,0))
m=model.fit()
result=m.get_prediction(2)
result.conf_int() #返回置信区间
result.predicted_mean #返回预测结果
更多推荐
所有评论(0)