精华内容
下载资源
问答
  • 本文档通过案例的形式展示了平稳性检验和纯随机性检验的完整过程、结果及具体分析,能让初学者更好的理解和掌握检验的真正作用,使知识更加融汇贯通。
  • 平稳性检验(描述性)与纯随机性检验

    万次阅读 多人点赞 2019-04-19 11:46:41
    本章主要介绍进行时序分析前的预处理,即平稳性检验与纯随机性检验。 平稳性检验(描述性) 平稳性检验的方法分为描述性方法与计量性方法。前者主要指时序图检验、ACF 图检验,后者主要指 DF 检验、ADF 检验与PP...

    这篇博客主要记录人大出版《应用时间序列分析》第二章的笔记。本章主要介绍进行时序分析前的预处理,即平稳性检验与纯随机性检验。

    平稳性检验(描述性)

    平稳性检验的方法分为描述性方法与计量性方法。前者主要指时序图检验、ACF 图检验,后者主要指 DF 检验、ADF 检验与PP检验。由于计量性方法需要 ARMA 模型的相关知识,这篇博客仅仅介绍描述性方法。

    时序图检验

    时序图检验即是通过观察时序图来判断时间序列是否平稳。Python 中画时序图的代码如下:

    import pandas as pd
    import matplotlib.pyplot as plt
    data = pd.DataFrame({'2010-01-01': 10.00, '2010-01-02': 13.00, '2010-01-04': 13.50, '2010-01-05': 13.50, '2010-01-06': 14.50, '2010-01-07': 16.00, '2010-01-08': 20.50, '2010-01-10': 24.50, '2010-01-11': 27.50, '2010-01-12': 30.50}, index=['price'])
    data = data.T
    data['price'].plot()
    plt.show()

    作图结果如下:

    其实就是使用 pandas 中内置的折线图。

    具体如何通过时序图来检验平稳性呢?平稳时序定义要求均值、方差为常数,协方差仅仅与时间间隔相关。从定义入手,时序图满足以下任一条件的不是平稳时序:

    • 时序存在明显的趋势,即均值不为常数
    • 时序存在集群效应,即某段时间的波动幅度较其它时段明显较大或者较小,即方差不为常数

    下图为集群效应的一个例子:

     

     

    时序中间时段的波动幅度明显大于两端,可以认为时序存在集群效应,为非平稳时序。集群效应在金融时间序列中往往十分常见。

    ACF图检验

    上篇博客中介绍了自协方差函数的定义与作图方法,链接:https://blog.csdn.net/weixin_44607126/article/details/89086035

    平稳时序往往仅具有短期自相关性,长期的 ACF 会振荡随机趋近于0。因此,当 ACF 图不满足这一条件时,可以认为时序非平稳。如何理解振荡与随机呢?下面给出几个 ACF 图检验的例子。

    上图在 k >= 2 时就已经趋于 0 了,但是并没有满足随机趋于 0 的条件,该图中的 ACF(k) 先连续4项正值,然后连续6项负值,整个图形呈现出倒三角的形状,这意味着时序中存在明显的趋势,为非平稳时序。事实上,这是一条单增时序的 ACF 图。

    上图是平稳时序的 ACF 图的一个例子,可以看到 ACF(k) 没有出现规律性,振荡随机趋近于0,可以认为时序平稳。

    总结来看,当 ACF 图满足下列任一条件时,可以认为时序为非平稳时序

    • ACF 图正项与负项连续交替出现,呈现倒三角形,意味着时序中存在趋势
    • ACF 图拖尾,即当 k 很大时仍有 ACF(k) 显著

    描述性检验方法的注意事项

    无论是时序图还是 ACF 图,使用它们作为检验方法时都具有较强的主观性,没有引入客观的统计量。因此,时序图与 ACF 图仅能用来排除非平稳时序,不能用来判断一个时序是否是平稳时序!即描述性检验方法仅仅是为计量性检验方法作一个初步筛选,如果时序没有通过描述性检验方法,就不需要进行计量性检验了;而即使时序通过了描述性检验方法,仍需要进行计量性检验来进一步确认时序为平稳时序。

    纯随机性检验

    在进行时序分析之前,我们需要确认这个时序不是一个单纯的噪音,而是蕴含着可以用模型描述的信息。因此需要对时序进行纯随机性检验。

    白噪声的定义

    我们称满足下列条件的时序为白噪声(纯随机时序):

    1. EX_{t}=\mu
    2. Var(X_{t})=\sigma ^2
    3. Cov(X_{t}, X_{t+k})=0, \forall t, k

    白噪声满足均值与方差均为常数,且不同时刻上的随机变量不相关。显然,白噪声是一种平稳时序。

    从白噪声的定义中可以看出,对于白噪声时序,历史数据不能提供关于未来的信息,此时建立时序模型将会是徒劳的。因此在蚝时序建模前需要进行白噪声检验。同时,白噪声还可以用来判断时序模型总体的显著性,当模型残差是白噪声序列时,就可以认为模型已经充分提取了时序信息。

    Barlett定理

    如果一个时序是纯随机的,得到一个观察期数为 n 的观察序列,那么该序列的延迟非零期样本自相关系数近似服从 N(0, \frac{1}{n})的正态分布。

    仅仅想在应用层面理解时序则不必深究上述定理。

    BP检验

    根据 Barlett 定理,可以构建 Q 统计量:Q=n\sum_{k=1}^{m}\widehat{\rho}_{k}^2

    则有 Q$\sim$\chi^2(m),其中 m 为指定最大延迟期数,\widehat{\rho}_{k}^2 为 k 期延迟样本自相关系数。原假设为时序是白噪声序列,当 Q 大于单侧检验临界值时认为时序不是白噪声序列。

    LB检验

    LB 检验是在 BP 检验的基础上进行了一些修正,使其更适用于小样本。LB 统计量表达式为:LB=n(n+2)\sum_{k=1}^{m}\widehat{\rho}_{k}^2/(n-k)

    在实际应用中通常使用 LB 检验。

    在python中进行 LB 检验的代码如下:

    from statsmodels.stats.diagnostic import acorr_ljungbox
    print(acorr_ljungbox(np.random.rand(100), lags=[6, 12]))

    lags 即上面公式中的m , 通常取 6 与 12。

    输出如下:

    (array([2.02502998, 8.28247283]), array([0.91738225, 0.76268484]))

    第一个 array 是 LB 统计量的数值,第二个 array 是 p 值。当 p 值小于显著性水平时认为时序不是白噪声。

    总结

    1. 在进行正式的时序建模前需要检验时序的平稳性与纯随机性
    2. 平稳性检验可以通过时序图、ACF 图等描述性方法,但依然要使用 ADF 检验、PP 检验来最终判断
    3. 纯随机性检验可以使用 BP 统计量与 LB 统计量,通常使用 LB 统计量

    误区

    1. 仅仅通过时序图与 ACF 图就断定一个时序是平稳时序:时序图与 ACF 图仅仅只能用于判断非平稳时序,不能用于判断平稳时序
    2. 不画时序图与 ACF 图,直接对时序进行 ADF 检验与 PP 检验:描述统计是必不可少的步骤,通过时序图与 ACF 图可以清楚看出时序的趋势性与周期性
    3. 在正式建模之前不检验时序的纯随机性,认为仅仅检验时序的平稳性就足够了:白噪声时序也是平稳序列,但是没有分析的价值
    4. 在正式建模之后不检验残差序列的纯随机性:残差序列的纯随机性检验有点类似于多元回归中的 F 检验,检验的是模型总体的显著性水平
    展开全文
  •  信号的平稳性检验在随机信号处理中起着十分基础的作用。由于平稳信号和非平稳信号的性质差别显着,因此在处理信号之前先行判断它的平稳性就显得尤为重要。虽然信号平稳性的定义十分明确,但是实际判断过程却是复杂...
  • 平稳性检验

    2021-03-22 17:07:21
    import statsmodels.tsa.stattools as stat for i in range(len(dfx.columns)): # print(dfx.columns[i]) pvalues=stat.adfuller(dfx.values[:,i],1)[1] if pvalues>0.01: print(dfx.columns[i],pvalues) ...
    import statsmodels.tsa.stattools as stat
    for i in range(len(dfx.columns)):
    #     print(dfx.columns[i])
        pvalues=stat.adfuller(dfx.values[:,i],1)[1]
        if pvalues>0.01:
            print(dfx.columns[i],pvalues)
            
            list_big.append(dfx.columns[i]) 
    dfx_change1 = dfx-dfx.shift(1)
    dfx_change1=dfx_change1.dropna()
    print('=============================================')
    for i in range(len(dfx_change1.columns)):
        pvalues=stat.adfuller(dfx_change1.values[:,i],1)[1]
        if pvalues>0.01:
            print(dfx.columns[i],pvalues)
    # for i in list_big:
    #     dfx[i] = dfx[i]-dfx[i].shift(1)
    dfx=dfx.diff()
    dfx = dfx.dropna()
    
    展开全文
  • 平稳性检验(描述性) 平稳性检验的方法分为描述性方法与计量性方法。前者主要指时序图检验、ACF 图检验,后者主要指 DF 检验、ADF 检验与PP检验。 如下两个模型: 原假设,备择假设 def ADF_p(start_...

    平稳性检验(描述性)

    平稳性检验的方法分为描述性方法与计量性方法。前者主要指时序图检验、ACF 图检验,后者主要指 DF 检验、ADF 检验与PP检验。

    如下两个模型:

                          p_{t}=\phi _{1}p_{t-1}+e_{t}

                         p_{t}=\phi _{0}+\phi _{1}p_{t-1}+e_{t}

    原假设H_{0}:\phi _{1}=1,备择假设H_{a}:\phi _{1}<1

    def ADF_p(start_date=None,end_date=None,stock=None,count=None,frequency=None):
        if not isinstance(stock,str):
            return 
        p = list()
        if frequency == '1m':
            trade_days = jd.get_trade_days(start_date=start_date,end_date=end_date)
            trade_days = list(map(lambda x:x.strftime('%Y-%m-%d'),trade_days))
            
            for days in trade_days:
                data = jd.get_price(security=stock, start_date=days+' 09:30:00', 
                            end_date=days+' 15:00:00', frequency='1m',
                            fields=['close'], skip_paused=False, fq='pre', count=None)['close']
                data = np.log(data.reset_index(drop=True))
                p.append((ADF(data)[1],days))   
        
        if frequency == '1d':
            trade_days = pd.date_range(start=start_date,end=end_date,freq='A')
            trade_days = list(map(lambda x:x.strftime('%Y-%m-%d'),trade_days))
            for days in trade_days:
                data = jd.get_price(security=stock,end_date=days, frequency='1d',
                            fields=['close'], skip_paused=False, fq='pre', count=250)['close']
                data = np.log(data.reset_index(drop=True))
                p.append((ADF(data)[1],days))
                
        return p

    p_min:上证指数,2020-01-01到2020-04-01,每日日内分钟收盘价的ADF检验的p值。大多数情况下p>0.05,日内每分钟收盘价是非平稳的即存在趋势性。

    p_d:上证指数,2015-2019,每年每日收盘价的ADF检验的p值,大多数情况下p>0.05,日收盘价是非平稳的即存在趋势性。

    随机性时间序列的定义与检验

    LB_p_min:上证指数,2020-01-01到2020-04-01,每日日内分钟收盘价的LB检验的p值。p<0.05,日内每分钟收盘价不是随机的。

    LB_p_d:上证指数,2015-2019,每年每日收盘价的LB检验的p值,p<0.05,日收盘价是非随机的。

    展开全文
  • 摘 要 : 主要介绍了在随机数据处理和误差分析中常用的平稳性检验方法。 即连检验、轮次检验和逆序列检验方法, 并对三种平稳性检验方法进行了分析比较。
  •  信号的平稳性检验在随机信号处理中起着十分基础的作用。由于平稳信号和非平稳信号的性质差别显着,因此在处理信号之前先行判断它的平稳性就显得尤为重要。虽然信号平稳性的定义十分明确,但是实际判断过程却是复杂...
  • matlab平稳性检验

    千次阅读 2018-09-11 17:52:06
    matlab有平稳检验的函数。函数说明如下: dfARDTest Augmented Dickey-Fuller unit root   test for AR model with drift  dfARTest ...

    matlab有平稳检验的函数。函数说明如下:
    dfARDTest                                   Augmented Dickey-Fuller unit root 
                                                       test for AR model with drift 

    dfARTest                                    Augmented Dickey-Fuller unit root 
                                                      test for zero-drift AR model 

    dfTSTest                                    Augmented Dickey-Fuller unit root 
                                                     test for trend-stationary AR model 

    ppARDTest                                 Phillips-Perron unit root test for 
                                                       AR(1) model with drift 

    ppARTest                                    Run Phillips-Perron unit root test 
                                                       for zero-drift AR(1) model 

    ppTSTest                                    Phillips-Perron unit root test for 
                                                        trend-stationary AR(1) model

    展开全文
  • 基于Matlab的信号平稳性检验系统.pdf
  • 掌握平稳性检验的相关概念 掌握统计套利方法 二、 实验内容 (1)平稳性分析:对2021 年1 月1 日-2021 年3 月1 日,中国石油,贵州茅台,兴蓉环境,招商银行,工商银行这5 只股票进行平稳性分析(均值和方差稳定)...
  • 时间序列平稳性检验方法分析及应用研究,陈海龙,王钧婷,判断时间序列的平稳性是时间序列分析的重要环节。由于平稳信号与非平稳信号的性质差别显著,所以判断时间序列的平稳性非常重要。
  • 基于替代数据方法的信号平稳性检验,纪冠群,李明,在对信号进行处理时,确定信号是否平稳是处理信号的前提。因此,信号的平稳性检测在信号处理中有着十分重要的作用。本文通过对原
  • matlab平稳性检验实例

    千次阅读 2020-07-07 16:24:06
    %构建两个序列进行检测 t = (1:100)';... %按照均匀分布生成的,所以是平稳的。; y2 = randn(100,1) + .2*t; plot(t,y1,t,y2); adftest(y1) adftest(y2) ans = 1 %1代表平稳 ans = 0 ...
  • ppt平稳性的定义;平稳性检验方法(ADF检验);伪回归的定义;协整的定义及检验方法(AEG方法);误差修正模型的含义及表示形式.
  • 时间序列平稳性检验—R语言KPSS检验

    千次阅读 2019-12-04 10:07:56
    对于一个时间序列,例如用R自带的google股价变化数据goog(可以通过导入fpp2包之后直接使用goog这个数组变量,这里仅为示例,代指要检验的时间序列或者数组)。 1.1 对goog进行KPSS检验 R代码为 library(urca) summary...
  • 时间序列的平稳性检验与随机性检验

    万次阅读 多人点赞 2019-04-05 14:42:56
        对于一个时间序列,在进行建模之前,首先需要进行平稳性检验和纯随机性检验,然后根据检验的结果再选择适合的模型。在讲解平稳性和随机性的定义之前,我们先介绍一下时间序列中常用的几个特征统计量。 2.1...
  • Python量化基础:时间序列的平稳性检验

    万次阅读 多人点赞 2019-01-31 16:06:43
    时间序列数据的平稳性对于我们采用什么样的分析方式、选择什么样的模型有着至关重要的影响。 我们想一下,假如一个时间序列的波动趋势从来没有稳定过,那么它每个时期的波动对于之后一段时期的影响都是无法预测的,...
  • 分析了真实无线局域网业务流的基本统计特性,并应用单位根检验方法检验无线局域网中的聚集业务流的非平稳性。实验结果表明,不论是下行的还是上行的聚集流在不同显著水平上存在非平稳性;同时对这些聚集业务流的一阶...
  • 时间序列的平稳性检验、协整检验和误差修正模型等的博文。 2.博主是一个普普通通的大学生,没有很厉害的技术,写的内容都是不太正经的偏小白简单的,写的也是学校教过的知识消化后自己的见解,不是很学术研究的博文...
  • 信号的平稳性检验在随机信号处理中起着十分基础的作用。由于平稳信号和非平稳信号的性质差别显著,因此在处理信号之前先行判断它的平稳性就显得尤为重要。虽然信号平稳性的定义十分明确,但是实际判断过程却是复杂的...
  • 平稳性检验和白噪声检验

    千次阅读 2017-11-13 10:50:00
    #平稳性检验 — 单位根检验 #白噪声 #白噪声检验 平稳性检验 — 单位根检验   即原假设为:序列至少存在一个单位根 备择假设为:没有一个单位根   若 ,则不能拒绝原假设,即存在单位...
  • 海水位数据的平稳性检验,王安琪,李明,本文以佛罗里达州和墨西哥东湾其中5个站点一年中的海水位数据作为研究对象,对海水位数据的平稳性进行了检验分析。经研究发现,��
  • 检查序列平稳性可以看序列自相关图或者用单位根检验,但是一般都用单位根检验,而单位根检验用的最多就是ADF检验。 操作 打开序列,查看序列是否存在时间趋势或者截距项(之后会用到,先记住结果): 查看 其中:...
  • 实用标准文案 实验一 时间序列数据平稳性检验实验指导 一实验目的 理解经济时间序列存在的不平稳性 掌握对时间序列平稳性检验的步骤和各种方法 认 识利用不平稳的序列进行建模所造成的影响 二基本概念 如果一个随机...
  • 对序列的平稳性检验中最常用的方法是单位根的检验。单位根检验是指检查序列中是否存在单位根,如果存在单位根就是非平稳时间序列了。下面是找的解释为什么单位根存在就是非平稳时间序列的原因。 作者:五雷 链接...
  • 数据挖掘——时间序列算法之平稳性检验平稳时间序列定义时间序列平稳性检验针对平稳和不![在这里插入图片描述](https://img-blog.csdnimg.cn/20200416154317496.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5...
  • 这里RM1是指货币供应量的同比增长率,想要检验RM1的平稳性。 先安装程序包tseries: 调用tseries: 进行单位根检验: P值为0.2843,大于0.05,不能拒绝原假设,认为RM1存在单位根,即不平稳。 这里的x[,2]...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,627
精华内容 2,650
关键字:

平稳性检验是什么