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

韦伯分布(威布尔分布,Weibull distribution)韦伯分布(Weibulldistribution)一般用来统计可靠性或寿命检验时用,例如:预计在有效寿命阶段有多少次保修索赔?预计将在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()

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

今天的文章韦伯分布(威布尔分布,Weibull distribution)分享到此就结束了,感谢您的阅读。

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

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注