2011-04-15 176 views
3

有人知道一个例程在Python中进行季节性调整,甚至更好吗?下面是一个例子数据集(南非CPI),这往往有高峰在今年的前几个月:R或Python中的季节性调整

SA m/m CPI

我想找到的潜在压力剔除季节性因素的影响,但我最好喜欢使用一些相当直接的东西,内置到任何一种语言中,而不是直接连接或使用诸如Demetra的外部程序包。

回答

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) 

步骤2.计算在指数月变化,并转换为时间序列的对象。

dCPI <- ts(CPI[-1] - CPI[-length(CPI)], start=2008, frequency=12) 

步骤3.使用功能stl()计算季节性,趋势和残留物:

plot(stl(dCPI, "periodic")) 

enter image description here

+4

第4步:然后,从数据中减去季节性分量得到了季节性调整数据。 – 2011-04-15 17:30:44

+0

太棒了。非常感谢。 – 2011-04-17 12:14:25

+0

请问Andrie,“periodic”参数是什么意思?还请注意,dCPI的计算应为: dCPI < - ts((CPI [-1]/CPI [-length(CPI)] - 1),..... – 2011-05-16 10:37:40