正态分布检验NormalTest

//  正态分布检验
//NormalTest:正态分布检验
//ZF:正态分布累积函数
//varK(dList,nCount,k,&dRes):k阶样本矩

int NormalTest(double* dList,int nDataCount,double alpha,bool* pbRes)
{
double sig1,sig2,mu2,A1,A2,A3,A4,B2,B3,B4,g1,g2,u1,u2;

if((NULL == dList) || (NULL == pdRes)) return -1;

if(nDataCount<100) return -2;

if((alpha < 0) || (alpha >= 1.0) ) return -3;

sig1=sqrt(6.0*(n-2)/(n+1)/(n+3));
sig2=sqrt(24.0*n*(n-2)*(n-3)/(n+1)/(n+1)/(n+3)/(n+5));
mu2=3.0-6.0/(n+1);

varK(dList,1,&A1);
varK(dList,2,&A2);
varK(dList,3,&A3);
varK(dList,4,&A4);
B2=A2-A1*A1;
B3=A3-3.0*A2*A1+2.0*A1*A1*A1;
B4=A4-4.0*A3*A1+6.0*A2*A1*A1-3.0*A1*A1*A1*A1;

if(fabs(B2)<1e-9)
return -4;

g1=B3/B2/sqrt(B2);
g2=B4/B2/B2;
u1=g1/sig1;
u2=(g2-mu2)/sig2;

if( (fabs(u1) >= ZF(1.0-alpha/4.0)) || (fabs(u2) >= ZF(1.0-alpha/4.0)) )
{
*pbRes = false;
}
else
{
*pbRes = true;
}

return 1;
}

转载于:https://www.cnblogs.com/JkReader/p/4355477.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值