单总体分布卡方拟合优度检验


1 概率分布的检验

  1. 筛子是否均衡的检验

    考虑如下问题: 一枚骰子, 投掷600次, 出现1点到6点的次数如下

    Table 1: 骰子投掷次数数据
    1 2 3 4 5 6
    100 112 123 87 90 88

    试问骰子是否均匀

  2. 检验问题
    • 设骰子点数记为随机变量  Y  , 取值为  1,2,,6  的概率分别为  p1,,p6
    • 检验如下假设: 原假设:  H0:p1=p2=p6=1/6
    • 对立假设为:  p1,,p6  不全相等
    • 采用哪个统计量来度量
  3. 卡方拟合优度检验
    • npi  为 n 次抛掷中 出现  i  点的理论频数
    • 记  ni  为n次抛掷中出现  i  点的次数
    • 取检验统计量为
      χ2=i=16(ninpi)2npi
    • 可以证明在原假设成立的条件下, 当样本量趋近于   时, 有
      χ2χ2(61)
    • 上述检验方法可以推广到概率不均等的情况
  4. 简单情形下定理的验证
    • 对于(0,1) 分布, 检验  Y  取值为1 的概率是否为  p
    • 此时卡方统计量为
      χ2=(Ynp)2np+((nY)n(1p))2n(1p)=(Ynp)2(1np+1n(1p))=(Ynp)2np(1p)=(Ynpnp(1p))2χ2(1)
  5. 卡方拟合优度的应用 -彩票数据
    • 彩票0-9 出现概率是否相同
    • 分布拟合
    Table 2: 近100期 6+1 彩票开奖号码-部分数据
    12112 2 6 2 3 9 8 3
    12113 0 5 0 1 7 8 1
    12114 9 2 9 2 4 1 9
    12115 7 9 6 6 2 9 1
    12116 8 2 2 1 9 1 9

    file: data/caipiao.csv

  6. 数据读取和检验结果
    • 在R软件中采用 chisq.test 函数进行卡方拟合优度检验
    • 首先给出 0-9 的频数统计
    caipiao<-as.matrix(read.table("data/caipiao.csv",header=F,sep=","))
    sj<-as.numeric(caipiao[,-1])
    a<-table(sj);names(a)<-0:9
    t(a)
    
          0  1  2  3  4  5  6  7  8  9
    [1,] 71 71 71 59 79 69 76 69 67 68
    
  7. 彩票数字均匀性检验
    chisq.test(a)
    
            Chi-squared test for given probabilities
    
    data:  a
    X-squared = 3.6571, df = 9, p-value = 0.9325
    

2 如何验证分布服从正态分布

  1. R 和matlab中的专门函数
    • 在R有专门的函数对数据的正态性进行检验,如
      • ‘shapiro.test’ which performs the Shapiro-Wilk test for normality.
      • 'ks.test' Perform a one- or two-sample Kolmogorov-Smirnov test.
    • 在Matlab中也有专门的函数
      • jbtest 实现 Bera-Jarque 检验
      • lillietest 实现Lilliefors 检验
      • kstest 实现了Kolmogorov-Smirnov 检验,可以检验分布和位置参数
  2. R 中正态分布检验举例
    set.seed(1314)
    x<-rnorm(200)
    y<-runif(200)
    shapiro.test(x)
    shapiro.test(y)
    
    	Shapiro-Wilk normality test
    
    data:  x
    W = 0.99, p-value = 0.1797
    
    	Shapiro-Wilk normality test
    
    data:  y
    W = 0.9506, p-value = 2.136e-06
    
  3. matlab进行lillietest检验
    x=normrnd(0,1,200,1);
    lillietest(x)
    y=unifrnd(0,1,200,1);
    lillietest(y)
    
    x=normrnd(0,1,200,1);
    lillietest(x)
    
    ans =
    
         0
    y=unifrnd(0,1,200,1);
    lillietest(y)
    
    ans =
    
         1
    

    ans=0 表示接受原假设, ans=1 表示拒绝原假设



  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值