什么是游程检验

游程检验:是根据样本标志表现排列所形成的游程的多少进行判断的检验方法,主要用于检验一件事件的发生是否是随机的。游程检验广泛应用于工业产品的质量检验和生物制药检验等领域。随着大数据技术的兴起。游程检验也不断体现着他的作用。

scala实现随机游程检验


import breeze.stats.distributions._
import math._/*** RunsTest* @param serise**/def runsTest(serise: Seq[Int], alternative: String = hypothesis.twosided) = {if (serise.distinct.length > 2) {println("the serise need 0-1 destribution")} else {// 计算序列长度val slen = serise.length// 计算游程数var runsTimes = 1for (i <- 0 until slen - 1) {if (serise(i) != serise(i + 1)) runsTimes += 1 else runsTimes}val m = serise.filter(_ == 1).sizeval n = serise.filter(_ == 0).sizeval E = 1 + 2 * n * m / (n + m)val s2 = (2 * n * m * (2 * n * m - n - m)) / (math.pow(n + m, 2) * (n + m - 1))// 构建检验统计量(大样本条件下的服从正态分布)val statistic = (runsTimes - E) / math.sqrt(s2)val norm = new Gaussian(0, 1)// 计算正态分布的分布函数值def pnorm(statistic: Double) = {norm.probability(Double.NegativeInfinity, statistic)}// 求不同假设条件下的p值val pvalue: Double = if (alternative == "positive.correlated") {//     "Runs Test - Positive Correlated"pnorm(statistic)} else if (alternative == "negative.correlated") {//   "Runs Test - Negative Correlated"1 - pnorm(statistic)} else {//   "Runs Test - Two sided"2 * min(pnorm(statistic), 1 - pnorm(statistic))}// 返回检验统计量和p值(statistic, pvalue)}}

我们来看一个例子(这个例子不是很贴切,但是可以说明问题):假设抛一枚硬币,出现正面我们记为1,反面记为0,在反复抛了10次之后我们得出如下结果:(1,0,1,1,0,0,1,1,1,0)
我们想要通过结果判断该硬币是否是公平的,此时我们就可以应用游程检验的方法。首先呢我们建立假设:
H0:抛硬币的结果是随机的(即硬币是公平的)
H1:抛硬币的结果是非随机的(即硬币是不公平的)

val run = Array(1,0,1,1,0,0,1,1,1,0)
val value = runsTest(run)
println(value)(0.7024393586862705,0.48240520716622526)

检验的结果 p-value =0.48 >0.05*,我们可以认为没有充分的证据拒绝原假设,所以认为该硬币是公平的
那么如果抛硬币的结果为(0, 1, 0, 1, 0, 1, 0, 1, 0, 1)呢?
明显,这样的结果不是随机的,它已经具有周期性了。我们还是用上面的方法做检验:

val run = Array(0, 1, 0, 1, 0, 1, 0, 1, 0, 1)
val value = runsTest(run)
println(value)
(2.6832815729997477,0.007290358091535776)

p-value < 0.05 ,所以呢我们拒绝原假设。可以认为这枚硬币是有问题的(也可能是抛硬币的人有问题哦)
*关于p-value 选定的显著性水平通常情况下都选为0.05,当然也可以根据实际需求做相应调整

R语言实现随机游程检验

游程检验用R语言实现可以参考 吴喜之老师的《非参数统计》
也可以参考以下博文

https://blog.csdn.net/Yunru_Yang/article/details/62040455

参考资料

《非参数统计》第四版 吴喜之 赵博娟

https://blog.csdn.net/Yunru_Yang/article/details/62040455
部分代码参考自R语言 lawstat包
https://mirrors.tuna.tsinghua.edu.cn/CRAN/

大数据时代的“小数据”系列2 随机游程检验相关推荐

  1. 大数据时代,小数据中心

    文章讲的是大数据时代,小数据中心,中国(上海)国际数据中心技术设备展览会在上海隆重开幕.紧跟德国工业4.0的新趋势,威图(Rittal)携绿色.节能.可靠的数据中心系统解决方案登陆本次展会.在变革的大 ...

  2. 大数据时代的小数据会消亡吗(非原创)

    大数据时代的小数据会消亡吗 苏令银 上海师范大学马克思主义学院 上海师范大学经济伦理研究中心 摘 要: 在过去的几个世纪,学术知识的构建普遍使用小数据并取得了巨大进步,其特征是为回答特定问题而生成的抽 ...

  3. 大数据 杨栋_《大数据时代的小数据建设》——论文

    在教育教学中,大部分老师对如何轻松教会学生知识感到头疼,尤其是那些自觉性较差的学生,大脑里没有学习的概念,作业强迫做,而且有些还是为了应付差事而乱做,这是为什么呢?本人认为原因有二:一是作业量大:二是 ...

  4. 大数据时代的“小数据 系列3 --Shapiro-Wilk检验

    什么是Shapiro-Wilk检验 Shapiro-Wilk检验用来检验小样本数据是否数据符合正态分布.类似于回归的方法一样,计算一个相关系数,它越接近1就越表明数据和正态分布拟合得越好. 构建检验统 ...

  5. 大数据如何帮助小数据? 主题报告速记与评述(二)

    笔者按:机器学习正在走向基于"语义"的可解释模型的新时代,zero-shot learning是其中一个很有价值的方向.参见"A DARPA Perspective on ...

  6. 【数据科学】小数据治理靠“人工”,大数据治理靠“智能”

    摘要 本文把小数据和大数据的基本概念,小数据治理与大数据治理的范围.区别.方法及主要特征介绍比较清晰. (1)小数据治理靠"人工",小数据的治理十五字方针:理数据.建标准.接数据. ...

  7. 生活在互联网大数据时代,个人数据存储还有隐私吗?

    生活在互联网大数据时代,个人数据存储还有隐私吗? 进入移动互联网的时代,流量和数据快速增长,我们几乎无时无刻不在产生数据,这些数据会被随机的存储在各种APP上.云盘上.手机的内存里或者被缓存清除掉,或 ...

  8. 大数据时代的时序数据 陈超-互联网技术联盟-专题视频课程

    大数据时代的时序数据 陈超-2856人已学习 课程介绍         1024大数据技术峰会邀请到11位来自一线互联网企业的大数据核心研发团队骨干成员,针对选型开源技术搭建大数据平台.持续运维.优化 ...

  9. 大数据时代来临,数据应用随处可见

    序:大数据之所以可能成为一个时代,在很多程度上是因为这是一个可以由社会各界广泛参与,八面出击,处处结果的社会运动,而不仅仅是少数专家学者的研究对象.数据产生于各行各业,这场变革也必将影响到各行各业,因 ...

最新文章

  1. 图解 Java 垃圾回收机制,写得非常好!
  2. ScaleGestureDetector使用注意事项
  3. KP-ABE基于属性的加密加解密算法及Access Tree构建
  4. js 调用c语言函数看,web前端:JS高级---函数中的this的指向,函数的不同调用方式...
  5. 谈SQL SERVER数据库中的索引
  6. EL表达式结合页面JSTL使用 迭代显示表格
  7. 出租车计费-Java练习题
  8. Rediskey的基本操作
  9. word安全模式解除方法!
  10. CSS3中的元素过渡属性transition
  11. 痱子和湿疹的区别在哪里?
  12. iphone13开箱验机全步骤
  13. 9. 成功解决:Driver class ‘org.gjt.mm.mysql.Driver‘ could not be found
  14. 【机器学习】一文读懂正则化与LASSO回归,Ridge回归
  15. GNU:gcc -v
  16. 国嵌Linux视频驱动开发
  17. k均值聚类算法考试例题_K-均值法计算示例(示例)
  18. 2009年必看十大动漫游戏改编电影
  19. CSU多媒体技术及应用(实验)
  20. Qt 之 模仿迅雷 根据Url获取文件信息——上

热门文章

  1. 鸿蒙os将用在哪款机型,4月份正式开始,鸿蒙OS即将推送,14款荣耀机型在列,太感动了!...
  2. Vue项目不兼容IE浏览器问题
  3. Android下的指纹识别及登陆
  4. matlab求解出来的函数,变成点乘,并且成为函数
  5. matlab矩阵与数组的应用
  6. 期待结交更多做机器视觉的朋友
  7. Matlab中的color 画线的多种颜色
  8. 全志v3s linux 编译,全志V3S 编译运行xboot笔记
  9. python turtle笛卡尔心形线_笛卡尔心形线代码
  10. 本是同根生,相煎何太急