带统计模型的ARMA样本外预测

发布于 2021-01-29 17:48:37

我正在使用statsmodels来适应ARMA模型。

import statsmodels.api as sm
arma    = sm.tsa.ARMA(data, order =(4,4));
results = arma.fit( full_output=False, disp=0);

data一维数组在哪里。我知道要获得样本中的预测:

pred = results.predict();

现在,在给定第二个数据集的情况下data2,如何使用先前校准的模型来生成具有基于此观察值的预测(预测)的序列?

关注者
0
被浏览
47
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    我认为这是一个问题。如果您在github上提交一个文件,我将更可能记得添加类似的内容。预测机制(尚未)可用作面向用户的功能,因此您必须执行类似的操作。

    如果您已经适合模型,则可以执行此操作。

    # this is the nsteps ahead predictor function
    from statsmodels.tsa.arima_model import _arma_predict_out_of_sample
    res = sm.tsa.ARMA(y, (3, 2)).fit(trend="nc")
    
    # get what you need for predicting one-step ahead
    params = res.params
    residuals = res.resid
    p = res.k_ar
    q = res.k_ma
    k_exog = res.k_exog
    k_trend = res.k_trend
    steps = 1
    
    _arma_predict_out_of_sample(params, steps, residuals, p, q, k_trend, k_exog, endog=y, exog=None, start=len(y))
    

    这是向前迈出的新的预测步骤。您可以将其附加到y,并且需要更新残差。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看