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

ARIMA(1,0,0)与滞后值回归的差异及R代码疑问

R中AR(1)模型:lm()与arima()的差异解析

一、两段代码的功能拆解

1. lm() 代码的作用

ar_1 <- lm(df$VALUE ~ lag(df$value))
summary(ar_1)

这段是用普通最小二乘法(OLS)拟合线性回归,把df$VALUE(注意这里和自变量的df$value大小写不同,若为笔误应统一为同一列)当作因变量,用它的一阶滞后值做自变量。

核心特点:

  • 自动丢弃因变量/自变量中含缺失值的行——lag()生成的第一个值为缺失,因此实际仅拟合从第2个到最后一个观测值。
  • 完全遵循普通线性回归的「残差独立同分布」假设计算系数和标准误,未考虑时间序列的自相关特性。

2. arima() 代码的作用

arima_values <- arima(df$value, order=c(1,0,0))
arima_values

这段是用极大似然估计(MLE)拟合纯AR(1)时间序列模型——order=c(1,0,0)对应ARIMA(p,d,q)参数:p=1(一阶自回归)、d=0(不做差分)、q=0(无移动平均),即标准的AR(1)模型。

核心特点:

  • 基于时间序列的概率模型框架,会利用全部观测值(不会直接丢弃第一个观测),通过模型逻辑处理初始值问题。
  • 拟合时会考虑时间序列的残差自相关结构,估计的系数和标准误均符合AR模型的统计假设。

二、结果不同的核心原因

虽然AR(1)的公式看起来和「一阶滞后回归」类似,但两者底层逻辑存在本质差异:

  • 估计方法不同:lm()以最小化残差平方和为目标(OLS),arima()默认以最大化模型似然函数为目标(MLE),优化逻辑不同导致结果差异。
  • 观测值利用不同:lm()少用了第一个观测(滞后后缺失),arima()用了全部数据,样本量差异会直接影响系数结果。
  • 标准误计算逻辑不同:lm()的标准误假设残差独立,完全未考虑时间序列自相关;arima()的标准误结合AR模型的自相关结构计算,更贴合时间序列特性。
  • 模型假设不同:arima()针对平稳时间序列设计,lm()无此限制,两者在中心化、截距处理的细节逻辑上也有差异。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 16:01:18