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

如何在forecast包的Arima()中指定AR/MA参数及提取AR系数?

R语言forecast包Arima函数问题解答

一、手动指定AR参数报错的解决办法

你尝试用Arima(yt, order = c(1, 0, 0), ar = c(0.8000))时报错,是因为forecast::Arima()函数并不通过ar参数直接固定系数。要手动设定AR或MA参数的固定值,需使用fixed参数:

  • fixed是一个向量,对应模型所有待估计参数的位置,固定值填具体数字,需自由估计的参数填NA
  • 对于ARIMA(1,0,0)模型,默认会包含均值项(除非指定include.mean=FALSE),所以参数顺序是:AR系数在前,均值在后

正确示例代码:

# 固定AR(1)系数为0.8,不包含均值项
Arima(yt, order = c(1, 0, 0), fixed = c(0.8), include.mean = FALSE)

# 若需保留均值项,让均值自由估计
Arima(yt, order = c(1, 0, 0), fixed = c(0.8, NA))

二、提取auto.arima模型的AR参数系数

从auto.arima()拟合的模型中提取AR参数,直接从模型对象的系数属性中筛选即可:

方法1:正则匹配筛选

auto_fit <- auto.arima(yt)
# 获取所有系数
all_coefs <- coef(auto_fit)
# 提取名称以"ar"开头的系数(即AR参数)
ar_coefs <- all_coefs[grepl("^ar", names(all_coefs))]
print(ar_coefs)

方法2:结合arimaorder定位

如果需要结合arimaorder()的结果,可先获取AR阶数,再提取对应数量的前序系数(适用于无MA项或均值项位置明确的情况):

order <- yt %>% auto.arima %>% arimaorder
ar_order <- order[1]
ar_coefs <- coef(auto_fit)[1:ar_order]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 10:02:31