Re: Generating a Matrix of Random values with a specified Correlation
- From: James Waldby <no@xxxxx>
- Date: Thu, 25 Sep 2008 18:01:56 -0500
On Thu, 25 Sep 2008 11:30:06 -0700, willgarrison wrote:
On Sep 25, 12:17 pm, Robert Israel... wrote:....
willgarri...@xxxxxxxxx writes:
I'm trying to generate two columns of random values where each value
is between 1 and 5 where the matrix as a whole has a specified
correlation.
Ideally this is what I'm looking for:
Example algorithm:
1. Generate 20 random values between 1 and 5 in array A. 2. Generate
20 random values between 1 and 5 in array B. 3. Create a 3rd array
(array C), where array B is sorted so that array A and array C have a
correlation of X.
....Start with your two arrays A and B. Let a=Var(A), b=Var(B),
c=Cov(A,B), so the (Pearson) correlation of A and B is rho = c/sqrt(a
b). Let's suppose the desired correlation x > rho (where of course x
<= 1). Consider C = tA + (1-t)B, where 0 <= t <= 1. We have Cov(A,C) =
ta + (1-t) c and
Var(C) = t^2 a + 2 t (1-t) c + (1-t)^2 b so the correlation of A and C
is (ta + (1-t)c)/sqrt(a(t^2 a + 2t(1-t)c + (1-t)^2 b)). Set this equal
to x and solve for t: there should be exactly one solution in the
interval 0 <= t <= 1.
On the other hand, if -1 <= x < rho,
try C = t R + (1-t) B where each R_j = 6 - A_j. --
Robert Israel
I think this is not only over my head but perhaps not the exact answer[snip restatement]
I'm looking for. However, it being over my head, it's impossible for me
to know.
Let me phrase this as a simpler question with hopes of improving my
chances of understanding your response.
R.I. has given you a method of generating two vectors A and C
with corr(A,C) equal to a given value X.
In my earlier response, I misinterpreted your first post, and
thought you wanted to reorder the elements of a given matrix B to
form C to approximate a specified correlation, as opposed to
just generating a vector C with given correlation with A.
--
jiw
.
- References:
- Generating a Matrix of Random values with a specified Correlation
- From: willgarrison
- Re: Generating a Matrix of Random values with a specified Correlation
- From: Robert Israel
- Re: Generating a Matrix of Random values with a specified Correlation
- From: willgarrison
- Generating a Matrix of Random values with a specified Correlation
- Prev by Date: Re: Generating a Matrix of Random values with a specified Correlation
- Next by Date: Re: Is this a Tautology?
- Previous by thread: Re: Generating a Matrix of Random values with a specified Correlation
- Next by thread: Re: Generating a Matrix of Random values with a specified Correlation
- Index(es):
Relevant Pages
|