2014-11-06 1 views
1

몬테 카를로 메서드를 사용하여 실패 할 가능성을 계산하려고합니다.실패 가능성 - 한계 상태 함수 - 몬테 카를로 메서드

한계 상태 방정식은 시간 t, C (X = A, t)의 물질 함량을 비교함으로써 얻어지고, 중요한 콘텐츠, Ccrit된다

LSF: g(Ccrit, C(x=a,t)) = Ccrit - C(x=a, t) < 0 

Ccrit 베타 분포 Ccrit 다음 ~ B (평균 = 0.6, s = 0.15, a = 0.20, b = 2.0). 생성 분포 :

r=((mean-a)/(b-a))*((((mean-a)*(b-mean))/(s^2))-1) 
t=((b-mean)/(b-a))*((((mean-a)*(b-mean))/(s^2))-1) 
Ccrit=beta.rvs(r,t,a,b,1e6) 

C (X = A, t)는도 11 개의 다른 변수 (베타, 보통 결정 성 로그 정규 등)의 함수이며, 시간 t에 따라 달라진다. 이러한 변수는 scipy.stats는 예 채택 정의 된 모든 변수 내가 어려움이 PF를 계산하는 데 문제 발생

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

(...)

Var11=Csax=dist.lognormal(l, z, 1e6) 

후.

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 

:

당신에게

답변

1

음을 감사

당신의 도움을 주셔서 감사합니다는, 당신의 질문을 이해하는 방법이 원유 몬테카를로 시뮬레이션에서 실패의 확률을 계산하는 방법입니다 시뮬레이션 방법은 복잡하거나 불가능한 통합을 회피하기 위해 기본적으로 개발되었습니다. 여기서는 언급 한 통합에 대한 필요가 없습니다.

견적의 변동 계수는 1/sqrt(N)에 비례 함을 명심하십시오.

필자는 표기법을 사용하여 가능한 한 명확하게하려했는데, 뒤 따르는 것이 문제가되는 경우를 대비하여 더 나은 서식 지정을위한 this 강의 노트를 참조하십시오. 나는 당신이 원유 Monte Carlo를 사용한다고 추정했지만, 중요도 샘플링을 위해서 당신은 연결된 소스에서도 공식을 찾을 수있다.

위의 공식은 시간 불변이다. 문제가 시간과 관련되어 있다는 사실은 일반적으로 작업을 훨씬 어렵게 만듭니다. 솔루션 기술은 시간 차이에 따라 달라 지므로 세부 정보는 제공되지 않으므로 book (Melchers, Structural Reliability Analysis and Prediction)을 추천합니다.

일반적으로 시간에 따른 문제는 다음과 같이 줄일 수 있습니다. 적어도 대략적인 방식으로) 시간 변화 문제에 적용될 수 있으며, 상기 제제가 사용될 수있다. 또는 위의 스케치 된 '방법'을 사용하여 매 순간 실패 할 확률을 계산할 수도 있습니다.

C은 물질 함량이므로 문제는 확률 론적 과정을 포함하지 않지만 단조롭게 증가하는 (시간상) 무작위 변수 만 포함 할 수 있습니다.이 경우 실패 확률은 시간 순간에 실패 할 확률이 가장 낮습니다 (농도가 임계 값에 가장 가깝다), 위에서 언급 한 몬테 카를로 기법을 직접 사용할 수있다. 이 유형의 문제를 오른쪽 경계 문제라고하며 자세한 내용은 Construction Reliability: Safety, Variability and Sustainability. Chapter 10입니다.

달성하고 싶지 않은 경우 자세한 정보를 제공해주십시오.

+0

Arpi, 감사합니다. 제안을 읽은 후 정말 쉽습니다. 나는 다음을 사용했다 :'g = Ccrit-C' 'N = 1e6' '실패 확률'# 'numbers = g' 'I = 합계)' 'pf = I/N' – NFil

+0

@NFil 도움이 되었기 때문에 기쁩니다. 어떻게 시간을 다뤘 니? – Arpi

+0

파라 메트릭. 기본적으로 x 방정식을 설정하고 각 시간 단계마다 별도로 해결해야했습니다. 그래서 내가 찾는 것은 특정 순간의 실패이기 때문에 시간은 끊임없이 끝납니다. 필자는 신뢰성 분석 소프트웨어 (FORM)를 사용하여 파생 된 알려진 결과에 대해 기능을 플로팅하고 결과가 완벽하게 일치합니다. 다시 한 번 도움을 주셔서 감사합니다. 추신 나는 10^6 시뮬레이션을 사용하고 있는데, 이는 내가 찾고있는 실패 확률에 대해 (10 %의 한계 내에서 머무르기 위해) 확인되어야한다. – NFil

관련 문제