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

如何为zoo时间序列子样本修改ACF/PACF代码识别SARIMA参数

针对Zoo时间序列拆分样本并分析ACF/PACF/TSDisplay的方法

核心思路

利用zoo包的window()函数按时间区间筛选子样本,结合forecast包的分析函数,对每个子样本的差分序列做ACF/PACF/TSDisplay分析,实现类似Stata的条件筛选分析效果。

具体代码实现

1. 加载必要包

library(zoo)
library(forecast)

2. 拆分Zoo序列为子样本

假设你的工业生产指数Zoo对象名为ip_zoo,按指定时间区间拆分:

# 拆分第一个子样本:2001Q4-2002Q4
sub1 <- window(ip_zoo, start = as.yearqtr("2001Q4"), end = as.yearqtr("2002Q4"))
# 拆分第二个子样本:2003Q1-2003Q4
sub2 <- window(ip_zoo, start = as.yearqtr("2003Q1"), end = as.yearqtr("2003Q4"))

注:如果是月度数据,时间格式改用as.yearmon(),季节性差分的lag设为12;若Zoo对象用Date类型索引,时间参数改用as.Date()转换。

3. 对每个子样本做差分并分析

先对序列做一阶差分+季节性差分(季度数据lag=4),再绘制ACF/PACF/TSDisplay:

# 处理第一个子样本
sub1_diff <- diff(diff(sub1), lag = 4) # 一阶差分后再做季节性差分
acf(sub1_diff, main = "ACF: 2001Q4-2002Q4 (一阶+季节性差分)")
pacf(sub1_diff, main = "PACF: 2001Q4-2002Q4 (一阶+季节性差分)")
tsdisplay(sub1_diff, main = "TS Display: 2001Q4-2002Q4 (一阶+季节性差分)")

# 处理第二个子样本,逻辑完全一致
sub2_diff <- diff(diff(sub2), lag = 4)
acf(sub2_diff, main = "ACF: 2003Q1-2003Q4 (一阶+季节性差分)")
pacf(sub2_diff, main = "PACF: 2003Q1-2003Q4 (一阶+季节性差分)")
tsdisplay(sub2_diff, main = "TS Display: 2003Q1-2003Q4 (一阶+季节性差分)")

4. 批量处理多个子样本

如果有大量子样本需要分析,用循环批量处理更高效:

# 定义所有需要分析的时间区间
sub_intervals <- list(
  c("2001Q4", "2002Q4"),
  c("2003Q1", "2003Q4"),
  c("2004Q1", "2005Q4"), # 可继续添加更多区间
  c("2006Q1", "2007Q4")
)

# 循环处理每个区间
for (interval in sub_intervals) {
  start_time <- as.yearqtr(interval[1])
  end_time <- as.yearqtr(interval[2])
  current_sub <- window(ip_zoo, start = start_time, end = end_time)
  
  # 差分处理
  current_diff <- diff(diff(current_sub), lag = 4)
  
  # 生成标题并绘图
  plot_title <- paste0("TS Display: ", interval[1], " ~ ", interval[2])
  tsdisplay(current_diff, main = plot_title)
}

关键注意事项

  • 差分顺序可根据需求调整(先季节性差分再一阶差分也可,保持分析逻辑统一即可);
  • 确保window()的时间格式与Zoo对象的索引类型完全匹配,避免筛选失败;
  • 若子样本长度过短,差分后可能有效数据不足,需合理设置子样本区间长度。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 20:42:37