Probability 失效概率-极限状态函数-蒙特卡罗法

Probability 失效概率-极限状态函数-蒙特卡罗法,probability,montecarlo,reliability,Probability,Montecarlo,Reliability,我想用蒙特卡罗方法计算失效概率 通过比较时间t,C(x=a,t)的物质含量和临界含量Ccrit,得出极限状态方程: LSF: g(Ccrit, C(x=a,t)) = Ccrit - C(x=a, t) < 0 C(x=a,t)是11个其他变量(β、正态、确定性、对数正态等)的函数,随时间t变化。这些变量是通过scipy.stats定义的,例如: Var1=truncnorm.rvs(0, 1000, 60e-3, 6e-3, 1e6) (……) 在生成所有变量后,我很难计算pf 我看

我想用蒙特卡罗方法计算失效概率

通过比较时间t,C(x=a,t)的物质含量和临界含量Ccrit,得出极限状态方程:

LSF: g(Ccrit, C(x=a,t)) = Ccrit - C(x=a, t) < 0
C(x=a,t)是11个其他变量(β、正态、确定性、对数正态等)的函数,随时间t变化。这些变量是通过scipy.stats定义的,例如:

Var1=truncnorm.rvs(0, 1000, 60e-3, 6e-3, 1e6)
(……)

在生成所有变量后,我很难计算pf

我看到:

P(Ccrit < C) = integral -inf to +inf Fccrit(c) * fC(c) dc
P(Ccrit
导致pf,但我不知道如何计算它

非常感谢你的帮助


谢谢你

好吧,我是如何理解你的问题的,这是通过原始蒙特卡罗模拟计算失效概率的方法:

pf = sum(I(g(x))/N 

where:
N      - is the number of simulations
x      - is the vector of all the involved random variables
I(arg) - is an indicator function, defined as:

   if arg < 0
     I = 1
   else
     I = 0
   end
pf=sum(I(g(x))/N
哪里:
N-是模拟的数量
x-是所有相关随机变量的向量
I(arg)-是一个指示函数,定义如下:
如果arg<0
I=1
其他的
I=0
结束
模拟方法基本上是为了避开复杂或不可能的积分而发明的,在这种情况下不需要你提到的积分

请记住,估计值的变异系数与
1/sqrt(N)
成正比

我试着用记号尽可能清楚地表示出来,以防后面有问题,请参阅课堂讲稿以获得更好的格式。 我假设您使用了粗糙的蒙特卡罗,但对于重要性抽样,您也可以在链接源中找到公式

上面的公式是时间不变的;您的问题涉及时间这一事实使得任务总体上更加困难。 解决方法取决于时间变化,因为没有给出这方面的详细信息,我只能向您推荐一个详细处理问题的方法:

一般来说,时变问题可以(至少以近似方式)简化为时变问题,并且可以使用上述公式。或者,如果上述“方法”对您的问题有意义,您也可以使用上述“方法”计算每个时刻的失效概率

由于
C
是物质含量,因此问题可能不包含随机过程,而只包含单调递增(时间)的随机变量,在这种情况下,失效概率是最后一个时刻(当浓度最接近临界值时)的时不变失效概率,因此可以直接使用上述蒙特卡罗技术。这种类型的问题称为右边界问题,更多详细信息:


如果这不是你想要完成的,请给我们更多的细节。

Arpi,谢谢。在阅读了你的建议后,它非常简单。我使用了以下内容:
g=Ccrit-C
N=1e6
\pf故障概率
numbers=g
I=sum(如果数字小于0,则数字中的数字为1)
pf=I/N
@NFil我很高兴我能帮上忙。你是如何处理时间的?参数化的。基本上,我必须设置x个方程,并为每个时间步分别求解它们。因此时间最终是一个常数,因为我要寻找的是特定时刻的失败。我根据已知结果绘制了函数使用可靠性分析软件(FORM)导出,结果非常匹配。再次感谢您的帮助。另外,我使用的是10^6模拟,对于我所寻找的故障概率(保持在10%的范围内),这应该是可以的。@NFil对我来说很好。您的问题听起来像腐蚀概率分析(例如碳化、氯离子扩散)混凝土或类似的东西。或者我之所以了解它,是因为我对它感兴趣。事实上,你是对的:)顺便说一句,我已经从亚马逊订购了Melchers。
P(Ccrit < C) = integral -inf to +inf Fccrit(c) * fC(c) dc
pf = sum(I(g(x))/N 

where:
N      - is the number of simulations
x      - is the vector of all the involved random variables
I(arg) - is an indicator function, defined as:

   if arg < 0
     I = 1
   else
     I = 0
   end