加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Weibull分布

(2012-05-31 08:49:47)
标签:

杂谈

Matlab Statistics Toolbox的Help里关于Weibull分布的pdf

     在Matlab的help中搜索,Weibull,于Statistics Toolbox的文档中找到了。文档给出的pdf表达式是:

http://3lyoeq.blu.livefilestore.com/y1pKFmggg0jWepoTYEHm4KdfbpBvoP-RxGdJTqbiFjgeYZknVWssrow4B9xgCnK2O439l5qE2RlYrCiFvbYVSRPs-ZckTqVPnJW/20091025_1.jpg

     Wiki里给出的Weibull的pdf为:

http://3lyoeq.blu.livefilestore.com/y1pKFmggg0jWeriqNAhA9lh_fLUAjJKT6-zkBGxStsFgAJTJLSrReU_nv8ysPzd0z6kuQiN0pAfkl2T-wVYb2-WxVTrqAcU-xs2/20091025_2.jpg

     并没有看到那个奇怪的I(0, ∞)(x)。再仔细看,发现Wiki给出的表达式说明在x<0时f为0,而Matlab Help中的表达式没有说明这一点,那么I(0, ∞)(x)的意思终于显现了,比较合理的解释就是:I(0, ∞)(x)是这样一个函数:

http://3lyoeq.blu.livefilestore.com/y1pDKzzc4owDy8Gh4kBSp9cDBgdvRLhPns1i40Eqj1N6tJMjCCKOX51X39bFJ65VISMv8P2WVZ-wirlwX1H67KCJFfIGGzz8OFr/20091025_3.jpg

     也就是说I的那个下标所表示的区间是该函数值为1的区间,在这个区间以外其值为0。这也许是统计学里面的表示方法吧,我对于这些不怎么熟悉。

     Wiki中表达式里的λ和k对应Matlab Help里pdf的a和b。

 

