Probabilistic analysis - failure frequencyseems unreasonable
이전 댓글 표시
Im testing/learning new functions/tools in the area mentioned using a simple example.
A bar with normaldistributed Area (mean=0.1, std=0.01) and Yield strength (mean=1100, std=50). If I apply a force equal to mean strength (0.1 x 1100) and apply a failure criteria fail=fail+1 if strength<force and run a number of tests, I would expect fail/tests to be slightly below 0.5. My reason for this is that if strength=force or strength>force the bar does not fail. My results turn out to be the opposite, mostly above 0.5.
Is my script wrong or did I miss something else?
Peter
My test script:
clear
force=110;
fail=0;
tests=1e5;
Area=makedist('norm',0.1,0.01);
Yield=makedist('norm',1100,50);
for i=1:tests,
RandomArea(i)=random(Area);
RandomYield(i)=random(Yield);
RandomStrength(i)=RandomArea(i)*RandomYield(i);
if RandomStrength(i)<force
fail=fail+1;
end
end
failure_frequency=fail/tests
채택된 답변
추가 답변 (2개)
David Goodmanson
2017년 9월 14일
Hi Peter,
For a random variable situation like this one, the probability that strength = force exactly is essentially zero. Roughly speaking, a double precision random variable has about 15 decimal places, which means 10^15 possible outcomes, all of which are equally likely. So the odds of picking, say, .500000000000000 is essentially zero. That leaves the not unreasonable idea that the failure rate should be 1/2. However, you are looking at the product of two random variables and that conclusion is not correct.
As a simple case, suppose the two random variables each have a mean of 1 and have small variations about those. (Your case is similar in that your two variables have small variations about 0.1 and about 1100). You take the product of the variables and pass the test if the result is >1. Now
1/4 of the time both variables are >1 and you pass.
1/4 of the time both variables are <1 and you fail.
Even Steven so far.
The rest of the time one variable is >1 and the other variable is <1. The most average case one can think of is var1 = 1+a, var2 = 1-a, where a is small since you have small variations about 1. Their product is
(1+a)*(1-a) = 1 - a^2.
The a^2 term is negative, and that biases things a little bit toward failure,as you found experimentally. Letting the two variables vary independently brings in a lot more detail but does not change the basic conclusion.
카테고리
도움말 센터 및 File Exchange에서 Univariate Discrete Distributions에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!