zoukankan      html  css  js  c++  java
  • statsmodels.tsa.seasonal.seasonal_decompose使用移动平均线进行季节性分解

    所谓分解就是将时序数据分离成不同的成分,分解有:长期趋势Trend、季节性seasonality和随机残差residuals

    statsmodels使用的X-11分解过程,它主要将时序数据分离成长期趋势、季节趋势和随机成分。 与其它统计软件一样,statsmodels也支持两类分解模型,加法模型和乘法模型,model的参数设置为"additive"(加法模型)和"multiplicative"(乘法模型)。

    首先看看函数

    statsmodels.tsa.seasonal.seasonal_decompose(x,model = 'additive',filt = None,period = None,two_side = True,extrapolate_trend = 0)

    参数:

    x:array_like,被分解的数据

    model:{“additive”, “multiplicative”}, optional,"additive"(加法模型)和"multiplicative"(乘法模型)

    fil:tarray_like, optional,用于滤除季节性成分的滤除系数。滤波中使用的具体移动平均法由two_side确定

    period:int, optional,系列的时期。如果x不是pandas对象或x的索引没有频率,则必须使用。如果x是具有时间序列索引的pandas对象,则覆盖x的默认周期性。

    two_sided:bool, optional,滤波中使用的移动平均法。如果为True(默认),则使用filt计算居中的移动平均线。如果为False,则滤波器系数仅用于过去的值

    extrapolate_trend:int or ‘freq’, optional,如果设置为> 0,则考虑到许多(+1)最接近的点,由卷积产生的趋势将在两端外推线性最小二乘法(如果two_side为False,则为单一个最小二乘)。如果设置为“频率”,请使用频率最近点。设置此参数将导致趋势或残油成分中没有NaN值。

    具体例子,数据我暂时找不出来,到时候再补上,再替换,现在主要任务是知道怎么用法,以及返回是什么

    # 下面深入分解:长期趋势Trend、季节性seasonality和随机残差residuals。
    
    # 强行补充小知识:平稳性处理之“分解”
    # 所谓分解就是将时序数据分离成不同的成分。statsmodels使用的X-11分解过程,它主要将时序数据分离成长期趋势、季节趋势和随机成分。
    # 与其它统计软件一样,statsmodels也支持两类分解模型,加法模型和乘法模型,model的参数设置为"additive"(加法模型)和"multiplicative"(乘法模型)。
    
    import statsmodels.api as sm  # 导入统计建模模块
    # multiplicative
    res = sm.tsa.seasonal_decompose(ts.values,freq=12,model="multiplicative") 
    # 这里用到的.tsa.seasonal_decompose()函数,经尝试:参数ts.values时,横坐标是Time;参数ts时,横坐标是date_block_num。其他不变。
    # freg这个参数容后研究,这里暂且猜测是周期12个月。
    
    # plt.figure(figsize=(16,12))
    fig = res.plot()
    # fig.show()  # 此句,可加可不加。
    
    # 得到不同的分解成分,接下来可以使用时间序列模型对各个成分进行拟合。

  • 相关阅读:
    电脑U盘启动制作
    windows系统使用
    CentOS升级Openssl至openssl-1.1.0
    PHP编译安装时常见错误解决办法
    阿里 Linux服务器外网无法连接MySQL解决方法
    centos 下 sphinx安装和配置
    集成百度编辑器 ueditor 后端配置项没有正常加载,上传插件不能正常使用!
    nginx 环境 thinkphp 隐藏index.php
    在 Linux 下搭建 Git 服务器
    MySQL远程连接不上的解决方法
  • 原文地址:https://www.cnblogs.com/cgmcoding/p/14155569.html
Copyright © 2011-2022 走看看