韦伯分布(威布尔分布,Weibull distribution)

韦伯分布(威布尔分布,Weibull distribution)韦伯分布 Weibull distribution 一般用来统计可靠性或寿命检验时用 例如 预计在有效寿命阶段有多少次保修索赔 预计将在 8 小时老化期间失效的保险丝占多大百分比 在管理科学与工程领域 见到一些学者假定产品的需求为韦伯分布 因为正态分布或者泊松分布过于理想化

大家好,我是讯享网,很高兴认识大家。

韦伯分布(Weibull distribution) 一般用来统计可靠性或寿命检验时用,例如:预计在有效寿命阶段有多少次保修索赔?预计将在 8 小时老化期间失效的保险丝占多大百分比?

在管理科学与工程领域,见到一些学者假定产品的需求为韦伯分布。因为正态分布或者泊松分布过于理想化,韦伯分布相对来说更接近现实一些(从概率密度函数来看,韦伯分布一般具有长尾分布,即右偏分布的特点)。

韦伯分布的概率密度函数为:

f ( x , λ , k ) = { k λ ( x λ ) k − 1 e − ( x / λ ) k x ≥ 0 0 x < 0 f(x, \lambda, k)=\begin{cases} \frac{k}{\lambda}(\frac{x}{\lambda})^{k-1}e^{-(x/\lambda)^k}\quad & x\geq0\\ 0 & x<0 \end{cases} f(x,λ,k)={ λk(λx)k1e(x/λ)k0x0x<0

其中, x x x 是随机变量, λ \lambda λ 是比例参数(scale), k k k 是形状参数(shape), k = 1 k=1 k=1 时,韦伯分布是指数分布。而如果 λ = 1 \lambda=1 λ=1 时,则称为最小化的韦伯分布(weibull_min,python 中的 scipy 所带,此时 − x -x x 对应的分布为最大化的韦伯分布,weibull_max,普通韦伯分布在 scipy 中的名称为 exponweib )


讯享网

均值:
λ Γ ( 1 + 1 k ) \lambda\Gamma(1+\frac{1}{k}) λΓ(1+k1)

方差:
λ 2 [ Γ ( 1 + 2 k ) − ( Γ ( 1 + 1 k ) ) 2 ] \lambda^2\left[\Gamma(1+\frac{2}{k})-\left(\Gamma(1+\frac{1}{k})\right)^2\right] λ2[Γ(1+k2)(Γ(1+k1))2]

其中, Γ \Gamma Γ 为伽马函数(伽马函数并不是完全单调上升的,分界点为 1.4616,小于 1.4616 时单调下降),
Γ ( z ) = ∫ 0 ∞ t z − 1 e t d t \Gamma(z)=\int_0^\infty\frac{t^{z-1}}{e^t}dt Γ(z)=0ettz1dt

用 python 画韦伯分布概率密度曲线:

import numpy as np import matplotlib.pyplot as plt # define the pdf of weibull distribution def weib(x, scale, shape): return (shape / scale) * (x / scale)(shape - 1) * np.exp(-(x / scale)  shape) scale = 50 shape = 1.5 x = np.arange(1, scale*2) y = np.zeros(len(x)) # [0 for i in range(len(x))] for i in range(len(x)): y[i] = weib(x[i], scale, shape) scale = 50 shape = 2.5 y1 = np.zeros(len(x)) # [0 for i in range(len(x))] for i in range(len(x)): y1[i] = weib(x[i], scale, shape) scale = 50 shape = 4 y2 = np.zeros(len(x)) # [0 for i in range(len(x))] for i in range(len(x)): y2[i] = weib(x[i], scale, shape) scale = 30 shape = 2.5 y3 = np.zeros(len(x)) # [0 for i in range(len(x))] for i in range(len(x)): y3[i] = weib(x[i], scale, shape) scale = 70 shape = 2.5 y4 = np.zeros(len(x)) # [0 for i in range(len(x))] for i in range(len(x)): y4[i] = weib(x[i], scale, shape) plt.subplot(2, 1, 1) plt.plot(x, y, 'r', label='scale=50, shape=1.5') plt.plot(x, y1, 'b', label='scale=50, shape=2.5') plt.plot(x, y2, 'g', label='scale=50, shape=4') plt.legend() plt.subplot(2, 1, 2) plt.plot(x, y3, 'r', label='scale=30, shape=2.5') plt.plot(x, y1, 'b', label='scale=50, shape=2.5') plt.plot(x, y4, 'g', label='scale=70, shape=2.5') plt.legend() plt.show() 

讯享网

在这里插入图片描述
从图形可以看出,不论增加比例参数(均值也会随着增加),还是增加形状参数(均值一般也会随着增加),分布都更加类似正态分布。

小讯
上一篇 2025-01-15 23:07
下一篇 2025-02-18 07:46

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/119087.html