Multivariate-T Simulation Problem
- To: mathgroup at smc.vnet.net
- Subject: [mg38986] Multivariate-T Simulation Problem
- From: KyriakosChourdakis <tuxedomoon at yahoo.com>
- Date: Thu, 23 Jan 2003 08:05:54 -0500 (EST)
- Reply-to: k.chourdakis at qmul.ac.uk
- Sender: owner-wri-mathgroup at wolfram.com
Dear all,
I am trying to simulate a multivariate t-distribution,
and encounter the following problem:
(* First load the packages *)
<<Statistics`MultinormalDistribution`
<<LinearAlgebra`MatrixManipulation`
NS = 2; (* the number of series *)
df = 20; (* the degrees of freedom - Since the number
is large, it should make the t similar to a normal *)
(* Create a random variance-covariance matrix *)
rS0 = RandomArray[UniformDistribution[-0.30,
0.80],{NS, NS}];
rS0 = rS0.Transpose[rS0];
rS0 = (rS0/Max[rS0]) (1 - IdentityMatrix[NS]) +
IdentityMatrix[NS];
(* the var-covar matrix is *)
rS0
{{1, -0.290755},
{-0.290755, 1 }}
(* create 10000 draws of 2 dimensional vectors *)
ET =
Transpose[RandomArray[MultivariateTDistribution[rS0,
df], 10000]];
(* the theoretical cov matrix is ok, with
var=df/[df-2]... *)
ST = N[CovarianceMatrix[MultivariateTDistribution[rS0,
df]]]
{{1.11111, -0.323061},
{-0.323061, 1.11111}}
(* ... But the simulated variance is not*)
Mean /@ ET
Variance /@ ET
{-0.00426186, 0.00824351}
{0.067534, 0.0670659}
(* On the other hand, if I draw from the corresponding
multinormal *)
EN = Transpose[RandomArray[MultinormalDistribution[{0,
0}, ST], 10000]];
(* Everything is OK *)
Mean /@ EN
Variance /@ EN
{0.0196956, -0.00675908} (* Should be 0 *)
{1.1362, 1.1099} (* Should be 1.111 *)
I cannot understand why the simulated variance is
0.067 instead of 1.111/[20-2]. Alternatively, why
should I multiply all values with sqrt(1.111/0.067)=4.
Best,
Kyriakos
__________________________________________________
Do You Yahoo!?
Everything you'll ever need on one web page
from News and Sport to Email and Music Charts
http://uk.my.yahoo.com