精华内容
下载资源
问答
  • ARIMA模型的季节模型

    万次阅读 多人点赞 2017-06-26 20:02:10
    ARIMA模型可以对具有季节效应的序列建模,根据季节效应提取的难易程度可以分为简单季节模型与乘积季节模型

    ARIMA模型可以对具有季节效应的序列建模,根据季节效应提取的难易程度可以分为简单季节模型与乘积季节模型。

    简单季节模型

    简单季节模型是指序列中的季节效应和其效应之间是加法关系
    各种效应信息的提取都非常容易,通常简单的周期步长差分即可将序列中的季节信息提取充分,简单的低阶差分即可趋势信息提取充分,提取完季节信息和趋势信息之后的残差序列就是一个平稳序列,可以用ARMA模型拟合。
    R语言中用arima函数中的seasonal选项拟合季节模型,相关命令如下 :
    arima(x,order=,include.mean=,method=,transform.pars=,fixed=,seasonal=)

    -x:要进行模型拟合的序列命。
    -order:指定模型阶数。
    -include.mean:指定是否需要拟合常数项。
    -method:指定参数估计方法。
    -transform.pars:指定是否需要人为干预参数。
    -fixed:对疏系数模型指定疏系数的位置。
    -seasonal:指定季节模型的阶数与季节周期,该选项的命令格式为:
    seasonal = list(order=c(P,D,Q),period = pi)
    (1)加法模型:P=0,Q=0
    (2)乘法模型:P,Q不全为零

    拟合1962-1991年德国工人季度失业率序列

    f<-read.table("D:/R-TT/book4/4R/data/file19.csv",sep=",",header = T)
    x<-ts(f$unemployment_rate,start = c(1962,1),frequency = 4)
    plot(x)

    德国工人季节失业率序列时序图
    德国工人季节失业率序列时序图

    #1阶4步差分,并绘制出差分后序列的时序图
    x.dif<-diff(diff(x),4)
    plot(x.dif)

    1阶4步差分后序列时序图
    差分后序列自相关图与偏自相关图

    #绘制差分后序列自相关图和偏自相关图
    acf(x.dif)
    pacf(x.dif)

    1阶4步差分后序列自相关图
    阶4步差分后序列自相关图
    1阶4步差分后序列偏自相关图
    1阶4步差分后序列偏自相关图
    自相关系数拖尾,而偏自相关系数1阶,4阶显著非零,4阶之后截尾。综合差分与自相关信息。拟合加法模型ARIMA((1,4)(1,4),0)

    #拟合加法季节模型ARIMA((1,4),(1,4),0)
    x.fit<-arima(x,order = c(4,1,0),seasonal = list(order=c(0,1,0),period=4,transform.par=F,fixed = c(NA,0,0,NA)))
    x.fit
    Call:
    arima(x = x, order = c(4, 1, 0), seasonal = list(order = c(0, 1, 0), period = 4, 
    transform.par = F, fixed = c(NA, 0, 0, NA)))
    
    Coefficients:
             ar1     ar2     ar3      ar4
          0.4143  0.0294  0.1257  -0.3300
    s.e.  0.0879  0.0961  0.0952   0.0881
    
    sigma^2 estimated as 0.09072:  log likelihood = -25.51,  aic = 61.02
    #残差白噪声检验
    for(i in 1:2) print(Box.test(x.fit$residual,lag=6*i))
    Box-Pierce test
    
    data:  x.fit$residual
    X-squared = 0.54159, df = 6, p-value = 0.9973
    
    
        Box-Pierce test
    
    data:  x.fit$residual
    X-squared = 6.9427, df = 12, p-value = 0.8614

    做3年期预测

    > library(forecast)
    > x.fore<-forecast(x.fit,h=12)
    > x.fore
            Point Forecast    Lo 80    Hi 80      Lo 95     Hi 95
    1992 Q1       6.660195 6.274201 7.046189  6.0698679  7.250522
    1992 Q2       5.961087 5.292490 6.629683  4.9385564  6.983617
    1992 Q3       6.116229 5.202010 7.030448  4.7180513  7.514406
    1992 Q4       6.034304 4.877448 7.191161  4.2650446  7.803564
    1993 Q1       6.386049 4.840267 7.931831  4.0219788  8.750119
    1993 Q2       5.600664 3.694241 7.507088  2.6850413  8.516287
    1993 Q3       5.721381 3.496132 7.946631  2.3181560  9.124607
    1993 Q4       5.636065 3.119547 8.152583  1.7873832  9.484747
    1994 Q1       6.010340 3.090620 8.930060  1.5450137 10.475666
    1994 Q2       5.258337 1.937603 8.579071  0.1797120 10.336962
    1994 Q3       5.404481 1.707100 9.101863 -0.2501751 11.059138
    1994 Q4       5.334632 1.274994 9.394270 -0.8740483 11.543313

    绘图

    plot(x.fore)

    3年期12季度预测图
    3年期12季度预测图

    乘积季节模型

    序列的季节效应、长期趋势效应和随机波动之间存在复杂的交互影响关系,简单的ARIMA模型不足以提取其中的相关关系,这时通常需要采用乘积季节模型。
    拟合1948-1981年美国女性月度失业率序列

    #读入数据,并绘制时序图
    g<-read.table("D:/R-TT/book4/4R/data/file20.csv",sep=",",header = T)
    x<-ts(g$unemployment_rate,start = c(1948,1),frequency = 12)
    plot(x)

    美国女性月度失业率时序图
    美国女性月度失业率时序图

    #作1阶12步差分,并绘制出差分后序列的时序图
    x.dif<-diff(diff(x),12)
    plot(x.dif)

    1阶12步差分时序图
    1阶12步差分时序图

    #绘制差分后序列自相关图和偏自相关图
    acf(x.dif)
    pacf(x.dif)

    1阶12步差分自相关图
    1阶12步差分自相关图
    1阶12步差分偏自相关图
    1阶12步差分偏自相关图
    差分后序列的自相关图与偏自相关图都显示出拖尾属性,首先尝试拟合加法季节模型ARIMA(1,(1,12),1)。然后进行残差序列的白噪声检测。

    #拟合ARIMA(1,(1,12),1)模型
    x.fit<-arima(x,order = c(1,1,1),seasonal = list(order=c(0,1,0),period=12))
    for(i in 1:2) print(Box.test(x.fit$residual,lag=6*i))
    Box-Pierce test
    
    data:  x.fit$residual
    X-squared = 11.204, df = 6, p-value = 0.08228
    
    
        Box-Pierce test
    
    data:  x.fit$residual
    X-squared = 105.78, df = 12, p-value < 2.2e-16

    残差序列非白噪声,故模型拟合不正确

    自相关系数延迟24阶后,截尾。
    偏自相关系数延迟24阶后,仍拖尾。
    这时以12步为周期的ARMA(0,1)12模型提取差分后序列季节自相关信息。
    我们要拟合的乘积模型为 ARIMA(1,1,1)*(0,1,1)12

    > #拟合ARIMA(1,1,1)*ARIMA(0,1,1)12模型
    > x.fit<-arima(x,order = c(1,1,1),seasonal = list(order=c(0,1,1),period=12))
    > x.fit
    
    Call:
    arima(x = x, order = c(1, 1, 1), seasonal = list(order = c(0, 1, 1), period = 12))
    
    Coefficients:
              ar1     ma1     sma1
          -0.7290  0.6059  -0.7918
    s.e.   0.1497  0.1728   0.0337
    
    sigma^2 estimated as 7444:  log likelihood = -2327.14,  aic = 
    4662.28

    残差序列白噪声检验

     for(i in 1:2) print(Box.test(x.fit$residual,lag=6*i))
    
        Box-Pierce test
    
    data:  x.fit$residual
    X-squared = 4.5564, df = 6, p-value = 0.6018
    
    
        Box-Pierce test
    
    data:  x.fit$residual
    X-squared = 9.6288, df = 12, p-value = 0.6485
    

    残差序列白噪声检验显示,该拟合模型显著成立。

    展开全文
  • 时间序列分析-------乘法季节模型 实验 名称 乘法季节模型 实验 内容 乘法季节模型 实验 目的 2、熟练建立乘法季节模型 乘法季节...

    时间序列分析-------乘法季节模型

    实验

    名称

    乘法季节模型

    实验

    内容

    乘法季节模型

    实验

    目的

    2、熟练建立乘法季节模型

    推荐阅读

    1. 使用Python完成时间序列分析基础
    2. SPSS建立时间序列乘法季节模型实战案例
    3. SPSS建立时间序列加法季节模型实战案例
    4. Python建立时间序列ARIMA模型实战案例
    • 乘法季节模型结构

     

    乘法季节模型建立

    绘制时序图

     

     

    时序图显示该序列具有长期增长性趋势和以年为周期的季节效应

    差分平稳化

            对原序列做1阶12步差分,希望提取原序列的趋势效应和季节效应,差分后的时序图如下所示: 

    易得模型平稳

    白噪声检验

           

     

     

     P<α,故拒绝原假设,即差分后的序列属于非白噪声序列

     综上:差分后的序列是平稳非白噪声序列,需要对差分后的序列进一步拟合ARMA模型

    时序图定阶

     

    自相关图显示延迟12阶自相关系数大于两倍标准差,这说明差分后序列中仍然蕴含非常显著的季节效应,延迟1阶的自相关系数也大于2倍标准差,这说明差分后序列还具有短期相关性。     

    1. 短期相关特征:自相关图和偏自相关图显示12阶以内的自相关系数,ARMA(1,1),ARMA(1,0),ARMA(0,1)提取差分后序列的短期自相关信息
    2. 季节自相关特征:季节自相关特征时自相关系数截尾,偏自相关系数拖尾,这里可以永12步为周期的ARMA(0,1)12模型来提取差分后序列的季节自相关信息。

    参数估计和模型检验

    综合前面的差分信息,我们要建立ARIMA(1,1,1)*(0,1,1)12、ARIMA(1,1,0)*(0,1,1)12、ARIMA(0,1,1)*(0,1,1)12模型

     

    • ARIMA(1,1,1)*(0,1,1)12

     

              

     P<α,参数的显著性不通过检验

    • ARIMA(0,1,1)*(0,1,1)12

     

    模型的显著性检验:

     

    建立模型:

    • ARIMA(1,1,0)*(0,1,1)12

                                                                                                                          参数的显著性检验通过

     

    模型的显著性检验

     

    建立模型:

     

    模型预测

     

     

     

     

     

    > 到这里就结束了,如果对你有帮助你,欢迎点赞关注,你的点赞对我很重要

     

     

    展开全文
  • ARIMA乘积季节模型理论及其在煤炭出口量,周丽莉,,本文研究ARIMA乘积季节模型及其在煤炭出口量预测中的应用。运用SPSS软件中时间序列模块中的建模方法建立了我国煤炭出口模型。文章首
  • 本文研究乘积季节模型在我国煤矿事故总数预测中的应用,通过对我国2006年1月到2010年12月煤矿事故总数数据来进行实证分析,采用差分方法对序列资料进行平稳化,然后进行模型定阶并估计其参数,建立了合适的乘积季节预测...
  • 疏系数模型 和季节模型 实验 内容 1、简单季节模型 实验 目的 1、掌握疏系数模型 2、熟练建立季节模型 目录 简单季节模型结构 模型建立 时序...

    实验

    名称

    疏系数模型 和季节模型

    实验

    内容

    1、简单季节模型

    实验

    目的

    1、掌握疏系数模型

    2、熟练建立季节模型

     

    目录

    简单季节模型结构

    模型建立

    时序图

    差分平稳化

    白噪声检验

    模型定阶

    参数估计和模型检验

    模型预测


    推荐阅读

    1. 使用Python完成时间序列分析基础
    2. SPSS建立时间序列乘法季节模型实战案例
    3. Python建立时间序列ARIMA模型实战案例

    简单季节模型结构

    模型建立

    时序图

    时序图显示,该序列既包含长期趋势又包含以年为周期的季节效应

     

    差分平稳化

    对原序列做1阶差分消去趋势,再做4步差分消去季节效应的影响,差分后序列时的时序图:

    单位根检验:  

    白噪声检验

    检验结果显示,差分后序列时平稳非白噪声序列,需要对差分后的序列进行进一步拟合ARMA模型。

    模型定阶

          自相关图显示出明显的下滑轨迹,这是典型的拖尾属性。偏自相关图除了1阶和4阶偏自相关系数显著大于2倍标准差。所以尝试拟合ARIMA(4,1,0)*(0,1,0)4

    参数估计和模型检验

     

    x2,x3,P>α,不通过显著性检验

    模型的显著性检验:

    检验结果显示,残差序列为白噪声序列,参数显著性检验显示两个参数均显著非0。

    模型预测

     

    > 到这里就结束了,如果对你有帮助你,欢迎点赞关注,你的点赞对我很重要

     

     

    展开全文
  • 本文研究乘积季节模型在我校图书借阅预测中的应用,通过对我校2007年1月到2009年12月的月度图书借阅数据来进行实证分析,采用差分方法对序列资料进行平稳化,然后进行模型定阶并估计其参数,建立了我校图书借阅的乘积...
  • 提出了应用ARIMA乘积季节模型对大坝位移监测数据进行分析和预报的新方法,并给出了基于开源R语言建立乘积季节模型的方法步骤和关键技术。结合某大坝径向位移监测数据进行计算分析,结果表明:ARIMA乘积季节模型能较...
  • 基于ARIMA季节乘积模型,提出一种新的矿井涌水量的预测方法,通过普通差分和季节差分保证矿井涌水量时间序列的平稳化,以模型定阶、参数估计和假设检验等过程建立合适的乘积季节模型ARIMA(2,1,1)(1,1,1)12。...
  • ARIMA乘积季节模型及其在月径流预测中的应用,卢艳,,本文研究了应用ARIMA乘积季节模型在月径流预测中的可行性。以1985年1月至2001年12月汀江观音桥站月流量资料建立模型,以2002年的资料作�
  • 本文研究乘积季节模型在我校图书借阅预测中的应用,通过对我校2007年1月到2009年12月的月度图书借阅数据来进行实证分析,采用差分方法对序列资料进行平稳化,然后进行模型定阶并估计其参数,建立了我校图书借阅的乘积...
  • 单位根检验、航空模型、季节模型

    千次阅读 2019-01-08 09:45:14
    单独写这篇文章的用意是源于我在单位根平稳性检验上面花费了很多时间,在这个过程中,又不断对季节模型有了更为深刻的理解,所以我要单独将这些心得写出来。本篇文章需要结合《收入时间序列——之模型探索篇》来看,...

    单独写这篇文章的用意是源于我在单位根平稳性检验上面花费了很多时间,在这个过程中,又不断对季节模型有了更为深刻的理解,所以我要单独将这些心得写出来。本篇文章需要结合《收入时间序列——之模型探索篇》来看,其数据源于那篇文章中,这里不再赘述。

    一. 平稳性检验

    平稳性检验的主要方法是看时序图、ACF图和单位根检验,其中单位根检验方法有ADF、PP、KPSS等。本次ADF和PP检验都拒绝原假设,即认为序列平稳;KPSS拒绝原假设,即认为序列非平稳(KPSS零假设和ADF/PP恰好相反)。当出现不一致时,需要根据属于下面哪种平稳过程来判断,有一种观点认为KPSS检验结果更强更鲁棒,因为ADF和PP检验将差分平稳模型作为零假设,它检验随机游走或带漂移的随机游走效果奇好,但它们都需要假设是否包含常数均值和时间趋势,因此拒绝零假设的功效(low power)较低,而KPSS则完全不需要选择假设类型。

    非平稳序列的平稳过程包括差分平稳过程和趋势平稳过程。

    差分平稳过程:确定性时序分析对随机性信息浪费严重,通过差分变换为 \Delta x_{t}=\mu+a_{t} 可消除随机性趋势,a_{t} 是平稳序列,\mu 是均值。

    趋势平稳过程:确定性趋势无法通过差分消除,通过去除时间函数变换为 \Delta x_{t}-\beta t=\mu+a_{t}可消除确定性趋势,\beta t 是时间函数,a_{t} 是平稳序列,\mu 是均值。

    特殊情形下,当KPSS检验结果非平稳、ADF检验结果平稳时,利用差分平稳过程可使序列平稳。当KPSS检验结果平稳、ADF检验结果非平稳时,利用趋势平稳过程可使序列平稳。

    下面这张图很好的总结了平稳性检验:

    二. 日收入序列的平稳性检验

    (1)ADF检验

    这里需要注意一下ADF检验的三种类型,若没有设置regression参数系统默认就是第二种。

    一般ADF检验顺序是类型3->类型2->类型1,即先从有趋势有常数均值(ct)、再到无趋势有常数均值(c)、最后到无趋势无常数均值(nc)。按3->2->1顺序直至检验平稳终止,如果都不平稳就需要采用差分等手段后继续检验。

    我尝试了3和2都是平稳,1不是平稳,按上述理论ADF检验结果为平稳:

    # 单位根检验 3->2->1
    dftest_ct = adfuller(timeseries, regression='ct', autolag='AIC')
    (-5.488932371099615, 2.42350869843851e-05, 21, 838, {'1%': -3.9696139315814714, '5%': -3.415742085237588, '10%': -3.1301410687829927}, 19515.823525154956) 
    
    dftest_c = adfuller(timeseries, regression='c', autolag='AIC')
    (-4.921922984782108, 3.160487308474228e-05, 21, 838, {'1%': -3.4381774989729816, '5%': -2.8649951426291, '10%': -2.568609799556849}, 19519.837221505346) 
    
    dftest_nc = adfuller(timeseries, regression='nc', autolag='AIC')
    (-1.5326196179942781, 0.11774285074636265, 21, 838, {'1%': -2.5684131839645477, '5%': -1.941325263784454, '10%': -1.6165068765453274}, 19539.978409969888)
    

    (2)Eview测试

    为了看到更多参数细节,又在EViews上操作测试了一遍:

    ct 类型检验平稳,常数均值和时间趋势的参数均显著,时间趋势参数为9.685562,可以理解为平均每天有不到 9.7元的增长趋势,它是一种确定性趋势,让我联想到Tsay的全球温度案例,呈现出平均每157年增加1摄氏度,并验证了向前一步短期预测时差分平稳模型比趋势平稳模型效果要好一些;c 类型检验平稳,常数均值参数显著;None类型检验非平稳。三种类型里,按AIC和HQC准则,ct 类型值最小;按SC准则,c 类型值最小,所以综合起来可采纳 ct 第三种类型,当然前提条件是模型正确的情形下。

    (3)PP检验

    由于python没有PP函数,所以我用R运行了一下,PP检验也是平稳:

    # PP检验
    > pp.test(income_data)
    
    	Phillips-Perron Unit Root Test
    
    data:  income_data
    Dickey-Fuller Z(alpha) = -321.79, Truncation lag parameter = 6, p-value = 0.01
    alternative hypothesis: stationary
    

    (4)KPSS检验

    在python里运行KPSS检验:

    # KPSS检测:
    def KPSS_test(timeseries):
        from statsmodels.tsa.stattools import kpss
        print('Result of KPSS Test:')
        kpss_test = kpss(timeseries)
        output = pd.Series(kpss_test[0:3], index=['Test Statistic','p-value','Lag Used'])
        for key,value in kpss_test[3].items():
            output['Critical Valuse (%s)' % key] = value
        print(kpss_test)
        print(output)
    

    结果如下:

    Result of KPSS Test:
    (0.8942571772584017, 0.01, 21, {'10%': 0.347, '5%': 0.463, '2.5%': 0.574, '1%': 0.739})
    Test Statistic             0.894257
    p-value                    0.010000
    Lag Used                  21.000000
    Critical Valuse (10%)      0.347000
    Critical Valuse (5%)       0.463000
    Critical Valuse (2.5%)     0.574000
    Critical Valuse (1%)       0.739000
    dtype: float64
    

    p值小于0.05,t 统计量明显大于任何检验水平下的 t 值,由于KPSS是右侧单边检验,故大于临界值拒绝原假设,也即原序列为非平稳。

    三. 日收入序列的季节差分

    为查看消除季节效应后的结果,我们对原序列做 7 步差分。那么如何判断是否需要进行季节差分呢?判断依据就是看季节性是否缓慢收敛,还记得下面这个ACF图么?

    抛开其它阶的时滞,我们只看季节性滞后7阶的ACF数值,它收敛得很缓慢,说明需要进行季节差分,也正是由于需要季节差分,所以日收入原序列是一个非平稳序列。

    # 7步季节差分
    diff = income_data.diff(7)
    diff.dropna(inplace=True)
    draw_series(diff, '7步差分时序')
    draw_acf_pacf_lag(diff, 40)
    ADF_test(diff)
    print(sm.tsa.adfuller(diff)[1])
    KPSS_test(diff)
    

    对季节差分后序列的KPSS检验结果为:

    Result of KPSS Test:
    (0.018510813912912785, 0.1, 21, {'10%': 0.347, '5%': 0.463, '2.5%': 0.574, '1%': 0.739})
    Test Statistic             0.018511
    p-value                    0.100000
    Lag Used                  21.000000
    Critical Valuse (10%)      0.347000
    Critical Valuse (5%)       0.463000
    Critical Valuse (2.5%)     0.574000
    Critical Valuse (1%)       0.739000
    dtype: float64
    

    p值大于0.05,t 统计量明显小于任何水平下的临界值,说明无法拒绝原假设,季节差分后序列平稳。

    由此,我们得出:KPSS检验非平稳,ADF和PP检验平稳,原序列是非平稳序列,且是一个差分平稳过程。

    四. 航空模型

    我们知道,航空模型(airline model)是由Box & Jenkins (1976) 提出,已被广泛应用于季节时间序列的建模,模型为ARIMA(0,1,1)\times(0,1,1)_{12} 。这类航空模型表现出如下特点:

    1. 有明显上升趋势,且有周期性
    2. ADF检验非平稳,做正规差分消除趋势、做季节差分消除周期性后,序列平稳

    在消除趋势1阶差分、消除季节7步差分后,得到两个MA相乘关系的模型,数学表达式如下:

    航空模型在ACF图上表现出来就是:

    1)只在滞后阶数为1、s-1、s、s+1时非零

    2)在滞后阶数为s-1、s+1时的ACF实际上是滞后阶数为1、s的相关性交互作用(乘法)

    因此就很容易解释为什么我们的日收入ACF图会长下面这个样子:

    再看下经7步季节差分后的ACF/PACF图,显示ACF呈指数级衰减呈震荡状,ACF和PACF都具有拖尾性。

    结合上述7步季节差分后的时序ACF图,发现ACF在1/2/3滞后阶处显著,PACF在1阶滞后显著,即有一个AR(1)模型和一个MA(3)模型,因此判断适用模型 (1,0,3) ;又有ACF在6/7/8滞后阶处显著,PACF在6/7/8滞后阶处显著,即有一个季节MA(1)模型和一个季节AR(1)模型,因此判断适用模型 (1,1,1)_{7} ;所以我们可初步拟合季节模型 (1,0,3)\times(1,1,1)_{7} ,具体还需要看参数的显著性检验。

    下面是航空模型的一些例子:

    美国月度航空客运量:

    可口可乐公司股票每股季度对数盈利:

    美国夏威夷Mauna Loa天文台采集的大气二氧化碳的连续空气样本:

    纽约每月出生人口数量:

    五. 季节模型

    我通过搜集资料发现,诸如太阳黑子、收入、租用、出库等时序,却表现出另外一种非常相似的模型特点,它们属于只有季节效应的非平稳序列,通过季节差分后平稳,模型为ARIMA(p,0,q)\times(P,1,Q)_{S} 。表现形式如下:

    1. 没有明显趋势,但有周期性
    2. ACF图上有周期性显著大于2倍标准差的延迟阶,缓慢收敛至0且呈现波浪式振荡
    3. ADF检验平稳,KPSS检验非平稳,做季节差分消除周期性后,序列平稳,并通过KPSS检验

    而从下面的具体案例看出,太阳黑子月度数据和本案中的日收入非常相似,有明显周期性,且ADF检验平稳但KPSS检验非平稳,说明生活中这样的季节效应非平稳序列不在少数。实际上Wolfer曾对太阳黑子做过谱分析,发现周期约为11年,和ACF中体现的125个月周期接近。

    太阳黑子数量(月度数据,1749年-2013年共计3177个月):

    3177个月延迟的ACF图

    前150个月延迟的ACF图

    直接调用 R 包的太阳黑子月度数据,分别进行ADF和KPSS检验,先看ADF结果,p值低于0.05,无法拒绝原假设,检验结果平稳:

    > adf.test(sun_spots)
    
    	Augmented Dickey-Fuller Test
    
    data:  sun_spots
    Dickey-Fuller = -7.0245, Lag order = 14, p-value = 0.01
    alternative hypothesis: stationary
    

    KPSS检验 t 值大于任何显著水平临界值,检验结果非平稳:

    > summary(ur.kpss(sun_spots))
    
    ####################### 
    # KPSS Unit Root Test # 
    ####################### 
    
    Test is of type: mu with 9 lags. 
    
    Value of test-statistic is: 1.1505 
    
    Critical value for a significance level of: 
                    10pct  5pct 2.5pct  1pct
    critical values 0.347 0.463  0.574 0.739
    

    太阳黑子数量(年度数据):

    直接调用 statsmodels 提供的太阳黑子年度数据,分别进行ADF和KPSS检验,结果如下:

    ADF检验 3 -> 2 -> 1 均是非平稳:

    # 单位根检验 3->2->1
    dftest_ct = adfuller(timeseries, regression='ct', autolag='AIC')
    (-2.924374638662088, 0.15446517617076427, 8, 300, {'1%': -3.98926783537037, '5%': -3.425226747185185, '10%': -3.1357131066666666}, 2431.9767343211192)
    
    dftest_c = adfuller(timeseries, regression='c', autolag='AIC')
    (-2.837780724938195, 0.05307642172812057, 8, 300, {'1%': -3.4523371197407404, '5%': -2.871222860740741, '10%': -2.571929211111111}, 2430.50034229055)
    
    dftest_nc = adfuller(timeseries, regression='nc', autolag='AIC')
    (-0.7522201094158966, 0.39060930373720704, 8, 300, {'1%': -2.5732329666666667, '5%': -1.9419315658148149, '10%': -1.6159638828148148}, 2436.914059295739)
    

    在Jupiter上运行了KPSS检验,结果显示在10%水平上拒绝原假设,在1%/2.5%/5%水平下接受原假设,t 值很接近于5%水平下的临界值。综合来看,我们认为太阳黑子年度数据仍然为非平稳,从ACF图上看在20年延迟阶前还是有明显周期性且自相关性较高,在50阶后周期性及自相关性几乎消失,究其原因是年度数据在月度数据上降频了,所以相比月度数据增加了平稳性。

    Result of KPSS Test:
    (0.44664560602502423, 0.05704930774783439, 16, {'10%': 0.347, '5%': 0.463, '2.5%': 0.574, '1%': 0.739})
    Test Statistic             0.446646
    p-value                    0.057049
    Lag Used                  16.000000
    Critical Valuse (10%)      0.347000
    Critical Valuse (5%)       0.463000
    Critical Valuse (2.5%)     0.574000
    Critical Valuse (1%)       0.739000
    dtype: float64
    

    某景区共享单车日租用量:

    某商品出库量:

    六. 总结

    我在网上看到很多人在提问:为什么存在周期性但ADF单位根检验却平稳?抑或是ADF检验平稳后直接ARMA模型拟合后效果相差甚远?有人回答是ADF的那三类选项及滞后期选择会影响平稳检验的结果。诚然,如果这些你都尝试过了还觉得不对劲,则很可能假设检验犯了第一类错误(纳伪),所以说在结合观察ACF图后,如果你的时间序列明显存在周期性,而又不存在趋势,不妨再试试KPSS检验,然后做季节差分比对下效果,同时也最好验证下异方差。

    这里,我也给出我个人判断平稳性的经验,这是在踩坑后查阅大量资料及思考总结后形成:

    (1)时序图

    始终在一个水平值(常数均值)附近正常的随机波动(常数方差),为平稳;

    有明显趋势、周期性、随时间波动范围变化,为非平稳。

    (2)ACF图

    短期(一般5阶延迟内或通过AR函数定阶)呈指数级下降收敛至0,为平稳;

    长期缓慢收敛至0、周期性显著大于2倍标准差的延迟阶长期存在,为非平稳。

    (3)单位根检验

    ADF前提条件是没有异方差,如果方差齐性,则按上述3/2/1顺序检验,同时需要做参数显著性检验(p值<0.05表示参数显著),查看估计参数是否显著异于0。

    PP检验适用于异方差场合。

    KPSS不需要选择趋势类型,因而更具鲁棒性。

    当上述结果发生冲突时,应确保在时序图和ACF图大方向前提下,配合单位根检验这样的量化方法(不一定准确)具体分析。就像在本案中,尽管ADF和PP检验为平稳,但从时序图和ACF图判断一定存在长期周期性季节效应,最后查证这是一个差分平稳过程,而且是季节差分。

    其实,判断平稳性固然重要,但也不要过于纠结,毕竟黑猫白猫,逮到老鼠才是好猫,一切的结果都是为了模型拟合的更佳。以上是我不断纠结并走了一些弯路,从而总结的一些经验,希望能帮助到你。

    展开全文
  • 运用SPSS软件和SAS软件系统中的时间序列建模方法建立了我国城乡居民储蓄存款模型,并认为用最大似然估计法(ML)对结果进行短期预测,用无约束最小二乘估计法(ULS)对结果进行中长期预测,可得到较高的预测精度.
  • 总结 为预测美国新单户住宅的销售量,基于1973年到1995年的月销售量数据建立了乘法季节模型。由于数据集平稳较差,首先采用了Box-Cox变换;转换后的数据显示了一定的趋势和季节性成分,因此进行了季节性的差分、...
  • 本节书摘来自华章计算机《应用时间序列分析:R软件陪同》一书中的第2章,第2.10节,作者:吴喜之,刘苗著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。 ...
  • 季节加法模型

    千次阅读 2019-06-26 13:49:09
    1.模型简介 季节加法模型是指序列中季节效应和其他效应之间是加法...所以简单季节模型实际上就是通过趋势差分、季节差分将序列将序列转化为平稳序列,再对其进行拟合。它的模型结构通常如下: 式中 2.建模过程 (...
  • 广东省入境旅游客流季节性研究-基于X-13A-S季节调整模型,赵思雨,韩兆洲,入境旅游季节性波动已经成为旅游经济学研究的重要命题。本文运用X-13A-S 模型将广东省入境旅游客流进行分解,研究各成分在2009-2016年�
  • 季节性ARIMA模型【R语言】

    万次阅读 多人点赞 2018-10-18 16:31:43
    季节性的ARIMA模型可以预测含有季节性,趋势性的时间序列。他的形式如下 这里m是每一季节的周期值。季节项与非季节项的模型非常相近。但是季节项中包含了季节周期性。例如对于ARIMA(1,1,1)(1,1,1)4模型能够写成: ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 949
精华内容 379
关键字:

季节模型