scipy.stats.weibull_max
scipy.stats.weibull_max(* args,** kwds )= <scipy.stats._continuous_distns.weibull_max_gen object>
源码
威布尔最大连续随机变量。
作为rv_continuous类的实例,weibull_max继承了这个类的一切通用方法(请参见下面的完整列表),并使用此分布的公式来完善它们。
也可以看看
weibull_min
笔记
weibull_max的概率密度函数为:
f
(
x
,
c
)
=
c
(
−
x
)
c
−
1
e
−
(
−
x
)
c
f(x,c)=c(-x)^{c-1}e^{-(-x)^c}
f(x,c)=c(−x)c−1e−(−x)c
x<0,c>0。
weibull_max采取c作为形状参数。
以上的概率密度以“标准化”形式定义。要移动和/或缩放分布,请使用loc和scale参数。具体而言,weibull_max.pdf(x, c, loc, scale)相当于用 weibull_max.pdf(y, c) / scale,其中y = (x - loc) / scale
例子
>>> from scipy.stats import weibull_max
>>> import matplotlib.pyplot as plt
>>> fig, ax = plt.subplots(1, 1)
首先计算一下:
>>> c = 2.87
>>> mean, var, skew, kurt = weibull_max.stats(c, moments='mvsk')
绘制概率密度函数(pdf):
>>> x = np.linspace(weibull_max.ppf(0.01, c),
... weibull_max.ppf(0.99, c), 100)
>>> ax.plot(x, weibull_max.pdf(x, c),
... 'r-', lw=5, alpha=0.6, label='weibull_max pdf')
或者,可以调用分布对象(作为函数)以固定形状,位置和比例参数。这将返回一个“冻结的” RV对象,该对象固定了给定的参数。
冻结分布并显示冻结的pdf:
>>> rv = weibull_max(c)
>>> ax.plot(x, rv.pdf(x), 'k-', lw=2, label='frozen pdf')
检查cdf和的准确性ppf:
>>> vals = weibull_max.ppf([0.001, 0.5, 0.999], c)
>>> np.allclose([0.001, 0.5, 0.999], weibull_max.cdf(vals, c))
True
生成随机数:
>>> r = weibull_max.rvs(c, size=1000)
并比较直方图:
>>> ax.hist(r, density=True, histtype='stepfilled', alpha=0.2)
>>> ax.legend(loc='best', frameon=False)
>>> plt.show()
方法
方法 | 用途 |
---|---|
rvs(c,loc = 0,scale = 1,size = 1,random_state = None) | 随机变量生成。 |
pdf(x,c,loc = 0,scale = 1) | 概率密度函数。 |
logpdf(x,c,loc = 0,scale = 1) | 概率密度函数的对数。 |
cdf(x,c,loc = 0,scale = 1) | 累积分布函数。 |
logcdf(x,c,loc = 0,scale = 1) | 累积分布函数的日志。 |
sf(x,c,loc = 0,scale = 1) | 生存函数(也定义为1-cdf,但sf有时更准确) |
logsf(x,c,loc = 0,scale = 1) | 生存函数的对数。 |
ppf(q,c,loc = 0,scale = 1) | 百分比点函数(与cdf—百分位数相反) |
isf(q,c,loc = 0,scale = 1) | 逆生存函数(的逆sf) |
moment(n,c,loc = 0,scale = 1) | n阶非中心矩 |
stats(c,loc = 0,scale = 1,moments =‘mv’) | 均值(‘m’),方差(‘v’),偏斜(‘s’)和/或峰度(‘k’)。 |
entropy(c,loc = 0,scale = 1) | RV的(微分)熵。 |
fit(data,C,loc= 0,scale= 1) | 通用数据的参数估计。 |
Expect(func,args =(c,),loc = 0,scale = 1,lb = None,ub = None,conditional= False,** kwds) | 函数(一个参数)相对于分布的期望值。 |
median(c,loc = 0,scale = 1) | 分布的中位数。 |
mean(c,loc = 0,scale = 1) | 分布的平均值。 |
var(c,loc = 0,scale = 1) | 分布的方差。 |
std(c,loc = 0,scale = 1) | 分布的标准偏差。 |
interval(alpha,c,loc = 0,scale = 1) | 包含分布的Alpha百分比的范围的端点 |
快速搜索
©SciPy社区版权所有2008-2019。 最后更新于2019年12月19日。 使用Sphinx 2.2.1 创建。