美文网首页想法简友广场散文
R语言U统计量检验样本对称性

R语言U统计量检验样本对称性

作者: Cache_wood | 来源:发表于2022-03-24 09:20 被阅读0次

    @[toc]


    t分布

    ###generate data from t distribution
    Ufun<-function(df=3,n=20,K=300)
    {
      USTAT<-NULL
      for (k in 1:K){
        x<-rt(n,df)
        H<-NULL
        for (i in 1:(n-2)){
          for (j in (i+1):(n-1)){
            for (k in (j+1):n){
              a1<-sign(2*x[i]-x[j]-x[k])
              a2<-sign(2*x[j]-x[i]-x[k])
              a3<-sign(2*x[k]-x[i]-x[j])
              h<-1/3*(a1+a2+a3)
              H<-c(H,h)
            }
          }
        }
      Ustat<-(1/choose(n,3))*sum(H)
      USTAT<-c(USTAT,Ustat)
      }
      hist(USTAT,border = F,col='red')
      list(USTAT=USTAT,Umean=mean(USTAT),Uvar=var(USTAT))
    }
    tval<-Ufun(3,20,300)
    t.test(tval)
    
    qqnorm((tval$USTAT-tval$Umean)/sqrt(tval$Uvar))
    abline(0,1,col=2)
    

    结论:

    1. 从直方图来看,U统计量近似以0为中心对称分布;
    2. U统计量的QQ图可以看出:渐进正态
    3. 接受原假设,即t分布是对称的;

    指数分布

    ###generate data from exponential distribution
    UfunExp<-function(lambda=1,n=20,K=300)
    {
      USTAT<-NULL
      for (k in 1:K){
        x<-rexp(n,lambda)
        H<-NULL
        for (i in 1:(n-2)){
          for (j in (i+1):(n-1)){
            for (k in (j+1):n){
              a1<-sign(2*x[i]-x[j]-x[k])
              a2<-sign(2*x[j]-x[i]-x[k])
              a3<-sign(2*x[k]-x[i]-x[j])
              h<-1/3*(a1+a2+a3)
              H<-c(H,h)
            }
          }
        }
        Ustat<-(1/choose(n,3))*sum(H)
        USTAT<-c(USTAT,Ustat)
      }
      hist(USTAT,border = F,col='red')
      list(USTAT=USTAT,Umean=mean(USTAT),Uvar=var(USTAT))
    }
    expval<-UfunExp(2,20,300)
    t.test(expval$USTAT)
    
    qqnorm((expval$USTAT-expval$Umean)/sqrt(expval$Uvar))
    abline(0,1,col=2)
    

    结论:

    1. 从直方图来看,U统计量取值大部分小于0;
    2. U统计量的QQ图可以看出:非渐进正态;
    3. 拒绝原假设,即指数分布是非对称的;

    相关文章

      网友评论

        本文标题:R语言U统计量检验样本对称性

        本文链接:https://www.haomeiwen.com/subject/bkyodrtx.html