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