|
Boost : |
From: Thorsten Ottosen (nesotto_at_[hidden])
Date: 2004-11-09 13:05:53
"Paul A Bristow" <pbristow_at_[hidden]> wrote in message
news:E1CRYy5-00066d-DY_at_he203war.uk.vianw.net...
[snip]
| if we get two sets of measurements in two arrays data1 and data2,
| and get their sizes into size1 and size2
| and their means and variances into mean1 & mean2 and variance1 & variance2,
| and the 'degrees of freedom' using published formulae (and probably
| std::algorithm?)
| (other 'Standard' functions perhaps - but pretty trivial)
|
| pooled_variance = (size1-1)*variance1 + (size2-1)*variance2)/df;
| double t = (mean1 - mean2)/sqrt(pooled_variance*(1./size1 + 1./size2));
|
| probability_of_significantly_different = incomplete_beta(df, 0.5, df/(df + t
| * t));
|
| if(probability_of_significantly_different > 0.95)
| {
| cout << "Batches differ!" << endl; // and/or Action!
| }
|
| (In contrast, stats packages report a lot of clutter,
| intelligible mainly to statisticians, but largely uninformative to users).
|
| Nonetheless, many thanks for your thoughts and helpful suggestions.
I'm already working on the STL "package", but of course can't get anywhere
without
your functions :-) So don't worry about the package for now.
There is some sample statistics in the sandbox in the /stat/ directory.
-Thorsten
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk