R语言:纯随机性检验 |
您所在的位置:网站首页 › r语言用于什么领域 › R语言:纯随机性检验 |
我们在拿到一个观察值序列之后,首先是判断它的平稳性。通过平稳性的检验,序列可以分为平稳序列和非平稳序列两大类。(通过平稳性检验判断序列的平稳性) 对于非平稳序列,由于它不具有二阶平稳的性质,所以对它的统计分析要费一些周折,通常要通过进一步的检验、变换或处理,才能确定适当的拟合模型。 对于平稳序列,情况就简单多了。我们有一套非常成熟的平稳序列建模方法。但是,并不是所有的平稳序列都值得建模。只有那些序列值之间具有密切的相关关系,历史数据对未来的发展有一定影响的序列,才值得我们花时间去挖掘历史数据中的有效信息,用来预测序列未来的发展。 如果序列值彼此之间没有任何相关性,那就意味着该序列是一个没有记忆的序列,过去的行为对将来的发展没有丝毫影响,这种序列称为纯随机序列。从统计角度而言,纯随机序列是没有任何分析价值的序列。 确定了序列是平稳序列后,还要进行随机性检验来确定平稳序列是否值得继续分析下去。 纯随机序列,也称为白噪声序列。之所以称为白噪声序列,是因为人们最初发现白光具有这种特性。容易证明白噪声序列一定是平稳序列,而且是最简单的平稳序列。 1.随机产生1000个服从标准正态分布的白噪声序列观察值,并绘制时序图。 正态分布随机数生成函数是rnorm。rnorm函数的命令格式为: rnorm(n=, mean=, sd=) 式中: n:随机数个数 mean:均值,缺省值默认为0 sd:标准差,缺省值默认为1 注:如果要产生n个服从标准正太分布的随机数,可以简写为rnorm(n) 所以本次命令与输出结果如下。 > white_noise white_noise plot(white_noise)
纯随机性检验 纯随机性检验也称白噪声检验,是专门用来检验序列是否为纯随机序列的一种方法。我们知道如果一个序列是纯随机序列,那么它的序列值之间应该没有任何相关关系。但这是一种理论上上才会出现的理想状况。实际上,由于观察值序列的有限性,导致纯随机序列的样本自相关系数不会绝对为零。 绘制上述随机产生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) 以1949-1998年北京市每年最高气温序列为例进行平稳性与纯随机性检验。 1.绘制1949-1998年北京市每年最高气温序列时序图。 > b temp plot(temp)
2.绘制1949-1998年北京市每年最高气温序列自相关图 > acf(temp)
3.对1949-1998年北京市最高气温序列做白噪声检验(α=0.05) > for(i in 1:2)print(Box.test(temp,lag=6*i))
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |