You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

statsmodels arma_generate_sample建模异常及ARIMA trend参数报错解决方案问询

问题修复方案

核心错误原因

  • 代码存在拼写错误:生成ARMA序列时定义了maparams变量,传入arma_generate_sample时误写为maparam,导致生成序列不符合预期
  • ARIMA接口参数不匹配:statsmodels 0.12.2版本的sm.tsa.ARIMA要求order参数为(p,d,q)三元组,你仅传入了两个元素;且该版本旧接口不支持trend参数,需调整接口调用方式
  • AR参数设置错误:你要拟合的是AR(1)过程yt = 0.33yt-1 + et,对应的AR多项式系数应为[1, -0.33],原代码设置的AR参数实际对应AR(2)过程,不符合你的需求

修复后代码

import numpy as np
import statsmodels.api as sm
from statsmodels.tsa.arima_process import arma_generate_sample

def make_arma(nobs=250):
    # 生成AR(1)过程 yt = 0.33*yt-1 + et
    arparams = np.array([0.33])
    maparams = np.array([0])
    # 构造AR、MA多项式系数
    arparams = np.r_[1, -arparams]
    maparams = np.r_[1, maparams]
    np.random.seed(2014)
    
    y = arma_generate_sample(arparams, maparams, nobs)
    # 拟合AR(1)模型,d=0,q=0,无趋势项,0.12.2版本使用ARMA接口更适配
    model = sm.tsa.ARMA(y, (1,0)).fit(trend='n', disp=0)
    data = model.params
 
    return data

data = make_arma(nobs=250)
print(data)

可选适配方案

如果一定要用sm.tsa.ARIMA接口,可将模型调用部分替换为如下代码即可兼容0.12.2版本:

from statsmodels.tsa.arima.model import ARIMA
model = ARIMA(y, order=(1,0,0), trend='n').fit()

内容的提问来源于stack exchange,提问作者moichitano

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 22:15:07