Presentation on theme: "How do we generate the statistics of a function of a random variable? – Why is the method called “Monte Carlo?” How do we use the uniform random number."— Presentation transcript:
How do we generate the statistics of a function of a random variable? – Why is the method called “Monte Carlo?” How do we use the uniform random number generator to generate other distributions? – Are other distributions directly available in matlab? How do we accelerate the brute force approach? – Probability distributions and moments Web links: Monte Carlo Simulation SOURCE:
Basic Monte Carlo Given a random variable X and a function h(X): sample X: [x 1,x 2,…,x n ]; Calculate [h(x 1 ),h(x 2 ),…,h(x n )]; use to approximate statistics of h. Example: X is U[0,1]. Use MCS to find mean of X 2 x=rand(10); y=x.^2; %generates 10x10 random matrix mean=sum(y)/10 x = mean= What is the true mean SOURCE: SOURCE:
Cumulative density function Cdfplot(y) [f,x]=ecdf(y);
Histogram of average x=rand(100); y=sum(x)/100; hist(y)
Histogram of average x=rand(1000); y=sum(x)/1000; hist(y ) What is the law of large numbers?
Distribution of x 2 x=rand(10000,1); x2=x.^2; hist(x2,20)
Other distributions Other distributions available in matlab For example, Weibull distribution r=wblrnd(1,1,1000); hist(r,20)
Correlated Variables For normal distribution can use Matlab’s mvnrnd R = MVNRND(MU,SIGMA,N) returns a N-by- D matrix R of random vectors chosen from the multivariate normal distribution with 1-by-D mean vector MU, and D-by-D covariance matrix SIGMA.
Example mu = [2 3]; sigma = [1 1.5; 1.5 3]; r = mvnrnd(mu,sigma,20); plot(r(:,1),r(:,2),'+') What is the correlation coefficient?
Problems Monte Carlo Use Monte Carlo simulation to estimate the mean and standard deviation of x 2, when X follows a Weibull distribution with a=b=1. Calculate by Monte Carlo simulation and check by integration the correlation coefficient between x and x 2, when x is uniformly distributed in [0,1]
Latin hypercube sampling X = lhsnorm(mu,SIGMA,n) generates a latin hypercube sample X of size n from the multivariate normal distribution with mean vector mu and covariance matrix SIGMA. X is similar to a random sample from the multivariate normal distribution, but the marginal distribution of each column is adjusted so that its sample marginal distribution is close to its theoretical normal distribution.
Comparing MCS to LHS mu = [2 2]; sigma = [1 0; 0 3]; r = lhsnorm(mu,sigma,20); sum(r)/20 ans = r = mvnrnd(mu,sigma,20); sum(r)/20 ans =
Evaluating probabilities of failure Failure is defined in terms of a limit state function that must satisfy g(r)>0, where r is a vector of random variables. Probability of failure is estimated as the ratio of number of negative g’s, m, to total MC sample size, N The accuracy of the estimate is poor unless N is much larger than 1/P f For small P f
problems probability of failure 1.Derive formula for the standard deviation of estimate of P f 2.If x is uniformly distributed in [0,1], use MCS to estimate the probability that x2>0.95 and estimate the accuracy of your estimate from the formula. 3. Calculate the exact value of the answer to Problem 2 (that is without MCS). Source: Smithsonian Institution Number:
Separable Monte Carlo Usually limit state function is written in terms of response vs. capacity g=C(r)-R(r)>0 Failure typically corresponds to structures with extremely low capacity or extremely high response but not both Can take advantage of that in separable MC
Reading assignment Ravishankar, Bharani, Smarslok B.P., Haftka R.T., Sankar B.V. (2010)“Error Estimation and Error Reduction in Separable Monte Carlo Method ” AIAA Journal,Vol 48(11), 2225–2230. Source: Page11.htm