为什么 Python 中的 Weibull 可靠性分析 Beta 公式与回归线的正态斜率不匹配?

Why Weibull Reliability analysis Beta Formula in Python not matching with Normal Slope of Regression line?

我是可靠性分析的新手,发现python中的Weibull包对我的分析很有用。尽我所能理解Weibull Package中使用的公式。

业务问题: Failure_Time 和 Failure_Type 的发动机零件很少,我在根据 Failure_type。 我的 Python 代码。

import weibull
analysis = weibull.Analysis(Part_Time, unit='hour')

以下是基于过滤数据的 8 β 和相应的特征寿命 η 值。

我有 3 个问题。 Q1) 我需要了解哪些组合可以考虑进行进一步分析,为什么?

β | 1     | 1.01 | 1.73 | 0.94  | 1.49  | 1.54 | 1.74 | 1.31
η | 11364 | 8968 | 6009 | 17273 | 10374 | 9482 | 6009 | 13539

Q2) 以上组合是过去 5 年获得的,现在我想预测未来 2 年的 Failure_Time,假设:一个零件每天工作 6 小时。有什么方法可以预测吗?

Q3) 我指的是 http://reliawiki.org/index.php/Parameter_Estimation,发现斜率参数是 beta = 线性回归线的斜率 ,其中 Weibull 包编码如下。哪一个是正确的?

beta = 1.0/slope\n',

在这方面的任何帮助将不胜感激

我建议您看一下我的 Python 可靠性库 "reliability",它专为如下分析而设计:https://reliability.readthedocs.io/en/latest/

回答您的问题;

Q1) 您决定进行进一步分析取决于您希望从分析中回答哪些问题。 beta 参数(通常称为形状参数)是确定失败原因的有用方法。 Beta < 1 是磨损(也称为婴儿死亡率),这通常是由不良的制造过程引起的。 Beta = 1 是随机故障(与指数分布相同)并且故障与维护无关。在这些情况下,由于维护引起的故障,维护通常会使事情变得更糟。 Beta > 1 正在耗尽。在这种情况下,您可能想要确定一种维护制度,将物品修理到和新的一样好,或者至少和旧的一样好。您需要先确定要回答的问题,然后才能确定要进一步分析哪些部分。

eta(或alpha)参数是特征寿命。它会告诉您 63.2% 的人口失败需要多长时间。

此外,请注意不要在分析中将不同的项目混为一谈,因为您将无法很容易地解决各个故障模式。

Q2) 您可以通过查看累积分布函数 (CDF) 来预测未来的故障次数。使用 python 可靠性库,您可以创建一个分布,然后只需 1 行代码即可在特定时间后找到 CDF 的值。这将为您提供预计到那时失败的总人口的比例。示例:

print(Weibull_Distribution(alpha=11364, beta=1).CDF(xvals=[2*365*6]))

这会告诉您,如果每天 运行 每天 6 小时,您的 31.984% 的设备将在未来 2 年内发生故障。

如果您想知道分数失败的时间(反向计算),请使用威布尔分布的分位数函数。

Q3) 参数化完全取决于作者。从某种意义上说,两者都是 "correct",但您需要知道如何使用它们。大多数时候我会使用 reliawiki 方法,因为这是大多数行业使用的方法。

此外,我强烈建议您拟合多个分布而不仅仅是 Weibull。这是一个非常通用的发行版,但并不总是最好的。在可靠性中尝试 Fitters.Fit_Everything 功能。

如果您有更具体的可靠性问题,请在我的 python 包的作者简介部分找到我的电子邮件,您可以在那里问我。