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

韦伯分布(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}

其中, x x 是随机变量, λ \lambda 是比例参数(scale), k k 是形状参数(shape),当 k = 1 k=1 时,韦伯分布是指数分布。

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

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

其中, Γ \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

用 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()

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

发布了280 篇原创文章 · 获赞 496 · 访问量 146万+

猜你喜欢

转载自blog.csdn.net/robert_chen1988/article/details/100785494
今日推荐