I am trying to create a synthetic dataset with 3 columns. I know the correlation between each pair of columns. How do I go about it? A search revealed this Copula distribution example, but it creates 2D data.
I am trying to create a, say, 200 rows with 3 columns, that somewhat looks like:
91.9449 94.6969 92.127
87.0049 89.4548 88.0767
82.5728 87.1846 78.6421
91.7373 95.0214 90.4396
81.3041 91.7888 86.5789
How do I go about this? The best I have so far is:
d1 = NormalDistribution[66, 9.28];
d2 = NormalDistribution[98.66, 5.76];
d3 = NormalDistribution[68.71, 9.57];
jointD = CopulaDistribution[
{"Multinormal", 1/3},
{d1, d2, d3}]
I know that each column has a correlation of around 0.4 with the other.
MultinormalDistribution
? It directly takes a covariance matrix as input. $\endgroup$RandomVariate[MultinormalDistribution[{1, 2, 3}, IdentityMatrix[3]], 3]
just to see how it might work. In this example I impose zero correlation between variables, each with a mean of 1, 2, or 3, respectively. $\endgroup$