Dzm*_*rka 7 python statsmodels arima
如何生成“较低”和“较高”预测,而不仅仅是“yhat”?
import statsmodels
from statsmodels.tsa.arima.model import ARIMA
assert statsmodels.__version__ == '0.12.0'
arima = ARIMA(df['value'], order=order)
model = arima.fit()
Run Code Online (Sandbox Code Playgroud)
现在我可以生成“yhat”预测
yhat = model.forecast(123)
Run Code Online (Sandbox Code Playgroud)
并获取模型参数的置信区间(但不适用于预测):
model.conf_int()
Run Code Online (Sandbox Code Playgroud)
但如何生成yhat_lower和yhat_upper预测呢?
cfu*_*ton 15
一般来说,forecast和predict方法仅产生点预测,而get_forecast和get_prediction方法产生包括预测区间的完整结果。
在您的示例中,您可以执行以下操作:
forecast = model.get_forecast(123)
yhat = forecast.predicted_mean
yhat_conf_int = forecast.conf_int(alpha=0.05)
Run Code Online (Sandbox Code Playgroud)
如果您的数据是 Pandas Series,则将yhat_conf_int是一个具有两列的 DataFrame,lower <name>并且upper <name>,其中<name>是 Pandas Series 的名称。
如果您的数据是 numpy 数组(或 Python 列表),那么yhat_conf_int将是一个(n_forecasts, 2)数组,其中第一列是间隔的下半部分,第二列是上半部分。