话说 Weibull分布的形状参数决定其分布的形状,如果其等于1的话,等同于指数分布,大概等于3左右形状类似于正态分布。的确如下图,形状参数较大程度的影响着Weibull分布概率密度曲线形状。(此图形来源于Weibull++

http://www.weibull.com/LifeDataWeb/ch6weibu__73.gif

方法一从“最相似”的角度求解

我们利用前不久介绍的 fminsearch 方法通过拟合曲线来求一个最适合的形状参数,使之形状最符合正态分布。

基本方法是先给定一个正态分布的尺度参数,然后不断调整Weibull分布的两个参数和正态分布的位置参数,使这两条曲线最接近。在实际应用中,把需要变化的三个参数组成一个数组,然后利用fminsearch去求方差函数的最小值即可得到解。

这是计算的主程序:

sigma=1;

t=-2:0.001:10;

opt=optimset('fminsearch');

opt.TolX=0.00001;

opt.Display='off';

[p mse]=fminsearch(@wblparase,[max(t)/2 2 max(t)/2],opt,t,sigma)

nf=normpdf(t,p(3),sigma);

wf=wblpdf(t,p(1),p(2));

plot(t,nf,'b-');

hold on

plot(t,wf,'r-');

legend('normal pdf','weibull pdf')

 

function se= wblparase(p,t,sigma)

f=normpdf(t,p(3),sigma);

se=var(wblpdf(t,p(1),p(2))-f);

结果如下:

p =

   3.36284151953674   3.45846710996945   3.02212033838185

mse =

    1.200834162168129e-005

 图形对比如下:

http://www.newsenst.com/upload/201001211632450323.png

从图中可知,当威布尔分布的形状参数取3.458时,其分布形状最接近于正态分布。从图中可以看到,这时候,两个分布的形状非常相似。这时候的最小方差为mse=1.201e-5,如果想继续减小方差,可以在optimset变量opt中设置。

再来看看这两个分布的均值和均方差:

正态分布:mu=3.02212033838185,sigma=1

威布尔分布:mu=p(1)*gamma(1+1/p(2))=3.02380226105978  sigma=0.96724274048373

(后者可通过wblstat函数得到)从这些统计特征可以看到,这两个分布还是非常接近的。

这是fminsearch的又一个应用。这个函数非常强大,但它是无约束优化,对初始值的要求比较严格。因此,很多情况下这个方法只能找到初值附近的极小值,所以使用的时候需加小心。

方法二从概率密度函数偏度系数角度求解

在一般情况下,比较有说服力的计算方法是采用偏度系数来计算的。我们从Weibull分布的概率密度曲线随着形状参数的变化可知。当形状参数较小时,相对于正态分布,它右偏(或正偏),即是在右边有较长的尾巴,当形状参数较大时,它左偏(负偏),即是在左偏有较长的尾巴。这个偏度系数对应于此偏向分别为正和负。那么,这就可以说,当偏度系数为0时,就是最“像"正态分布了。事实上,正态分布的偏度系数就为0。这个定义也是符合官方的,权威的定义。因此,我们来演示一下用matlab解出这个形状参数,以和上面的方法作一对比。

Weibull分布的偏度系数的定义为:

http://www.newsenst.com/upload/201001212043432255.gif

要让偏度系数等于零,等价于:

http://www.newsenst.com/upload/201001212114134207.gif

解此方程可用matlab的fzero函数。程序如下;

scl=1;

t=linspace(0,4);

opt=optimset('fzero');

opt.TolX=0.00001;

opt.Display='off';

msp=fzero(@wblskewness,3,opt)

[mu sig]=wblstat(scl,msp);

sig=sqrt(sig);

nf=normpdf(t,mu,sig);

wf=wblpdf(t,scl,msp);

plot(t,nf,'b-');

hold on

plot(t,wf,'r-');

legend('normal pdf','weibull pdf')

 

function sk=wblskewness(shp)

scl=1;

lam=scl;k=shp;

[mu sig]=wblstat(scl,shp);

sig=sqrt(sig);

sk=gamma(1+3/k)*lam^3-3*mu*sig^2-mu^3;

计算结果如下:

msp=

        3.60235022468455

图形对比如下:

http://www.newsenst.com/upload/201001212049531624.PNG

此结果表明,当形状参数为3.602时,Weibull分布的偏度系数为0,按理应最符合正态分布。从图像中可以看出,两条曲线在两端吻合很好,在中间较差。而和方法一恰好相反(中间大部分拟合较好,两端拟合较差)。但总体来看,这两个方法的优劣很难分辨。这时候,我们看看这两条曲线的方差:

se=var(wf-nf)

se =

    4.596862110182046e-004

这时候得到的方差并没有方法一得到的小(1.201e-5).说明这两者之间是有差异的。

然而,为何大部分书籍上采用的都是3.602而没有采用第一个结果呢?这与很多因素有关。其中最主要的两个因素是:

1.方法一不稳定,取不同的区间范围得到不同的拟合值;

2.方法二是由偏度系数的定义的来,具有较高的稳定性。

 

 

 

偏态和峰度的测定

    一、偏态
   
 (一)偏态的概念
    偏态反映次数分布的非对称程度。
    偏态通常分为两种:右偏(或正偏)与左偏(或负偏)。它们是与对称分布为标准相比较而言的。在对称分配的情况下,算术平均数与中位数、众数是合而为一的;在偏态分配的情况下,它们是分离的。如果算术平均数的数值大于众数的数值,即:算术平均数在众数的右边,则称为右偏(或正偏)。如果算术平均数的数值小于众数的数值,即:算术平均数在众数的左边,则称为左偏(或负偏)。
                  http://media.open.com.cn/media_file/200708/lanzhou/0803/tongjix/content/zjxx/04/images/36.GIF
    (二)偏态的测定方法
    1 、算术平均数和众数比较法
    偏态系数
                               http://media.open.com.cn/media_file/200708/lanzhou/0803/tongjix/content/zjxx/04/images/37.GIF
    2 、动差法
    统计动差的公式为:
                          
    http://media.open.com.cn/media_file/200708/lanzhou/0803/tongjix/content/zjxx/04/images/38.GIF
    其中: k=1 ,表示集中趋势(算术平均数);
          k=2 ,表示离中趋势(方差);
          k=3 ,表示偏态;
          k=4 ,表示峰度。
          偏度
               http://media.open.com.cn/media_file/200708/lanzhou/0803/tongjix/content/zjxx/04/images/39.GIF

    二、峰度
   
 (一)峰度的概念
    峰度是指次数分配曲线顶端的尖峭程度。
    峰度说明次数分配曲线与正态曲线相比较,是尖顶还是平顶,其尖顶或平顶的程度。峰度通常分为三种:正态峰度、尖顶峰度与平顶峰度。当分配数列的次数比较集中于众数的位置,使次数分配曲线较正态分配曲线更为隆起的,属于尖顶峰度。当分配数列的次数,对众数来说比较分散,使次数分配曲线较正态分配曲线更为平滑的,属于平顶峰度。
                        http://media.open.com.cn/media_file/200708/lanzhou/0803/tongjix/content/zjxx/04/images/40.GIF
   (一)峰度的测定方法
    峰度
            http://media.open.com.cn/media_file/200708/lanzhou/0803/tongjix/content/zjxx/04/images/41.GIF
   根据经验, http://media.open.com.cn/media_file/200708/lanzhou/0803/tongjix/content/zjxx/04/images/42.GIF =3 时,次数分配曲线为正态曲线; http://media.open.com.cn/media_file/200708/lanzhou/0803/tongjix/content/zjxx/04/images/42.GIF >3, 为尖顶曲线; http://media.open.com.cn/media_file/200708/lanzhou/0803/tongjix/content/zjxx/04/images/42.GIF <3 ,为平顶曲线,当 http://media.open.com.cn/media_file/200708/lanzhou/0803/tongjix/content/zjxx/04/images/42.GIF接近于 1.8 时,曲线接近水平直线。

 

峰度(Kurtosis)和偏度(Skewness)

峰度是描述总体中所有取值分布形态陡缓程度的统计量。这个统计量需要与正态分布相比较,峰度为0表示该总体数据分布与正态分布的陡缓程度相同;峰度大于0表示该总体数据分布与正态分布相比较为陡峭,为尖顶峰;峰度小于0表示该总体数据分布与正态分布相比较为平坦,为平顶峰。峰度的绝对值数值越大表示其分布形态的陡缓程度与正态分布的差异程度越大。

峰度的具体计算公式为:

 

http://images.51cto.com/files/uploadimg/20100408/161046770.jpg 

 

偏度与峰度类似,它也是描述数据分布形态的统计量,其描述的是某总体取值分布的对称性。这个统计量同样需要与正态分布相比较,偏度为0表示其数据分布形态与正态分布的偏斜程度相同;偏度大于0表示其数据分布形态与正态分布相比为正偏或右偏,即有一条长尾巴拖在右边,数据右端有较多的极端值;偏度小于0表示其数据分布形态与正态分布相比为负偏或左偏,即有一条长尾拖在左边,数据左端有较多的极端值。偏度的绝对值数值越大表示其分布形态的偏斜程度越大。

偏度的具体计算公式为:

 

http://images.51cto.com/files/uploadimg/20100408/161111811.jpg 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有