Boost.Random question
Hello all, a colleague of my asked me to drop a question on the forum about the following case: He produces 1000 samples with the following code: boost::normal_distribution<double> n1(1, sqrt(4.0)); boost::variate_generator< boost::minstd_rand, boost::normal_distribution<double> > g1(boost::minstd_rand(), n1); He also calulates the covariance. It should be something like (4 0) but he got (4.1 8.3). This 4 is correct, but the 8.3 not. Anyone an idea? Note (again): post from a colleague; i didn't try it myself.
AMDG gast128 wrote:
a colleague of my asked me to drop a question on the forum about the following case:
He produces 1000 samples with the following code:
boost::normal_distribution<double> n1(1, sqrt(4.0)); boost::variate_generator< boost::minstd_rand, boost::normal_distribution<double> > g1(boost::minstd_rand(), n1);
He also calulates the covariance. It should be something like (4 0) but he got (4.1 8.3). This 4 is correct, but the 8.3 not. Anyone an idea?
Note (again): post from a colleague; i didn't try it myself.
I thought that covariance was a two variable statistic. What exactly is being tested? In Christ, Steven Watanabe
Steven Watanabe
AMDG
gast128 wrote:
a colleague of my asked me to drop a question on the forum about the
following
case:
He produces 1000 samples with the following code:
boost::normal_distribution<double> n1(1, sqrt(4.0)); boost::variate_generator< boost::minstd_rand, boost::normal_distribution<double> > g1(boost::minstd_rand(), n1);
He also calulates the covariance. It should be something like (4 0) but he got (4.1 8.3). This 4 is correct, but the 8.3 not. Anyone an idea?
Note (again): post from a colleague; i didn't try it myself.
I thought that covariance was a two variable statistic. What exactly is being tested?
In Christ, Steven Watanabe
Yes u are right, the matrices should be [4 0; 0 16], while the measured values were [ 4.1 8.3; 8.3 16.6 ]. However my colleaque also found out that applying a seed first to the engine solved the problem. unsigned int first_seed = static_cast<unsigned int>(time(0)); boost::variate_generator< boost::minstd_rand, boost::uniform_int<> > generatorSeed(boost::minstd_rand(), boost::uniform_int<>(0, UINT_MAX/2)); generatorSeed.engine().seed(first_seed); g1.engine().seed(static_cast<unsigned int>(generatorSeed())); g2.engine().seed(static_cast<unsigned int>(generatorSeed()));
participants (2)
-
gast128
-
Steven Watanabe