精华内容
下载资源
问答
  • 用python处理时间序列数据,检验平稳性纯随机性from statsmodels.tsa.stattools import adfuller as adffrom statsmodels.graphics.tsaplots import plot_acf, plot_pacfimport pandas as pdimport numpy as np!...

    用python处理时间序列数据,检验平稳性跟纯随机性

    from statsmodels.tsa.stattools import adfuller as adf

    from statsmodels.graphics.tsaplots import plot_acf, plot_pacf

    import pandas as pd

    import numpy as np

    !pip install statsmodels

    Requirement already satisfied: statsmodels in c:\programdata\anaconda3\lib\site-packages (0.11.0)

    Requirement already satisfied: numpy>=1.14 in c:\programdata\anaconda3\lib\site-packages (from statsmodels) (1.18.1)

    Requirement already satisfied: scipy>=1.0 in c:\programdata\anaconda3\lib\site-packages (from statsmodels) (1.4.1)

    Requirement already satisfied: pandas>=0.21 in c:\programdata\anaconda3\lib\site-packages (from statsmodels) (1.0.1)

    Requirement already satisfied: patsy>=0.5 in c:\programdata\anaconda3\lib\site-packages (from statsmodels) (0.5.1)

    Requirement already satisfied: pytz>=2017.2 in c:\programdata\anaconda3\lib\site-packages (from pandas>=0.21->statsmodels) (2019.3)

    Requirement already satisfied: python-dateutil>=2.6.1 in c:\programdata\anaconda3\lib\site-packages (from pandas>=0.21->statsmodels) (2.8.1)

    Requirement already satisfied: six in c:\programdata\anaconda3\lib\site-packages (from patsy>=0.5->statsmodels) (1.14.0)

    data=pd.read_excel('./data.xls',encoding='utf-8')

    data

    time

    wc(误差随机项)

    xt1

    xt2

    xt3

    0

    1

    1.74

    1.000000

    1.000

    1.000

    1

    2

    -0.70

    0.800000

    0.800

    0.800

    2

    3

    -1.28

    2.650000

    1.440

    1.430

    3

    4

    0.43

    7.440000

    5.094

    4.060

    4

    5

    0.24

    13.804000

    10.204

    5.645

    ...

    ...

    ...

    ...

    ...

    ...

    95

    96

    1.55

    739.086685

    6908.698

    146.490

    96

    97

    0.07

    748.322011

    7056.498

    147.345

    97

    98

    -0.73

    756.383207

    7205.072

    148.140

    98

    99

    0.66

    765.129924

    7356.450

    150.725

    99

    100

    -0.44

    773.187954

    7508.420

    151.515

    100 rows × 5 columns

    对X1做平稳性检验

    xt1=data.xt1

    dftest=adf(xt1)

    pd.Series(dftest[0:4],index=['Test Statistic','p-value','#Lags Used','Number of Observations Used'])

    #p值高达0.9几

    Test Statistic 0.678947

    p-value 0.989408

    #Lags Used 1.000000

    Number of Observations Used 98.000000

    dtype: float64

    xt1.plot()

    00a60ebe0780bb612442fd2ea56fab38.png

    [output_6_1.png)]

    #一阶差分

    xt1_1 = xt1.diff(1)

    xt1_1.plot()

    f2aa14c26f18dec91670febbdd5ff12b.png

    [(output_7_1.png)]

    #一阶差分的单位根检验

    dftest_1 = adf(xt1_1.dropna())

    pd.Series(dftest_1[0:4],index=['Test Statistic','p-value','#Lags Used','Number of Observations Used'])

    #一阶差分后p值小于0.05,拒绝原假设(即不存在单位根,认为其已经平稳)

    Test Statistic -6.056515e+00

    p-value 1.241430e-07

    #Lags Used 0.000000e+00

    Number of Observations Used 9.800000e+01

    dtype: float64

    dftest_1[1]-0.05

    -0.049999875856979056

    #画一阶差分之后的自相关图跟偏自相关图

    plot_acf(xt1_1.dropna())

    98781d55747ed6945721674f9f136257.png

    [(output_10_0.png)]

    plot_pacf(xt1_1.dropna())

    7a948450546422a9e43056c443943f8b.png

    [(output_11_0.png)]

    X2做平稳性检验

    data.xt2.plot()

    6d05158d800c6e31be9d304db549b189.png

    (output_13_1.png)]

    #做二阶差分

    x2_2=data.Xt2一阶差分.diff(1)

    x2_2.plot()

    3695903e266a4b5a9659130a382ad4b5.png

    [output_14_1.png)]

    #对二阶差分后的Xt2做单位根检验

    adf(x2_2.dropna())

    #故拒绝原假设,该序列平稳

    (-7.1910449486700525,

    2.5032477359463947e-10,

    4,

    93,

    {'1%': -3.502704609582561,

    '5%': -2.8931578098779522,

    '10%': -2.583636712914788},

    260.6359245108364)

    #画二阶差分后的Xt2的自相关图跟偏自相关图

    plot_acf(x2_2.dropna())

    d5c1a59909924228e3789d4b12953786.png

    (output_16_0.png)]

    plot_pacf(x2_2.dropna())

    a66518d4714ba3dc3f620d50911f11e7.png

    (output_17_1.png)]

    对X3做平稳性检验

    data.xt3.plot()

    c42638e5f29748fa9024eb94a55dbb0e.png

    (output_19_1.png)]

    #做一阶差分

    data.xt3.diff(1).plot()

    c7e09184421db42b286a4c75a43881d8.png

    (output_20_1.png)]

    #对一阶差分后的序列做单位根检验

    adf(data.xt3.diff(1).dropna())

    (-10.661639595719135,

    4.391819453885797e-19,

    1,

    97,

    {'1%': -3.4996365338407074,

    '5%': -2.8918307730370025,

    '10%': -2.5829283377617176},

    257.9188344687909)

    adf(data.xt3.diff(1).dropna())[1]-0.05

    #故拒绝原假设,该序列平稳

    -0.05

    #对一阶差分后的Xt3画出自相关图跟偏自相关图

    plot_acf(data.xt3.diff(1).dropna())

    59afa43365f9c829eaf0a113a41477e4.png

    (output_23_1.png)]

    plot_pacf(data.xt3.diff(1).dropna())

    9024541d99d0f0bacc2f2d0031efa6bb.png

    (output_24_1.png)]

    展开全文
  • 本文档通过案例的形式展示了平稳性检验和纯随机性检验的完整过程、结果及具体分析,能让初学者更好的理解和掌握检验的真正作用,使知识更加融汇贯通。
  • R语言:纯随机性检验

    千次阅读 2020-04-19 20:44:46
    通过平稳性的检验,序列可以分为平稳序列非平稳序列两大类。(通过平稳性检验判断序列的平稳性) 对于非平稳序列,由于它不具有二阶平稳的性质,所以对它的统计分析要费一些周折,通常要通过进一步的检验、变换或...

    我们在拿到一个观察值序列之后,首先是判断它的平稳性。通过平稳性的检验,序列可以分为平稳序列和非平稳序列两大类。(通过平稳性检验判断序列的平稳性)
    对于非平稳序列,由于它不具有二阶平稳的性质,所以对它的统计分析要费一些周折,通常要通过进一步的检验、变换或处理,才能确定适当的拟合模型。
    对于平稳序列,情况就简单多了。我们有一套非常成熟的平稳序列建模方法。但是,并不是所有的平稳序列都值得建模。只有那些序列值之间具有密切的相关关系,历史数据对未来的发展有一定影响的序列,才值得我们花时间去挖掘历史数据中的有效信息,用来预测序列未来的发展。
    如果序列值彼此之间没有任何相关性,那就意味着该序列是一个没有记忆的序列,过去的行为对将来的发展没有丝毫影响,这种序列称为纯随机序列。从统计角度而言,纯随机序列是没有任何分析价值的序列。
    确定了序列是平稳序列后,还要进行随机性检验来确定平稳序列是否值得继续分析下去。

    纯随机序列,也称为白噪声序列。之所以称为白噪声序列,是因为人们最初发现白光具有这种特性。容易证明白噪声序列一定是平稳序列,而且是最简单的平稳序列。

    1.随机产生1000个服从标准正态分布的白噪声序列观察值,并绘制时序图。
    正态分布随机数生成函数是rnorm。rnorm函数的命令格式为:
    rnorm(n=, mean=, sd=)
    式中:
    n:随机数个数
    mean:均值,缺省值默认为0
    sd:标准差,缺省值默认为1
    注:如果要产生n个服从标准正太分布的随机数,可以简写为rnorm(n)

    所以本次命令与输出结果如下。

    > white_noise<-rnorm(1000)
    > white_noise<-ts(white_noise)
    > plot(white_noise)
    

    在这里插入图片描述
    白噪声序列的性质
    (1)随机性
    这说明白噪声序列的各项之间没有任何相关关系,这种“没有记忆”的序列就是纯随机序列。一旦某个随机事件呈现出纯随机波动的特征,就认为该随机事件没有包含任何值得提取的有用信息,我们就应该终止分析。
    (2)方差齐性
    在时间序列分析中,方差齐性是一个非常重要的限制条件。因为根据马尔可夫定理,只有方差齐性假定成立时,我们用最小二乘法得到的未知参数估计值才是准确、有效的。如果假定不成立,最小二乘法就不是方差最小线性无偏估计,拟合模型的精度会受到很大影响。
    所以我们在进行模型拟合时,检验内容之一就是要检验拟合模型的残差是否满足方差齐性假定。如果不满足,那就说明残差序列还不是白噪声序列,即拟合模型没有提取随机序列中的相关信息,这时拟合模型的精度是值得怀疑的。在这种场合下,我们通常需要使用适当的条件异方差模型来处理异方差信息。

    纯随机性检验
    纯随机性检验也称白噪声检验,是专门用来检验序列是否为纯随机序列的一种方法。我们知道如果一个序列是纯随机序列,那么它的序列值之间应该没有任何相关关系。但这是一种理论上上才会出现的理想状况。实际上,由于观察值序列的有限性,导致纯随机序列的样本自相关系数不会绝对为零。

    绘制上述随机产生1000个服从标准正态分布的白噪声序列的样本自相关图。

    > acf(white_noise)
    

    在这里插入图片描述
    样本自相关图显示这个纯随机序列没有一个样本自相关系数严格等于零。但这些自相关系数确实都非常小,都在零值附近以一个很小的幅度随机波动。这提醒我们应该考虑样本自相关系数分分布性质,从统计意义上来判断序列的纯随机性质。

    R语言中使用Box.test函数进行纯随机性检验(白噪声检验)。该函数的命令格式为:
    Box.test(x, type=, lag= )
    式中:
    x:变量名
    type:检验统计量类型
    (1)type=“Box-Pierce”,输出白噪声检验的Q统计量,该统计量为系统默认输出结果。
    (2)TYPE=“Ljung-Box”,输出白噪声检验的LQ统计量。
    lag:延迟阶数,lag=表示输出滞后n阶的白噪声检验统计量,忽略该选项时,默认输出滞后1阶的检验统计量结果。

    计算上述随机产生1000个服从标准正态分布的白噪声序列延迟6期、延迟12期的QLB统计量的值,并判断该序列的随机性(α=0.05)
    在这里插入图片描述
    R是最小结果输出软件,所以每次调出Box.test函数,只能给出一个检验结果。上面为了得到延迟6阶和延迟12阶两个LB统计量的结果,我们调用两次Box.test函数。如果希望能够像其他统计软件一样,一次得到多个白噪声检验结果,可以编写一个循环命令。最简单的循环函数是for函数,它的命令格式如下:
    for(x, in, n1:n2) state
    式中:
    x:循环变量名
    n1:n2:给出的循环取值区间
    state:需要循环执行的命令
    于是等价命令和输出结果为:
    在这里插入图片描述
    由于P值显著性水平α,所以该序列不能拒绝纯随机的原假设,换言之,我们可以认为该序列的波动没有任何统计规律可循,因而可以停止对该序列的统计分析。
    还需要解释的一点是,为什么上述检验了前6期和前12期延迟的Q统计量和LB统计量就直接判断该序列是白噪声序列?为什么不进行全部999期延迟检验?
    这是因为平稳序列通常具有短期相关性,如果序列值之间存在显著的相关关系,通常只存在于延迟时期比较短的序列值之间。所以,如果一个平稳序列短期延迟的序列值之间都不存在显著的相关关系,通常长期延迟之间就更不会存在显著的相关关系了。
    另一方面,假如一个平稳序列显示出显著的短期相关性,那么该序列就一定不是白噪声序列,我们就可以对序列值之间存在的相关性进行分析。因为平稳序列只要延迟时期足够长,自相关系数都会收敛于零。

    以1949-1998年北京市每年最高气温序列为例进行平稳性与纯随机性检验。
    1.绘制1949-1998年北京市每年最高气温序列时序图。

    > b<-read.table("file6.csv",sep=",",header=T)
    > temp<-ts(b$temp,start=1949)
    > plot(temp)
    

    在这里插入图片描述
    上图显示北京市每年的最高气温始终围绕在37℃附近随机波动,没有明显趋势或周期,基本可以视为平稳序列。但为了稳妥起见,我们还需要利用自相关图进一步辅助识别。

    2.绘制1949-1998年北京市每年最高气温序列自相关图

    > acf(temp)
    

    在这里插入图片描述
    自相关图显示该序列的自相关系数一直都比较小,始终控制在2倍标准差范围以内,可以认为该序列自始至终都在零轴附近波动,这是随机性非常强的平稳时间序列通常具有的自相关特征。

    3.对1949-1998年北京市最高气温序列做白噪声检验(α=0.05)

    > for(i in 1:2)print(Box.test(temp,lag=6*i))
    

    在这里插入图片描述
    根据这个检验结果,不能拒绝序列纯随机的原假设。因而可以认为北京市最高气温的变动属于纯随机波动。这说明我们很难根据历史信息预测未来年份的最高气温。至此,对该序列的分析也就结束了。

    展开全文
  • 引言根据Wold分解定理,任意一个离散平稳时间序列都可以分解为一个确定性平稳序列一个随机性平稳序列之。且确定性序列可以表达为历史序列值的线性函数,而随机性序列可以表达为历史新息(历史纯随机波动)的线性...

    引言

    根据Wold分解定理,任意一个离散平稳时间序列都可以分解为一个确定性平稳序列和一个随机性平稳序列之和。且确定性序列可以表达为历史序列值的线性函数,而随机性序列可以表达为历史新息(历史纯随机波动)的线性组合,即

    7c67f9a55fdcfc29e05992e0a51cad51.png

    上式在统计上被称为自回归移动平均模型 (auto-regression moving average), 简称为 ARMA模型。

    Wold分解定理保证了平稳序列一定可以用某个 ARMA 模型等价表达, 所以 ARMA模型是目前最常用的平稳序列拟合与预测模型。

    ARMA 模型实际上是一个模型族, 它又可细分为 AR 模型, MA 模型和 ARMA 模型三大类。

    AR模型的定义

    具有如下结构的模型称为p阶自回归模型,简记为

    ec98793de5d92787a64609c5782accd2.png

    特别当

    时,称为中心化
    模型

    2e6538192c4740a4528dcf59d12c18a2.png

    ,称

    的中心化序列

    7eb5dbdae5968f78842fce05bae6b385.png

    自回归系数多项式

    引进延迟算子,中心化

    模型又可以简记为

    566da029b7890f2f1852b9f5629850d1.png

    称下式为p阶自回归系数多项式

    00b4c3289c7d7db1b87902a05c10921a.png

    延迟算子

    延迟算子类似于一个时间指针,当前序列值乘以一个延迟算子,就相当于把当前序列值的时间向过去拨了一个时刻

    记B为延迟算子,有

    e2d5b3327634d3b810ecc787bf1c2203.png

    所以

    模型的简写形式如下导出

    57e18020dd17b972f02ec84b527938c3.png

    延迟算子的性质

    2c4623ff914b80e18d7dc0e51adf1ab7.png

    be88b484aefae52ffb824f3548e09bd1.png

    3b9eb7c9b6bf5bd2d26ecb020853ce81.png

    fd4eda3fe1cca737f965fa5e78ec783f.png

    14daaebee59f2d7f07531245b1f8b8b0.png

    AR模型平稳性判别

    • 判别原因

    要拟合一个平稳序列的发展, 用来拟合的模型显然也应该是平稳的。AR 模型是常用的平稳序列的拟合模型之一, 但并非所有的 AR 模型都是平稳的。

    • 判别方法

    特征根判别法

    平稳域判别法

    例1

    考察如下四个模型的平稳性

    2841e23d84d6c1822b8b24551f734dcf.png

    平稳特征

    9c3d21cc4a43ef1db071af4b672b5f76.png

    非平稳特征

    4eb3f4112fb431e88301167f20bede9b.png

    特征根判别

    p阶自回归序列平稳,要求p个非零特征根都在单位圆内,即

    85769e42ebabc60a3b300539d3a3394c.png

    在引入延迟算子之后, 我们还可以推导出跟特征根判别等价的性质: p阶自回归序列平稳的条件是自回归系数多项式的p 个根都在单位圆外

    2715cb41e908dcbea5a7b981cbd0067b.png

    平稳域判别

    对于一个

    模型而言,如果没有平稳性的要求,实际上也就意味着对参数向量没有任何限制,它们可以取遍维欧氏空间的任意一点

    如果加上了平稳性限制,参数向量就只能取维欧氏空间的一个子集,使得特征根都在单位圆内的系数集合

    12e9e50f8177ebdf394dd93d9087fc4a.png

    对于低阶自回归模型用平稳域的方法判别模型的平稳性通常更为简便

    AR(1)模型平稳条件

    方程结构

    d06e0f0e7cbebff62855719e7241abf7.png

    特征根

    25fe2a350c0b0792c575a9ebe8d48b57.png

    平稳域

    a19b26c03f5f0ba58697b4d1aa048b75.png

    AR(2)模型的平稳条件

    方程结构

    05b15ffd99af5b8d881302684923f90f.png

    特征根

    56ad05bf26ebf0900e2fd47fe1a1dadd.png

    平稳域

    a3cf8e577f1015998c3a6b0c372b05ff.png

    8f95cc22de81dcc339c09a9ff00a0086.png

    AR(2)的平稳域

    d6d731e4925d2d840bdb4c52514594f5.png

    7f960ae6fb3f88e3b504d27607b31d60.png

    例1续

    分别用特征根判别法和平稳域判别法检验例3-1中四个 AR 模型的平稳性

    b92f139497b4bb159c5112bb833f0902.png

    平稳性判别

    3ce301626286949712eac6f2f2e91b2f.png

    平稳AR模型的统计性质——均值

    如果AR(p)模型满足平稳性条件,则有

    bea937c3bc91e3f698fd6b982f777bd1.png

    根据平稳序列均值为常数,且

    为白噪声序列,有

    3e81643bbebca2b0191042523d2e93cd.png

    推导出

    53ca8278311e84d52e26f3448bce96d5.png

    平稳AR模型的统计性质——方差

    要得到平稳 AR(p)模型的方差, 需要借助 Green函数的帮助

    Green函数的定义

    假设

    为任意p阶的平稳 AR 模型, 那么一定存在一个常数序列
    使得
    可以等价表达为纯随机序列
    的线性组合, 即

    a211f80253a7e2b28a8c15cfbf01cab6.png

    这个常数序列

    就称为 Green函数

    基于Green函数,可以求出AR(p)模型的方差为

    2b5563b062a6c689e624d30b75a59030.png

    Green函数的递推公式

    原理

    331f860114d7d0f0d86146169f38d841.png

    方法:待定系数法

    99945bef695ca97bc34c3f930c81806c.png

    例2

    求平稳 AR(1) 模型

    的 Green函数的递推公式, 并基于 Green函数求解 AR(1) 模型的方差。

    平稳AR(1)模型的Green函数递推公式为

    26d997dba8950a1797783c54a0c32e94.png

    平稳AR(1)模型的方差为

    b3b6416451749a2e5a4041945e897b46.png

    平稳AR模型的统计性质——协方差函数

    在平稳AR(p)模型两边同乘

    ,再求期望

    5c786314c3eb7fe924943c77ef614ff4.png

    根据

    c2bbb8e3b6b3540905ba1e01890dd716.png

    得协方差函数的递推公式

    6b07c53ea4ddf7ac7af6b2a1b66f227a.png

    例3

    求平稳AR(1)模型的协方差

    递推公式

    46b4a497922f8241fc2d25930ce150a7.png

    因为平稳AR(1)模型的方差为

    83e21fe6afb5469d6d5533c73363dfc9.png

    所以协方差函数的递推公式为

    c5fe33e94fd56755d17a869db4c6e07a.png

    例4

    求平稳AR(2)模型的协方差

    平稳AR(2)模型的协方差函数递推公式为

    53e7e8bee5006414c67c34275d7182d9.png

    平稳AR模型的统计性质——自相关系数

    自相关系数的定义

    03fba0d08f0c51ab387698c56ffe6bba.png

    平稳AR(P)模型的自相关系数递推公式

    489d4bc83d320a189c29d6c04ed006ea.png

    常用AR模型自相关系数递推公式

    AR(1)模型

    8cee6eef508e10ffca784d254eacf163.png

    AR(2)模型

    effea4b52b02f86a2b8242e6a29cfc2f.png

    AR模型自相关系数的性质

    AR模型的自相关系数的表达式实际上是一个齐次差分方程,它的通解形式为

    7ecec5e2f1e7af20a28a1c55f5c07ed3.png

    根据自相关系数的通解形式,可以判断AR模型的自相关系数具有如下特征

    呈指数衰减

    53c03cfe2ec9296b42ca8ce96d523bcd.png

    拖尾性

    ff249580fdfdcaf33ca962b207da7ebf.png

    例5

    考察如下AR模型的自相关图

    4229fc95fc0da4fef48ce370571c80a0.png

    1f0f4977020e60f4d103d3a81a4de55f.png

    图示解释

    从上图中可以看到, 这四个平稳 AR 模型, 不论它们是 AR(1)模型还是 AR(2)模型, 不论它们的特征根是实根还是复根, 是正根还是负根, 它们的自相关系数都呈现出拖尾性和呈指数衰减到零值附近的性质。

    但由于特征根不同, 它们的自相关系数衰减的方式也不一样

    • 有的是按负指数单调衰减 (如模型(1))
    • 有的是正负相间地衰减 (如模型(2))
    • 有的呈现出类似于周期性的余弦衰减, 即具有 “伪周期” 特征 (如模型(3))
    • 有的是不规则衰减(如模型(4))

    偏自相关系数(partial autocorrelation function,PACF )

    时间序列过程的偏自相关函数就是时间序列在两个时间随机变量之间,排除了其间各个时间随机变量影响的相关系数。

    偏自相关系数的定义

    对于平稳

    序列,所谓滞后k偏自相关系数就是指在给定中间
    个随机变量
    的条件下,或者说,在剔除了中间k-1个随机变量的干扰之后,
    影响的相关度量。用数学语言描述就是

    1843c23bbdf190bb73d42d3c1cbab1dd.png

    偏自相关系数的计算

    ccdb385974071d5eb7dc4a5be819efd4.png

    基于Yule-Walker方程组计算偏自相关系数

    在方程

    17ac288235e6fb78e73ce05ab494319f.png

    等号两边同时乘以

    ,等号两边求期望再除以方差,得

    e7614dc5279353d16cadeabbf424921b.png

    取前k个方程构成的方程组即Yule-Walker方程组

    f946be77d63046cfcb8e983bd5996ce0.png

    解Yule-Walker方程组可以得到参数

    的解,最后一个参数的解即为延迟K偏自相关系数

    AR(1)模型偏自相关系数的计算

    AR(1)模型

    44a267d4308e2991ba4e6e9439040390.png

    Jule-Walker方程

    d02579e38fe3ffcf3ed1fd9a187aac3d.png

    偏自相关系数的解

    ae48da813e7502042cccaaa0b372787e.png

    AR(2)模型偏自相关系数的计算

    2f139c3200915955b9de33ea70a1a7f8.png

    0f22a184024c54e588e0a78d489f47fc.png

    8b6d509672b35443086b69747a878e65.png

    基于矩阵结构计算偏自相关系数

    b0cf89ff27056ce756c3c776a122e779.png

    证明AR(p)模型偏自相关系数p阶截尾

    所谓p 阶截尾, 是指

    。 要证明这一点, 实际上只要能证明当
    时,
    即可。

    afc82509bed7b2071d70b40bb084f97f.png

    例5续

    求如下AR模型的偏自相关系数,并考察它们的偏自相关图特征

    4229fc95fc0da4fef48ce370571c80a0.png

    aadcc33a269751368037e35f168c7b22.png
    AR模型的偏自相关系数

    9db31011b98cb36fadc4eb384f4cb5d3.png
    AR序列的偏自相关图

    1、已知AR(1)模型为:

    22470c1d98714c0bf42f1594619afc20.png

    解:

    702e32e42ab34e14dff14ef171508227.png

    2、已知某AR(2)模型为:

    b737f2cc49c0c6cb8eeee98a497594ff.png

    解:

    b313a7860eca41e9cfac23953123e65a.png

    3、已知某AR(2)模型为:

    85e4e9922aa528ff61c3cbc4f598b8a4.png

    解:

    7209de1ed75087010b3a9acfd2190399.png

    2c67afc437c70abd65947f4b53d50edb.png

    4、已知AR(2)序列为:

    3057aa26807874f51fe4df7b4fc1d807.png

    解:

    8ea5492d074659d7d1277522e052684f.png

    5、证明对任意常数c,如下定义的AR(3)序列-定是非平稳序列:

    af741be84440a3f87071436db72b203b.png

    解:

    6e9cb792f08ce7a0f3c2bfe11b8c113d.png

    6、对于AR(1)模型,

    1c6de42b18a2a1966e4c5678ea017670.png

    判断如下命题是否正确

    f5cb2383ff9cd50b28b0f80a12c29f20.png
    展开全文
  • 这一部分是时间序列预处理R语言的...下一篇再写纯随机性检验 全部代码 #input data yield <- c(15.2,16.9,15.3,14.9,15.7,15.1,16.7) #对比向量时间序列画图的差别 par(mfrow=c(1,2)) plot(yield) yield &l...

    这一部分是时间序列预处理R语言的实现。
    目标是将课本和上课知识点整合。
    老师是用一节课讲完的,本篇文章只做了平稳性检验~~~
    下一篇再写纯随机性检验

    全部代码

    #input data
    yield <- c(15.2,16.9,15.3,14.9,15.7,15.1,16.7)
    
    #对比向量和时间序列画图的差别
    par(mfrow=c(1,2))
    plot(yield)
    
    yield <- ts(yield,start = 1884)
    plot(yield)
    
    #介绍plot函数
    help(plot)
    plot(yield,type = "o",pch = 5,lty=1,lwd=3,col=1,
         main="yield",xlab="Year",ylab="yield",xlim=c(1884,1890),ylim=c(14.5,17))
    abline(v=c(1889),lty=2)#添加一条线/多条线
    abline(h=16)
    
    
    
    
    #计算自相关系数
    acf(yield,lag.max = 24)
    AC <- acf(yield)
    AC$acf
    help(acf)
    abline(h=1.96*1/sqrt(7),col=3)#α=0.05时,α/2 的分位点————假设检验。超出了线就是拒绝原假设,说明自相关系数不等于0.
    abline(h=- 1.96*1/sqrt(7),col=2)
    
    T <- length(yield)
    cor(yield[1:T-1],yield[2:T])
    
    
    #平稳性检验
    sha <- read.csv()
    output <- ts(sha$output,start=1994)
    plot(output)
    acf(output,lag.max=24,ylim=c(-1,1))
    
    a <- read.csv()
    milk <- ts(a$milk,start =c(1962,1) ,frequency = 12)
    plot(milk)
    acf(milk,lag.max=24,ylim=c(-1,1))
    
    b <- read.csv()
    temp <- ts(b$temp,start = 1949)
    plot(temp)
    acf(temp,ylim=c(-1,1))

    平稳性检验的R语言的实现


    1 对比时序图和向量区别

    #input data
    yield <- c(15.2,16.9,15.3,14.9,15.7,15.1,16.7)
    
    #对比向量和时间序列画图的差别
    par(mfrow=c(1,2))
    plot(yield)
    yield <- ts(yield,start = 1884)
    plot(yield)
    • 画两个图的时候运用par这个函数
      在这里插入图片描述
      可以看到两者的区别一个是散点图,另一个是连起来的。
      x轴一个是时间,一个是第几个数。

    2 基本画图设置

    #介绍plot函数
    help(plot)
    plot(yield,type = "o",pch = 5,lty=1,lwd=3,col=1   main="yield",xlab="Year",ylab="yield",xlim=c(1884,1890),ylim=c(14.5,17))
    abline(v=c(1889),lty=2)#添加一条线/多条线
    abline(h=16)

    在这里插入图片描述

    • plot函数在{graphics}程序包里
    • type:
      “p” for points,
      “l” for lines,
      “b” for both, 线不穿过点
      “c” for the lines part alone of “b”,
      “o” for both ‘overplotted’, 线穿过点
      “h” for ‘histogram’ like (or ‘high-density’) vertical lines,
      “s” for stair steps,
      “S” for other steps, see ‘Details’ below,
      “n” for no plotting.
    • main:给主图加标题
    • sub:给子图加标题
    • xlab:给横坐标加标题
    • ylab:给纵坐标加标题
    • pch:有25种形式——形状
      在这里插入图片描述
    • lty在这里插入图片描述
    • lwd在这里插入图片描述
    • color在这里插入图片描述
    • xlim ylim:x,y轴的取值

    • abline()在已有的图上表示添加一条线/多条线
      abline(v=16):横着
      abline(h=16):竖着

    3 计算自相关系数

    #计算自相关系数
    acf(yield,lag.max = 24)
    AC <- acf(yield)
    AC$acf
    abline(h=1.96*1/sqrt(7),col=3)#α=0.05时,α/2 的分位点————假设检验。超出了线就是拒绝原假设,说明自相关系数不等于0.
    abline(h=- 1.96*1/sqrt(7),col=2)
    
    
    • 自相关图:
      在这里插入图片描述
    • acf(yield,lag.max=···,type,na.action)
      • yield是数据
      • lag.max是滞后阶数
      • type = c(“correlation”, “covariance”, “partial”),默认自相关函数,第二个自协方差,第三个偏自相关
      • na.action:对缺失值的处理

    #计算自相关系数
    acf(yield,lag.max = 24)
    AC <- acf(yield)
    AC$acf
    , , 1
    [,1]
    [1,] 1.00000000
    [2,] -0.35565808 #滞后一阶自相关
    [3,] -0.07731467
    [4,] -0.04470251
    [5,] -0.28825962
    [6,] 0.39394421
    [7,] -0.12800933

    • 滞后自相关:ρ0=1\rho_0=1XtXt1ρ1X_t和X_{t-1}\to\rho_1XtXt2ρ2X_t和X_{t-2}\to \rho_2XtXt3ρ3X_t和X_{t-3}\to \rho_3\dots和\dots\to\dotsXtXt6ρ6X_t和X_{t-6}\to \rho_6

    4 用相关函数的方法计算自相关函数

    #滞后一阶
    T <- length(yield)
    cor(yield[1:T-1],yield[2:T])

    T <- length(yield)
    cor(yield[1:T-1],yield[2:T])
    [1] -0.4182568

    R语言自相关函数是:acf(yield),也可以运用教材23页公式计算自相关函数,因为是约等,所以计算结果会有一点差别,当样本量较大时差别会很小:
    cov(yield[1:T-1],yield[2:T])/var(yield[1:T])
    cor(yield[1:T-1],yield[2:T])


    5 平稳性检验的三个例子

    #平稳性检验
    sha <- read.csv()
    output <- ts(sha$output,start=1994)
    plot(output)
    acf(output,lag.max=24,ylim=c(-1,1))

    时序图:有趋势
    自相关系数图:先正的递减,后负的递增。而平稳的是呈现衰减的趋势,所以不是平稳时间序列。
    在这里插入图片描述

    a <- read.csv()
    milk <- ts(a$milk,start =c(1962,1) ,frequency = 12)
    plot(milk)
    acf(milk,lag.max=24,ylim=c(-1,1))

    时序图:有周期
    自相关图:未衰减
    在这里插入图片描述

    b <- read.csv()
    temp <- ts(b$temp,start = 1949)
    plot(temp)
    acf(temp,ylim=c(-1,1))

    时序图:无递增递减趋势,无周期趋势,初步判断是平稳的。
    自相关图:前几阶比较大,后衰减接近0
    在这里插入图片描述

    展开全文
  • 1.平稳性和纯随机性检验 平稳性和纯随机性检验的重要性: ARMA、ARIMA模型都建立在时间序列为平稳非白噪声序列的假设下。 平稳性检验 方法:时序图检验,自相关图检验,单位根检验 简单介绍**单位根检验(ADF检验)*...
  • 四、 ARIMA模型对固定资产额进行预测(一...在进行自回归移动平均模型建模之前,必须要对数据的平稳性和纯随机性进行检验。若时间序列具有明显的递增或是递减趋势,则此时时间序列不具有平稳性,需要对数据进行差分...
  • 2020-10-22

    2020-10-22 10:54:38
    总括:所谓时间序列的预处理,即是对观察值序列进行平稳性和纯随机性的检验。 预备知识: 时间序列(是一种随机变量族)的统计性质完全由它的联合概率分布族决定。 由于在实际应用中很难得到序列的联合概率分布...
  • 二、时间序列的预处理

    万次阅读 2018-06-11 11:28:29
    一般情况下,拿到一个观察值序列之后,首先要对它的平稳性和纯随机性进行检验,这两个重要的检验称为序列的预处理。根据检验的结果可以将序列分为不同的类型,对不同类型的序列我们会采用不同的分析方法。 一、平稳...
  • 探索数据之自相关图分析(一)

    万次阅读 多人点赞 2018-11-27 00:05:24
    前言: 作为探索数据的第一...拿到一组观察值序列之后,我们首先要对他的平稳性和纯随机性进行检验,这也叫做序列的预处理,根据检验的结果我们会采用不同的分析方法,也会用对应的不同模型。 描述时间序列的特征统...
  • 时间序列的预处理拿到一个观察序列后,首先要对它的平稳性和纯随机性进行检验,这两个重要的检验称为序列的预处理。根据检验的结果可以将序列分为不同的类型,对不同的类型我们采用不同的分析方法。 2.1 平稳性检验...
  • 王燕《应用时间序列分析》学习笔记1

    千次阅读 多人点赞 2018-03-14 22:28:24
    1.时间序列的定义 在统计研究中,常用按时间顺序排列的一组随机变量 ...,X1,X2,...,Xt,......,X1,X2,...,Xt,.....在拿到一个观察值序列之后,首先要对它的平稳性和纯随机性进行检验,称之为序列的预处理。 2.平稳...
  • 时间序列之AR、MA、ARMA、ARIMA模型

    千次阅读 2020-06-09 21:52:51
    对于一组观察值序列,首先要对它的平稳性和纯随机性进行检验,根据检验的结果可以将序列分为不同的类型,对不同类型的序列采用不同的分析方法。 自协方差函数 γ(t,s)=E[(Xt−μt)(Xs−μs)] \gamma \left( t,s \...
  • 自相关图检验2.3判断该序列的纯随机性3.选择适当模型4.参数估计5.模型检验及优化5.1模型显著性检验5.2参数显著性检验5.3模型优化三.时间序列预测 一.录入数据 1.读入数据 在R中输入一下命令: rain=read.table("/home...
  • 引言根据Wold分解定理,任意一个离散平稳时间序列都可以分解为一个确定性平稳序列一个随机性平稳序列之。且确定性序列可以表达为历史序列值的线性函数,而随机性序列可以表达为历史新息(历史纯随机波动)的线性...
  • 目录第一章 时间序列分析简介第二章 时间序列的预处理2.1 平稳时间序列的定义2.2 平稳时间序列的统计性质意义2.3 平稳性检验2.4 纯随机序列的定义性质2.5 纯随机性检验 第一章 时间序列分析简介 第二章 时间...
  • 拿到一个观察值序列后,首先要对它的纯随机性和平稳性进行检验,称之为预处理。在此区别纯随机序列、平稳非白噪声序列、非平稳序列。 纯随机序列(白噪声序列),序列的各项之间没有任何相关关系,序列有着完全无序的...
  • 时序模式1 时间序列算法2 时间序列的预处理2.1 平稳性检验2.2 纯随机性检验3 平稳时间序列分析3.1 AR模型3.2 MA模型3.3 ARMA模型3.4 平稳时间序列模型4非平稳时间序列分析4.1 差分运算4.2 ARIMA模型5 Python主要事需...
  • 拿到一个观察值后,首先要对他的纯随机性和平稳性进行检验,这两个重要的检验称为序列的预处理。根据检验结果可以将序列分为不同的类型,对不同类型的序列会采取不同的分析方法。 时间序列根据数据的分布可以分为...
  • 拿到一个时间序列首先要进行一个预处理,检验该观测序列的平稳性。接下来会根据其平稳情况来建模。 纯随机性检验和平稳性检验 平稳时间序列建模 非平稳时间序列建模
  • 在拿到一个观察值序列之后,需要对它的随机性和平稳性进行检验,根据检验结果分为纯随机序列、平稳非白噪声序列或非平稳序列。纯随机序列,称为白噪声序列,序列之间没有任何相关关系,没有任何可以提取的信息。平稳...
  • 指的是序列的 平稳性检验 纯随机性检验 每个统计学问题都需要进行一定的 假设,同样时间序列预测也是 一条时间序列里长期 稳定不变 的规律,是基本模型 平稳的基本思想:时间序列的行为并不随时间改变 平稳性...
  • Wold分解定理

    千次阅读 2020-02-06 16:44:43
    Wold分解定理: 平稳随机过程总可以分解成“可预测”“纯随机”两部分之。 数学家Herman Wold( 沃尔德1902-1950)1938年提出:...另一个为纯随机性部分,也称为正则部分。 设ztz_tzt​为平稳随机过程,ztz_tzt​...
  • 拿到一个观察值序列后,首先要对它的纯随机性和平稳性进行检验,这两个重要的检验称为序列的预处理。根据检验结果可以将序列分为不同的类型,对不同类型的序列会采取不同的分析方法。 对于纯随机序列,又叫白噪声...
  • ARMA模型短期预测的R语言实现,包括了模拟数据实际数据的预测过程,如平稳纯随机性检验,模型识别,模型定阶,短期预测
  • 时间序列模型学习笔记(一)

    千次阅读 2017-03-28 22:58:41
    时间序列的预处理时间序列的预处理是对一个观察值序列的纯随机性和平稳性进行检验,根据检验结果可以将此序列分为不同的类型,纯随机序列也称为白噪声序列,是没有任何信息可以提取的平稳随机序列。通过预处理将序列...
  • 时间序列分析之预处理(一)

    万次阅读 2017-04-16 22:49:44
    该笔记基于《时间序列分析-基于R》 时间序列分析是非常有价值应用最广的统计分析方法也是最难的一种统计分析方法, 在对时间序列进行分析之前必须对数据进行预分析处理,如:平稳性检验与纯随机性检验 。...
  • 时序模式--时间序列分析

    千次阅读 2016-06-15 10:08:08
    (1)纯随机性和平稳性检验,检验结果不同将序列分为不同 的类型,有不同的分析方法。 纯随机序列(白噪声序列)—序列各项之间无任何相关关系,序列在进行完全无序的随机波动,可终止对序列的分析。白噪声序列是...
  • 时间序列的预处理拿到一个观察值序列后,首先要对它的纯随机性和平稳性进行检验,这两个重要的检验被称为序列的预处理。根据检验结果可以将序列分为不同的类型,对不同类型的序列会采取不同的分析方法。对于纯随机...
  • 一、平稳性检验 1.时间序列的联合概率分布概率分布族 时间序列的联合概率分布:任取m∈Zm\in Zm∈Z 2.时间序列的 二、纯随机性检验

空空如也

空空如也

1 2 3
收藏数 51
精华内容 20
关键字:

平稳性和纯随机性