R或Python中的季节性调整

Tho*_*wne 3 python r time-series

有没有人知道在Python中进行季节性调整的常规,甚至更好?以下是一个示例数据集(南非CPI),该数据集在今年的前几个月往往会出现峰值:

SA m/m CPI

我想找到剥离季节性因素的潜在压力,但我理想的是喜欢使用一种相当简单的东西,用任何一种语言构建,而不是直接连接或使用像Demetra这样的外部包.

And*_*rie 14

步骤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)
Run Code Online (Sandbox Code Playgroud)

步骤2.计算索引的每月更改,并转换为时间序列对象.

dCPI <- ts(CPI[-1] - CPI[-length(CPI)], start=2008, frequency=12)
Run Code Online (Sandbox Code Playgroud)

步骤3.使用该函数stl()计算季节性,趋势和残差:

plot(stl(dCPI, "periodic"))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

  • 步骤4.然后从数据中减去季节性组件以获得经季节性调整的数据. (4认同)