首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Scipy威布尔参数置信区间

Scipy威布尔参数置信区间
EN

Stack Overflow用户
提问于 2019-01-10 22:05:09
回答 2查看 425关注 0票数 2

我一直在使用Matlab使用paramhat,paramci = wblfit( data,alpha)将数据拟合为威布尔分布。这给出了威布尔分布的形状和尺度参数,以及每个值的置信区间。

我正在尝试使用Scipy来完成合理的任务,并且可以使用scipy.stats.weibull_min.fit轻松地获得参数,但是我想不出一种方法来获得vlauee上的置信区间。Scipy提供此功能吗?或者我需要自己编写MLE置信区间估计?

EN

回答 2

Stack Overflow用户

发布于 2021-10-28 09:42:54

您可以使用MLE python包来获得surpyval的逆赫斯矩阵(协方差)。

代码语言:javascript
复制
import surpyval as surv

x = [1, 4, 5, 7, 8, 10]

model = surv.Weibull.fit(x)
model.hess_inv
代码语言:javascript
复制
array([[1.87507778, 0.27362521],
       [0.27362521, 0.5031063 ]])

然后,您可以使用对角线来估计参数的置信度:

代码语言:javascript
复制
from scipy.special import ndtri as z
import numpy as np

d = z(0.05) * np.sqrt(model.hess_inv[0, 0])
model.alpha + d, model.alpha - d
代码语言:javascript
复制
(4.283756480648752, 8.788467083439066)
票数 1
EN

Stack Overflow用户

发布于 2019-01-10 23:03:43

您可以使用scipy.optimize.curve_fit将威布尔分布拟合到您的数据中。这也会给你协方差,因此你可以估计拟合参数的误差。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54130419

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档