精华内容
下载资源
问答
  • 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))
    

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

    展开全文
  • 本文为本科课程整理 ...#纯随机性检验 white_noise <- rnorm(500) white_noise2 <- rnorm(500,mean = 2,sd = 0.2) white_noise <- ts(white_noise) plot(white_noise) acf(white_noise,ylim=c(-1,1))...

    本文为本科课程整理
    五一应该会做一个大概的纸质版的笔记整理。

    #纯随机性检验
    white_noise <- rnorm(500)
    white_noise2 <- rnorm(500,mean = 2,sd = 0.2)
    white_noise <- ts(white_noise)
    plot(white_noise)
    acf(white_noise,ylim=c(-1,1))
    
    #LBQ检验
    LBQ <- Box.test(white_noise,lag = 6,type = "Ljung-Box")
    help(Box.test)
    LBQ$p.value
    
    #for循环
    for (i in 1:2) print(Box.test(white_noise,lag = 6*i))
    
    LBQ_p <- 1:24
    for(i in 1:24){
      LBQ <- Box.test(white_noise,lag = 6*i)
      LBQ_p[i]<- LBQ$p.value
    }
    
    c<-read.csv()#教材40页
    prop <- ts(c$prop,start = 1950)
    plot(prop)
    acf(prop,ylim=c(-1,1))
    
    for (i in 1:2) print(Box.test(prop,lag=6*i))

    纯随机性检验

    #纯随机性检验
    white_noise <- rnorm(500)
    white_noise2 <- rnorm(500,mean = 2,sd = 0.2)
    white_noise <- ts(white_noise)
    plot(white_noise)
    acf(white_noise,ylim=c(-1,1))
    • rnorm():可以输入均值和标准差。不给的话默认为标准正态分布。
      在这里插入图片描述

    在这里插入图片描述

    LBQ检验——Box.text()

    #LBQ检验
    LBQ <- Box.test(white_noise,lag = 6,type = "Ljung-Box")
    help(Box.test)
    LBQ$p.value
    • Box.test:
      • lag:检验的滞后阶数
      • Q检验分为BPQ和LBQ检验。 LBQ检验效果更好一些。 type给一个LBQ检验来运行。
        在这里插入图片描述

    在拿到一个时间序列时,先把时序图画出来,看是不是平稳的,然后对其进行平稳性检验。如果不是平稳的,就要想办法把它化成平稳的时间序列。之后需要对其进行LBQ检验。
    -为什么进行纯随机性检验?
    -如果它是白噪声序列,就没必要用统计的方法进行分析了。


    #for循环
    for (i in 1:2) print(Box.test(white_noise,lag = 6*i))

    在这里插入图片描述


    LBQ_p <- 1:24
    for(i in 1:24){
      LBQ <- Box.test(white_noise,lag = i)
      LBQ_p[i]<- LBQ$p.value
    }

    在这里插入图片描述

    教材40页例子

    c<-read.csv()#教材40页
    prop <- ts(c$prop,start = 1950)
    plot(prop)
    acf(prop,ylim=c(-1,1))
    
    for (i in 1:2) print(Box.test(prop,lag=6*i))
    

    在这里插入图片描述
    没有明显趋势,还是要用ACF检验

    在这里插入图片描述
    通过自相关看到前面几阶显著,后面就衰减了
    然后进行LBQ检验,只检验了6和12

    在这里插入图片描述
    发现p值都小于0.05,说明存在自相关情况,不是白噪声序列。

    展开全文
  • 平稳性检验 平稳性检验的方法分为描述性方法与计量性方法。描述性方法主要指时序图检验、ACF 图检验,计量性方法主要指 DF 检验、ADF 检验与PP检验。本文仅介绍描述性方法。 时序图检验 所谓时序图,就是一个二维平...

    平稳时间序列定义

    在这里插入图片描述
    在实际应用中,研究最多的是宽平稳随机序列。如果不加特别注明,指的都是宽平稳随机序列。如果序列不满足平稳条件,就称为非平稳序列。

    平稳性检验

    平稳性检验的方法分为描述性方法与计量性方法。描述性方法主要指时序图检验、ACF 图检验,计量性方法主要指 DF 检验、ADF 检验与PP检验。本文仅介绍描述性方法。

    时序图检验

    所谓时序图,就是一个二维平而坐标图,通常横轴表示时间,纵轴表示序列取值。时序图可以帮助我们直观地掌握时间序列的一些基本分布特征所以时序分析的第一步通常是绘制时序图。
    例:绘制1949–1998年北京市每年最高气温序列时序图。数据如下:
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200325225232177.png

    #设置工作目录
    setwd("E:\\Code\\R_work") 
    
    #读取数据
    data <- read.csv("file.csv")
    
    #将数据转化为时间序列
    temp <- ts(data$temp,start=1949)
    
    #绘制时序图
    plot(temp)
    

    时序图

    ACF图检验

    #设置工作目录
    setwd("E:\\Code\\R_work") 
    
    #读取数据
    data <- read.csv("file.csv")
    
    #将数据转化为时间序列
    temp <- ts(data$temp,start=1949)
    
    #绘制ACF图
    acf(temp)
    

    ACF图检验

    纯随机性检验

    在这里插入图片描述

    假设条件

    在这里插入图片描述

    检验统计量

    在这里插入图片描述在这里插入图片描述在这里插入图片描述

    
    #设置工作目录
    setwd("E:\\Code\\R_work") 
    
    #读取数据
    data <- read.csv("file.csv")
    
    #将数据转化为时间序列
    temp <- ts(data$temp,start=1949)
    
    #对数据进行检验
    Box.test(temp,lag=6)
    

    Box.test一共有四个参数
    Box.test(x, lag = 1, type = c(“Box-Pierce”, “Ljung-Box”), fitdf = 0)

    • x 标时间序列
    • lag 延后期数
    • type 选择Q统计量或LB统计量
    • fitdf 当检验的序列是残差到时候,需要加上命令fitdf,表示减去的自由度。

    检验结果为:
    在这里插入图片描述在给定显著性水平0.05的情况下,P值大于显著性水平,故接受原假设,即北京市最高气温变动属于纯随机波动。

    展开全文
  • p<-ts(data$水位,start=c(1860),frequency=1) #Draw a sequence diagram plot(p,type = "o") #Draw autocorrelation diagram acf(p,lag.max = 25) #Check whether the sequence is a pure random sequence ...
    p<-ts(data$水位,start=c(1860),frequency=1)
    
    #Draw a sequence diagram
    plot(p,type = "o")
    
    #Draw autocorrelation diagram
    acf(p,lag.max = 25)
    
    #Check whether the sequence is a pure random sequence
    Box.test(p,lag = 12,type = "Ljung-Box")
    
    

    效果图
    在这里插入图片描述

    在这里插入图片描述
    运行结果
    Box-Ljung test

    data: p
    X-squared = 329.2, df = 12, p-value < 2.2e-16

    展开全文
  • R 随机性检验

    千次阅读 2018-07-02 21:38:24
    如果一组数据是随机的,那么就失去了建模的意义,所以需要对数据进行随机性检验R随机性检验:利用R的随机函数,生成一个10万个随机数,然后我们对其进行随机性检验p值为0.7404#纯随机性检验,p值小于5%,序列为非白...
  • plot函数 type:点线结构参数,参数取值有: p–>点, l–>线, b–>点连线, o–>线穿过点, h–>悬垂线, s–>阶梯线 pch: 观察点的参数,有25个值.... acf(yield) 结果: 产生正态随机数 纯随机性检验 例如:
  • 随机森林r语言实现(超详细)

    万次阅读 多人点赞 2017-12-25 11:49:29
    随机森林就是用随机的方式建立一个森林,森林里面有很多的决策树,并且每棵树之间是没有关联的。得到一个森林后,当有一个新的样本输入,森林中的每一棵决策树会分别进行一下判断,进行类别归类...R语言如何实现。
  • R语言里做做正态性检验通常用到的函数是shaporo.test(),这个是叫Shapiro-Wilk(夏皮罗-威尔克)正态性性检验。对应的原假设是 样本X来自的总体具有正态性分布比如代码> x<-rnorm(100) > shapiro.test(x) ...
  • R语言随机森林

    千次阅读 2016-06-11 17:16:00
    R语言随机森林 回归树模型(CART) 决策树是一种倒立的树结构,它由内部节点、叶子节点和边组成。其中最上面的一个节点叫根节点。 构造一棵决策树需要一个训练集,一些例子组成,每个例子用一些属性(或特征)和一个...
  • 这篇推文会分别介绍经常使用的差异显著性检验方法在R语言中的实现。方法选择差异显著性检验具有多种方法,分别针对不同的情况,我们要根据自身情况选择合适的方法进行分析。⚠️以上方法均为比较不同组数据见均值的...
  • R语言 如何用for循环写出模拟长度48,完全随机,5个自由度的独立t分布过程并绘出时间序列图,检验随机性和正态性啊 输出结果类似这样
  • 之前详细介绍了利用R语言进行统计描述,详情点击:R语言系列第三期:①R语言单组汇总及图形展示、R语言系列第三期:②R语言多组汇总及图形展示、R语言系列第三期:③R语言表格及其图形展示从这个部分我们就开始为...
  • R语言 随机森林

    千次阅读 2019-04-16 20:23:17
    #随机森林 分类因变量 install.packages("randomForest") #安装随机森林包 library(randomForest) set.seed(2019) #设立随机种子,结果可重现 index=sample(2,nrow(iris),replace = TRUE,prob=c(0.8,0.2)) #随机...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 36,793
精华内容 14,717
关键字:

r语言纯随机性检验