Generating a random variable that has a predefined covariance with other random variable
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Solomon Gofere
am 1 Nov. 2014
Kommentiert: John D'Errico
am 1 Nov. 2014
I wanted to generate a normal random variable which has a predefined co-variance with another random number. But I can't figure out how to proceed.Here is the specific problem,
I have e~N(0,1) and I want to generate X such that cov(x,e)=1 and E(X)=0. How can I generate this random number with sample size 500?
Thanks!
0 Kommentare
Akzeptierte Antwort
Roger Stafford
am 1 Nov. 2014
You haven't stated what you want the variance of X to be. If it is to be 1, the trivial solution would be to set X = e. For general var(X) = v (which must be greater than or equal to 1,) use this formula for generating X:
X = e(1:500) + sqrt(v-1)*randn(1,500);
where presumably 'e' and randn are statistically independent.
0 Kommentare
Weitere Antworten (2)
Matt J
am 1 Nov. 2014
Bearbeitet: Matt J
am 1 Nov. 2014
How about just setting X=e ?
3 Kommentare
Roger Stafford
am 1 Nov. 2014
Setting X = e does give a covariance of 1, because e was stated as N(0,1).
the cyclist
am 1 Nov. 2014
Bearbeitet: the cyclist
am 1 Nov. 2014
If you have the Statistics Toolbox, you can use the mvnrnd command.
If you don't, you can use Cholesky decomposition to do this. This page seems to have a pretty good explanation, and there is even some MATLAB code there.
0 Kommentare
Siehe auch
Kategorien
Mehr zu Random Number Generation finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!