【发布时间】:2011-04-15 07:29:08
【问题描述】:
有没有人知道在 Python 中进行季节性调整的例程,甚至在 R 中更好?以下是一个示例数据集(南非 CPI),该数据集在一年的前几个月往往会出现峰值:
我想找出去除季节性因素的潜在压力,但我希望使用相当简单的东西,内置在任何一种语言中,而不是直接连接或使用像 Demetra 这样的外部包。
【问题讨论】:
标签: python r time-series
有没有人知道在 Python 中进行季节性调整的例程,甚至在 R 中更好?以下是一个示例数据集(南非 CPI),该数据集在一年的前几个月往往会出现峰值:
我想找出去除季节性因素的潜在压力,但我希望使用相当简单的东西,内置在任何一种语言中,而不是直接连接或使用像 Demetra 这样的外部包。
【问题讨论】:
标签: python r time-series
第 1 步。定义数据。
(从http://www.statssa.gov.za/publications/P0141/P0141February2011.pdf获取)
CPI <- c(102.3, 103.1, 104.3, 105.7, 106.2, 106.6, 107, 108.2, 108.5, 108.9,
108.9, 108.9, 109.2, 109.5, 110.2, 111.1, 111.3, 111.5, 111.5,
112.2, 112.3, 112.4, 112.6, 112.8, 113, 113.5, 114.3)
Step 2. 计算指数的每月变化,并转换为时间序列对象。
dCPI <- ts(CPI[-1] - CPI[-length(CPI)], start=2008, frequency=12)
步骤 3. 使用函数stl() 计算季节性、趋势和残差:
plot(stl(dCPI, "periodic"))
【讨论】:
s.window。详情请见?stl。