时间序列分析-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 #返回预测结果

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