首页 > 分享 > [方法]季节调整与hp滤波方法

[方法]季节调整与hp滤波方法

进行时间序列的数据分析时,季节因素调整与hp滤波是进行数据处理与准备工作的常见必要环节。本文简要梳理季节调整与hp滤波的应用场景,以及在Python中的实现方法。

1. 季节调整方法

季节调整的目的是剔除季节因素的影响,使得数据平滑。进行季节调整的目的其一是使得不同季节的数据具有可比性,其二是使得一般的时间序列模型能够适用于数据,例如我们观察到近期燃油价格上涨,想通过ARMA模型验证其趋势性,但燃油上涨的时间窗口在冬季,所以要通过季节调整方法剔除掉季节作用,余下的价格上涨才有验证的意义。

常用的季节调整方法包括:(1)求同比;(2)census X12/X13季节调整;(3)平滑分离方法。

1.1 求同比

Python中求同比非常简单,例如对于月度时间序列数据M2:

dM2 = M2.pct_change(12)

即可求出同比。

如果是季度数据,将函数参数换为4即可。而对于中国的某些数据,例如社会零售、固定资产投资等,其1月或2月的数据是没有的,按照周期长度相应调整参数即可。

求同比方法最为广泛使用,但不适用于带有零值或负值的数据。

1.2 census X12/X13季节调整

这里的“census”是指美国统计局(United States Census Bureau),所以美国的各种统计数据都是通过这套方法进行季节调整的。这套方法在学术界得到了广泛的使用。

方法的具体计算步骤,可参考官方网站(X-13ARIMA-SEATS Seasonal Adjustment Program),这里只简单给出一个使用案例:

from fredapi import Fred fred = Fred(api_key='XXXXXX') import statsmodels.api as sm M2NS = fred.get_series('M2NS') M2SL = fred.get_series('M2SL') X13PATH = 'C:WinX13x13asx13as.exe' bunch = sm.tsa.x13_arima_analysis(M2NS,x12path = X13PATH) bunch.seasadj

为了使用程序,需先在美国统计局网站上下载二进制程序到电脑,通过指定程序路径的方法在python中调用。在R语言中也要这样麻烦。

案例程序中从FRED网站下载了美国M2的月度数据,其中M2NS是未进行季节调整的数据,M2SL是季节调整后的数据。

但将bunch.seasadj的调整结果和M2SL进行比较,发现略有差异,这或许是其中使用的某些参数不一致所致。

1.3 平滑分离方法

Python的Statsmodels模块中提供了一种应用简单的季节调整方法——seasonal_decompose。

from fredapi import Fred fred = Fred(api_key='XXXXXX') import statsmodels.api as sm M2NS = fred.get_series('M2NS') M2SL = fred.get_series('M2SL') m2sd = sm.tsa.seasonal_decompose(M2NS,model='addictive', extrapolate_trend='freq') m2sd.trend m2sd.seasonal m2sd.resid

这样,M2NS就被分为了trend、seasonal和resid三个部分。如果模型选择了'multiplicative'的话,三个部分为相乘关系。

使用该函数需要注意的是,'extrapolate_trend'参数如果不指定,分解结果中得不到trend和resid值。

和M2SL比较一下会发现,这一方法得到的结果确实比census X12/X13方法差一些。

2. hp滤波

做宏观经济研究的应该都比较熟悉hp滤波了。该方法由Hodrick and Prescott(1997)提出,因为作者的原因被简称hp滤波。

from fredapi import Fred fred = Fred(api_key='XXXXXX') import statsmodels.api as sm M2SL = fred.get_series('M2SL') cycle, trend = sm.tsa.filters.hpfilter(M2SL, lamb=129600)

其中cycle和trend就分别是hp滤波得到的周期项和趋势项。根据Ravn and Uhlig(2002)的建议,对于年度数据lambda参数取值6.25(1600/44),对于季度数据取值1600,对于月度数据取值129600(1600*34)。

虽然hp滤波得到的趋势项一定程度上也剔除了季节因素,但个人习惯还是不要将hp滤波作为季节调整的方法。该滤波方法的主要应用还是在于提取经济周期(外生冲击)。笔者在处理经济数据时常在季节调整后再用hp滤波计算经济指标“超预期”的部分。

References

[1] Hodrick, R. J., & Prescott, E. C. (1997). Postwar US business cycles: an empirical investigation. Journal of Money, credit, and Banking, 1-16.

[2] Ravn, M. O., & Uhlig, H. (2002). On adjusting the Hodrick-Prescott filter for the frequency of observations. Review of economics and statistics, 84(2), 371-376.

相关知识

查找: 关键字=季节调整
时间序列预测季节性调整:分解方法与应用全解析
数字图像处理之椒盐噪声和中值滤波
信号处理中的噪声消除:常见方法与优缺点
不同季节如何调整多肉植物的养护方法?
什么是季节变动及调整?
中机试验取得一种基于相关滤波的玉米种子内部裂纹检测方法专利,可快速高效进行玉米内部裂纹无损检测,满足种子精细化、智能化及标准化需求
什么是季节调整?
时间序列中的季节调整:模型选择与实践,行业专家亲授
【元旦快乐】HP Latex花样装饰应用产品冲击节日促销季

网址: [方法]季节调整与hp滤波方法 https://m.huajiangbk.com/newsview375017.html

所属分类:花卉
上一篇: 有些人的“伤春悲秋”,是可以治愈
下一篇: 了解带有外生调节因子的季节性 A