matlab 判断 正态分布,用MATLAB判断一组数据是否符合正态分布

问题描述

有一组已知的数据,例如为:

1006.1,1014,1001.6,996.4,997.8,981.6,996.4,991.9,993.3,1000.6,987.3,1015.6,981.6,996.2,999.2,994.5,1005.9,1001.9,986.4,1007.6,1001.4,1014.6,1010.2,993.9,1001.4

这组数据是否满足正态分布呢?如果满足的话,在后续的处理过程中,就可以用相应的数学表达式来描述其规律了,即已知散点数据,求其概率分布的问题。

实现方法

[noway]1.首先,用normplot()函数来简单拟合一下。[/noway]

对于上面的例子,首先设:

m=[1006.1,1014,1001.6,996.4,997.8,981.6,996.4,991.9,993.3,1000.6,987.3,1015.6,981.6,996.2,999.2,994.5,1005.9,1001.9,986.4,1007.6,1001.4,1014.6,1010.2,993.9,1001.4]

normplot(m)

385ff89e40620ddacc1151bdb4731321.png

看结果,发现散点基本都可以在红色的直线附近,说明这组数据有很大的可能性符合正态分布。

这里需要说明的是,这其实就是一张“正太概率纸”,即横坐标是等间隔的,而纵坐标却为按照标准正态分布给出的点。以上图举例,横坐标为1001.6时(这组已知数据中的任意值),其在红线上对应的点,就恰好为标准正态分布的纵坐标。因此,当实际散点与红线举例跃进,这组数据就越接近于标准正态分布。

如果已知数据符合正态分布规律的话,那散点就会在直线附近,呈线性分布,如果有“拐弯”的情况,就不是正态分布了。

但是呢,绘图法还不足以证明这组数据一定符合正态分布,还需要用另外的函数

[noway]2.用lillietest函数或jbtest函数进行正态分布的拟合优度测试[/noway]

进行假设检验,格式:[H,P,LSTAT,CV] = lillietest(X,alpha)

其中,P为接受假设的概率值,P越接近于0,则可以拒绝是正态分布的原假设;LSTAT为测试统计量的值,CV为是否拒绝原假设的临界值。

对于本例,则为

[H,P,LSTAT,CV] = lillietest(m,0.05)

H =

0

P =

0.5000

LSTAT =

0.1028

CV =

0.1730

h=0说明接受假设,该组数据符合正态分布;p=0.5说明符合正态分布的概率很大;LSTAT小于接受假设的临界值0.173,因此接受假设。

至此,判断结束。

其实,除了正态分布以外,还可以对其他的概率分布类型进行假设检验,以后有空一一列举出来。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值