【问题标题】:In-sample prediction interval for ARIMA in PythonPython中ARIMA的样本内预测区间
【发布时间】:2020-07-09 16:47:12
【问题描述】:

我正在使用 statsmodels ARIMA 来构建模型并给出估计值。 predict() 可用于给出样本内模型估计/结果。 predict() 可用于给出样本外估计和预测区间。我需要样本内模型结果的预测区间。有什么可以使用的操作吗?样本内可以调用 predict() 吗?

【问题讨论】:

    标签: python prediction statsmodels arima


    【解决方案1】:

    如果可能,您应该改用 SARIMAX 模型,该模型具有更多功能,并且未来会得到更好的支持(ARIMA 模型将在下一个版本中弃用)。然后,结果对象将具有称为 get_predictionget_forecast 的方法,这将允许您创建一个新的结果对象,并使用您的新值进行扩展。

    获取预测区间的语法略有不同,但它支持样本内和样本外的区间。

    from statsmodels.tsa.api import SARIMAX
    model = SARIMAX(timeseries, order=(1, 0, 6))
    results = model.fit()
    
    pred = results.get_prediction(start=..., end=...)
    print(pred.predicted_mean)        # prediction
    print(pred.conf_int(alpha=0.05))  # confidence interval
    
    fcast = results.get_forecast(steps=...)
    print(fcast.predicted_mean)        # forecast
    print(fcast.conf_int(alpha=0.05))  # confidence interval
    

    【讨论】:

    • 谢谢你 - 让我更进一步!一次更新,必须从状态空间调用 SARIMAX,例如,import statsmodels.api as apimodel = api.tsa.statespace.SARIMAX(srs, order=(p, d, q))
    • 很高兴有帮助,但您的更新不正确 - 我发布的代码有效,您发布的代码可以使用 api.tsa.SARIMAX
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-01
    • 1970-01-01
    • 2016-02-13
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    • 2017-07-28
    相关资源
    最近更新 更多