扬声器
|
成绩单
|
| 布拉德·福克斯 |
感谢您参加我的演讲“但是我现在该怎么办?” 使用可靠性模型在 JMP 中进行事件预测。 |
| |
我经常被问到……一旦建立了可靠性模型,我实际上会用它做什么? 人们常常忘记,您可以使用可靠性模型来预测事件实际发生的时间。 |
| |
甚至不仅仅是第一个事件,随着时间的推移,该产品可能会遇到第二个、第三个或第四个事件。 |
| |
简单介绍一下我自己。 我叫布拉德·福克斯。 我是 Optimal Analytics 的工程总监,我们与企业合作,努力帮助他们理解数据、识别障碍并让他们更有效地前进。 |
| |
在担任该职位之前,我在可靠性工程领域工作了大约九年,致力于研究如何理解零件可靠性并弄清楚零件何时会随着时间的推移而实际损坏。 |
| |
我使用 JMP 已有大约八年了,我想大约是 JMP 10。 我不确定,那是不久前的事了,所以我忘记了我们使用的是什么版本......我当时就在使用。 |
| |
在我最喜欢的 JMP 工具中,我喜欢经常使用寿命分布,因为这就是可靠性建模的所在。 Fit模型,我经常使用和JSL。 |
| |
脚本可以为您打开一整套新工具和新玩具供您使用。 那么我今天为什么要介绍这个呢? |
| |
因为,通常情况下,这个问题是在最后......在构建模型的最后出现的,直到那时才真正被考虑到。 |
| |
您可能完成了一个模型并拥有一大堆概率,然后并不真正知道下一步该做什么。 因此,这是您在构建模型并可以继续前进时可以执行的一种选择。 |
| |
所以我们今天讨论的是事件预测,当你构建模型时,你习惯于在这里经常看到这种图。 你将拥有属于你的个人时光, |
| |
也许这些是硬件或产品生命周期。 假设它是搅拌机,你知道,或者任何类型的厨房用具或可能不耐用的小型厨房用具 |
| |
非常长的一段时间。 因此,其中一些很快就会失败;另一些则可能会很快失败。有些会很晚才失败。 |
| |
但最终,当这些事情将要发生时,你最终可能会失败。 所以在这里你可能会说,好吧,大约 90% 的失败将在四年内发生。 |
| |
嗯,那太好了。 这可以帮助您了解第一次故障,并且可能会增加零件在现场出现故障的概率,但对于真正必须购买或使用这些东西的人来说,这对他们没有多大帮助。 |
| |
对于实际使用这些产品的客户来说,他们并不关心它能持续多久。 他们可能不想知道,在一段时间内我需要购买多少, |
| |
也许在整个生命周期中。 他们只想看看 10 年,我需要在 10 年内购买多少这样的产品才能生存。 |
| |
这就是事件预测的用武之地。 事件预测的真正含义是,将你的分布进行翻转,这样仍然保留你的时间分布。 |
| |
这里发生的事件发生的时间是多少,然后是事件发生的概率。 所以现在 |
| |
您可以查看其中一些事件发生的频率。 所以也许第一个事件发生在八年半左右,第二个事件发生在九年半左右, |
| |
第三个事件……但这都是一个客户。 因此,这都是一个客户、一个用例,因此,对于他们来说,你知道,他们正在走向失败 |
| |
在这里查看所有这些部分,查看所有这些间隔和这些替换。 所以这里, |
| |
客户真正关注这个产品已经有 20 多年的时间了。 他们可能...所以他们想知道...我需要或为了生存这20年,我将需要至少三个部分。 |
| |
因此,通过使用一些随机选择和模拟,您可以了解这些零件需要更换的频率以及客户可能需要购买您的产品的频率。 |
| |
那么,这实用吗? 好吧,所以这实际上归结为替换。 |
| |
更换是指您多久更换一次新零件或与新零件一样好的零件? 所以 |
| |
可修复系统和不可修复系统。 可修复的系统是一个可以让事情达到预期目标的系统。 |
| |
到了再跑的地步,也许还不如新的了。 假设您的轮胎上有一个洞。 你堵住漏洞,然后继续前进。 |
| |
就这样修好了。 但是,如果您可以将轮胎修复到与新轮胎一样并且永远不会再出现故障该怎么办? |
| |
现在对于轮胎来说,也许这并不那么实用,但是对于其他东西,您可能需要更换零件,或者可能需要切掉零件的一部分并仅更换出现故障的那个或那个零件。 |
| |
让零件与新的一样好可以使其成为不可修复的系统。 所以即使你进行了修理,让它像新的一样, |
| |
它改变了一些事情。 现在,这是一个巨大的警告,你知道。你确实必须对什么是新的意味着什么有很多考虑,但我认为很多时候,一部分......或者人们处理的部分是 |
| |
他们已经修复了,并且修复得像新的一样,他们认为,好吧,这是一个可修复的系统,但对于可靠性世界来说,事实并非如此。 好吧,我暂时离开那个肥皂盒了。 |
| |
回到替换。 当我们研究单一系统时, |
| |
你可能会在这里看着一些东西并说,好吧,你知道, |
| |
对于一个单一系统, |
| |
零件发生故障的频率有多高? 因此,如果我们只关注一位客户,他们购买这些产品的频率是多少? 所以第一部分在这里持续了四年。 |
| |
然后他们不得不购买第二个。 那个只用了1.3年,然后他们不得不买第三个,而这个却大受欢迎,持续了8年。 |
| |
因此,归根结底,他们必须在 12 年内购买三个部件,但差异很大。 所以你可以在各种产品中看到这一点,比如手机、 |
| |
其他家居产品。 有些事情会早早失败;有些事情迟早会失败。 |
| |
您可能只是在和朋友聊天时说,嘿,我……我有一部糟糕的手机。 我不敢相信这么早就失败了。 他们会和你谈论他们已经使用了 10 年的同一部手机。 当然可能不是10年,但是 |
| |
可能需要一段时间。 因此,最终,对于这个系统、这个客户,他们不得不更换零件三次。 |
| |
现在,如果我们观察多个系统,我们就可以了解随着时间的推移这些事情发生的频率。 所以 |
| |
一个客户可能拥有第一个系统,然后是第二个客户,也许他们在大约同一时间段内有五次替换或六次替换。 |
| |
因此,如果我们要看看第一个系统,我们可能会说,好吧,我们预计至少在第四年之前不会出现任何故障。 |
| |
但如果我们看看第二个系统,他们在第一年就失败了。 因此,如果我们试图计算出第一年或第二年我们可能预期的平均失败次数或平均事件数量, |
| |
第一个系统并没有告诉我们太多信息。 所以这就是如果你没有数据并且......但你的模型中有你的分布,其中威布尔的 beta 和 eta 或类似的东西, |
| |
您可以使用模拟来尝试列出一些客户期望在第一年、第二年、第三年发生事件的频率,并且比您实际拥有的数据更进一步。 |
| |
通过这样做,通过查看这些多个系统并查看该模拟,您可以了解并开始看到频率的趋势 |
| |
这些零件将逐年更换。 因此,虽然这里的数据可能只是根据七年之久的事件时间建立的, |
| |
对于日历时间或客户时间,将会出现某种高峰,然后它将趋于平稳,达到某种水平的替换。 现在 |
| |
通过模拟,您将看到一些弹跳,这就是您在这里看到的。 如果我们有一个封闭形式的解决方案,我们会得到一条很好的直线,但是 |
| |
通过模拟,我们确实得到了一些变化。 这就是你在这里看到的。 所以你可以画一条线,看看你知道,平均而言, |
| |
人们可能希望每年更换其中的三分之一。 因此,三年后,一旦开始使用,您就可以期待更换。 所以一开始有一些,然后就趋于平稳了。 |
| |
让我们看一个例子来说明我的意思。 |
| |
我们这里有一个数据表,这里有一个模型。 所以这个模型只是一个随机的威布尔模型。 因此,如果您不熟悉 JMP 中可以使用的不同函数, |
| |
您可以使用随机威布尔、威布尔分位数、威布尔分布、威布尔密度。 这些都是可以应用于不同发行版的函数。 |
| |
在本例中,我们从特定分布中随机选择一组点。 我的发行版的 beta 为 1.2,eta 为 3。 |
| |
因此,通过在这里选择这些随机...随机事件, |
| |
这些都是单独的事件,这就是最终进入您的模型的内容。 如果你要建立一个关于零件故障的模型,最终会发生什么,这些是通常最终进入那里的日期。 然而,我们会失去的是这对客户的实际影响。 所以随着时间的推移 |
| |
客户可能想知道 20 年、30 年、40 年后我可能会更换多少个。 |
| |
这就是您需要查看总系统事件时间的地方。 而这只是各个次数的累加和,所以8.3是第一个,1.2是第二个,依此类推。 |
| |
所以,当你进入第二个系统时,我们有 1.8、3.9、5.9,所以这只是各个时间的累积计数。 |
| |
这里要记住的是,当你试图计算出所有这些的平均值时, |
| |
您将查看系统编号,然后查看实际发生的年份,因此运行的第二年发生了 1.8 年。 |
| |
这是一个需要牢记的重要区别,因为您要确保在适当的年份识别失败。 |
| |
所以你的 0.6,虽然它...如果这是第一个,那么它将在第一年,它实际上只是增加年份...系统时间...系统在这里逐年递增。 |
| |
因此,有了这个,您可能会想,好吧,既然我们已经掌握了所有这些,我们可以计算事件的数量,并查看这个系统、年份,并执行一个很好的小分析。 因此,JMP 实际上有一个很好的工具可以为您完成所有这些工作。 |
| |
所以 |
| |
JMP中有一个称为可修复系统模拟的工具。 |
| |
而这个工具, |
| |
我知道...我相信它出现在 JMP 13 中,也许是 JMP 14 中。 它已经存在了几年了。 |
| |
我不知道它是否得到了应有的宣传,因为它是一个非常强大的工具,我认为很多人都不会不欣赏它。 |
| |
所以,这是什么,你在这里看到的是一个系统。 所以也许,或者现在,我这里有两个部分,但也许我的系统实际上是 |
| |
七个或八个零件,或者是整个变速箱,或者泵,或者类似的东西。 所有这些部件都可以协同工作,如果其中任何一个部件出现故障, |
| |
您知道,整个系统发生故障,因此您想了解发生了什么事件,事件发生的时间是什么。 因此,在每一个中,您都需要列出您的 Weibull 是什么或您的模型是什么,这里我有 beta 1.2 和 alpha 15。 |
| |
这是年的时间单位,如果我……如果我愿意的话,我当然可以选择不同的分布。 |
| |
然后我可以说出如果事件发生会发生什么。 因此,如果一个块...所以这里我遇到了块故障,如果实际发生故障会发生什么? |
| |
结果就是换新的,所以我只想更换零件。 现在这里有很多不同的选择,也许我可以做一个最小的修复,但我已经说过,我想用一个全新的零件替换它,所以这将是一个像新的......像新的模型。 |
| |
然后您可以包括一定的停机时间。 那么修复这个需要多长时间呢? 平均修复时间是多少? 它可以是一个常数值 |
| |
或者它可以......你可以立即说,甚至不关心它需要多少时间,或者你可以给它一个列表以供选择。 您也可以在这里给它几个发行版。 |
| |
所以使用这些工具......现在我在这里构建了一个非常简单的系统。 我有一个部件具有已知的分布,或者我有两个部件具有已知的分布。 |
| |
当其中任何一个失败时,我都有更换时间,因此第二个有选择选项。 |
| |
你可以看到,你把它放在这里。 现在,选择需要与您的模拟处于同一时间单位。 |
| |
所以我选择了几年作为我的模拟。 这是以年为单位的,所以准备某件事的时间可能只有一个小时、两个小时,也许会是一天。 当你把它放在几年中时,数字会变得非常小,所以这就是你在这里看到的。 |
| |
我不会在这里讨论所有选项。 正如您所看到的,您可以使用备用设备执行许多其他操作,其中很多用于更复杂的分析。 |
| |
好吧,所以我运行我的分析,我将运行这个分析 20 年,这里列出了,模拟次数为 100。 您通常会想要更多,但出于演示目的,我们将其设置为 100,种子为 1234。 |
| |
那么,然后我在这里得到这个漂亮的大输出,并且初始输出始终称为数字,这非常有帮助。 |
| |
但你可能会看到这个并且好吧,我该怎么处理这些东西呢? 你可以到这里来启动这个分析 |
| |
也许您想按组件查看总停机时间。 所以这就是说,你知道,一个组件可能会如何...或者停机时间的分布是怎样的? |
| |
但它从来没有真正回答20多年来的问题:我需要更换这个部件多少次? |
| |
所以我写了一个脚本,所以当你……当你下载这本日记时,它将包含所有这些脚本。 |
| |
我将其设置为按钮,但实际的脚本就在下面,供您参考(如果您想使用它)。 |
| |
所以我只要点击按钮,就会发生一大堆事情。 因此,我现在已经开始计算我预计这些事件每年发生的频率。 那么从系统的角度来看, |
| |
我已经对失败事件进行了子集化并设置了年份值。 因此,您可能还记得年份值向上舍入,因此 3.8 年是 4。 |
| |
现在查看日历时间,查看我们可能使用的系统时间。 它不考虑个人时间,因此,您知道,第一行到第二行之间的时间间隔为 1.8 年左右。 |
| |
但因为我们正在查看系统,所以我们实际上计算的是 5.69。 |
| |
现在我想把它变成......我想把所有这些价值变成有用的东西。 |
| |
不过,要记住的重要一点是,您需要......当您查找每年事件的平均数量时,您需要查看没有事件发生的年份。 所以在第一个模拟中,第一个事件发生在第四年, |
| |
但我需要用零来表示一、二和三,这就是我的脚本所做的。 我的脚本有点像集合 |
| |
我想看到的模式。 所以我想查看第一部分,我想查看年份值和模拟 ID,然后查看事件实际发生的时间。 所以在这里你可以看到第一部分事件发生在第十年。 |
| |
因此,当将其添加到此处时,这就是分析的更新内容。 如果我向下滚动到第二部分... |
| |
当您向下滚动到模拟第一部分的第二部分时, |
| |
那里……没有任何事件。 |
| |
模拟的第一个事件直到...... |
| |
直到第四年。 所以如果我一直滚动到第四年 |
| |
对于第二部分,它将显示我在模拟一中有一个事件,好吧。 因此,这实际上是针对可能发生的每种可能的年份组合来排列这些事件。 |
| |
好吧,有了这个级别的信息,现在我已经拥有了所有......所有模拟,你看到我有 4,000 条记录,现在这只是年份、模拟和零件的所有可能排列。 |
| |
但我真的想把它们平均下来。 所以我将其平均下来,我想查看模拟的数量,即行数、年份值,然后是部分。 我减少到 40 行,这样更易于管理且更容易理解。 |
| |
您在第二部分中看到的是,我们一开始有一点点上升,然后就趋于平稳。 和 |
| |
它会反弹,因为这是模拟,我们只运行了 100 个事件,但是……或者 100 个模拟,但我们可能会看到一种稳定的替换状态。 |
| |
不过,如果我们尝试从累积的角度来看待这一问题,那么这可以告诉客户他们预计在 10 年内更换多少件。 所以对于第二部分, |
| |
假设客户想知道我什么时候需要更换第一个? 第一个是什么? 第一个 |
| |
将会发生在第四年和第五年之间,就像第四年之后一样。 然后第二个发生在……或者大约在第七年。 |
| |
第三次发生在 10 年级左右。 所以你可以看到,你有点像这样的爬升,前期没有太多故障,但随后就会达到稳定状态,每三年左右你最终需要更换零件。 |
| |
如果您想尝试在那里做这样的事情,这对于客户、您的业务规划甚至供应链工作都非常有帮助。 |
| |
因此,使用可修复系统模拟中的事件预测是一种方便快捷的方法,可以提供该想法或了解有多少零件,而不仅仅是故障概率以及何时可能发生。 所以 |
| |
有一件事......我今天想谈论的另一件事是一种使可修复系统模拟变得更容易的方法。 |
| |
所以这可能是令人畏惧的。 这是一个新工具,你可能不知道你正在使用的一切,但是 |
| |
如果您...如果您从模板开始,从表格开始,构建可修复系统模拟会容易得多。 |
| |
所以最后,为了构建模型,您需要大约 13 条数据。 其中大部分都在您甚至不会想到的背景中进行,但如果您将它们放入表格和模板中 |
| |
这里有这些不同的专栏... 我说13,你实际上需要的更少。 我在这里做了一些修改,以处理您可以在这里做的一些巧妙的小事情。 |
| |
但实际上你有你的分布、你的模型类型、你的参数、什么时间单位。 这些都是 JMP 中默认设置的内容,您可以更改它们,或者 |
| |
这些都是你要添加的东西。 所以每一个都有一个,你知道,如果块失败,你用新的替换什么? 而这些你可以调整,你可以以不同的方式连接这些事件名称和这些进程。 |
| |
在我的世界里,很多时候我们会看到行为的改变。 也许我们想了解,前几年,这是替代率,然后第二几年,这是替代率。 |
| |
或者您可能有想要利用的竞争性故障模式。 所以我在这里向您展示的内容可以解决很多问题。 |
| |
对不起,这绝不是完美的。 这 |
| |
绝对应该适合您自己的...您自己的用例,但是,归根结底,从模板开始是一种令人难以置信的方法,可以加快您的开发速度,并且 |
| |
让您能够进行调整...即时进行小调整。 因此,如果我得到了这个,我在这里就有了一个很好的小脚本,如果我单击该脚本,它就会为我生成可修复的系统模拟。 |
| |
如果我看这里,我得到了我的第一个……我的第一个部分,beta 为 1.86 或 826,alpha 为 153。 |
| |
实际上只是将这张表转化为可修复系统模拟。 你可以做 |
| |
更复杂的事情。 那么让我关闭这个。 |
| |
所以这里我有 14 个部分。 如果我愿意,我可以更改这些发行版中的任何一个, |
| |
但我想在这里查看其他类型的事件。 我想将我的发行版拆分到哪里 |
| |
它会在一定时间后发生变化或改变形状。 也许我正在尝试对产品介绍进行建模,你知道,整个机队正在进行的产品升级。 或者也许我这里有竞争性故障模式,我想考虑到这一点。 |
| |
因此,如果我愿意,您知道...在脚本中使用此模板,它允许我以非常简单的方式处理所有这些。 现在你知道那有多快了。 那是什么,一秒钟左右 |
| |
生成这个模型? 现在,如果我想创建另一个,也许,也许我希望这是一个 |
| |
日志正常。 |
| |
我可以在这里做,然后 |
| |
过来看看我的剧本 |
| |
和 |
| |
再次运行即可。 我得到了另一个模型(让我们看看,它是什么? 第五部分。) |
| |
第五部分现在是正常的。 尝试不同的迭代、尝试不同的模型真的很容易,并且每次都会生成一个新的模型, |
| |
在此将图表标记为您的表格。 因此,这是使用此模板执行分析和了解事件预测的便捷方法,使用嵌入此处的脚本来执行分析,并了解一段时间内的事件预测。 |