首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >威布尔删失数据

威布尔删失数据
EN

Stack Overflow用户
提问于 2014-03-19 20:45:11
回答 2查看 1.3K关注 0票数 2

我目前正在处理一些与单元的安装日期和故障日期相对应的生命周期数据。数据是现场数据,因此我确实有大量的暂停(尚未出现故障的单元)。我想使用Scipy stats库对这些数据进行一些威布尔分析(例如,将数据拟合到威布尔曲线并获得分布的参数)。我对Python和Scipy还很陌生,所以我找不到一种方法来将挂起的数据包含在任何可用的威布尔分布中(dweibull、exponweibull、minweibull、maxweibull)。有没有一种简单的方法来处理暂停?我不想重复这个轮子,但我在从我的数据中估计威布尔的参数时遇到了困难。有谁可以帮我?

非常感谢!

EN

回答 2

Stack Overflow用户

发布于 2014-03-20 11:21:08

如果我理解正确的话,那么这需要对删减数据进行估计。

没有一个scipy.stats.distribution会直接估计这种情况。你需要将非删失观测值的似然函数和删失观测值的似然函数结合起来。

您可以使用scipy.stats.distributions的pdf和cdf,或者更好的sf来实现这两个部分。然后,您可以只使用scipy optimize来最小化负对数似然,或者如果您还对参数估计的不确定性感兴趣,则可以尝试在统计模型中使用GenericLikelihoodModel。

票数 1
EN

Stack Overflow用户

发布于 2021-10-28 09:32:15

这是一个老问题,但如果其他人看到了这一点,您可以使用surpyval python包非常容易地适应挂起的数据。

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

# Failures
f = [1, 4, 5, 7, 8, 10]

# suspended or right-censored points
s = [5, 6, 7]

# Convert 'fs' format to the 'xcn' format 
# x is the time/variable
# c is the censoring flag 0 = failed, 1 = right-censored
# n is the count

x, c, n = surv.fs_to_xcn(f=f, s=s)
# Fit model
surv.Weibull.fit(x, c, n)
代码语言:javascript
复制
Parametric SurPyval Model
=========================
Distribution        : Weibull
Fitted by           : MLE
Parameters          :
     alpha: 7.738077941578669
      beta: 2.263120966029975
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22506268

复制
相关文章

相似问题

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