4

私の次のコードは、カイ二乗の「変位値」とBoostの確率関数を使用して信頼区間を計算します。

Boostへの依存を避けるために、この機能を実装しようとしています。そのような実装を見つけることができるリソースはありますか?

#include <boost/math/distributions/chi_squared.hpp>
#include <boost/cstdint.hpp>

using namespace std;     
using boost::math::chi_squared; 
using boost::math::quantile;

vector <double> ConfidenceInterval(double x) {
    vector <double> ConfInts; 

    // x is an estimated value in which
    // we want to derive the confidence interval.

    chi_squared distl(2);     
    chi_squared distu((x+1)*2);

    double alpha = 0.90;      

    double lower_limit = 0;   

    if (x != 0) {
        chi_squared distl(x*2);   
        lower_limit = (quantile(distl,((1-alpha)/2)))/2;
    }

    double upper_limit = (quantile(distu,1-((1-alpha)/2)))/2;

    ConfInts.push_back(lower_limit);
    ConfInts.push_back(upper_limit);

    return ConfInts;         
}
4

3 に答える 3

2

GnuScientificライブラリをご覧ください。または、数値レシピをご覧ください。Apache Commons MathにはJavaバージョンもあり、これは簡単に翻訳できるはずです。

于 2009-04-28T03:09:52.180 に答える
2

コピーして貼り付けることができるソース コードを探している場合は、次のリンクを参照してください。

YMMV...

于 2009-05-05T19:34:37.417 に答える