編集:Apache Commons Math libraryには統計セクションがあります。具体的には、パッケージ全体が共通のDistributionsです。私は基本的な統計を覚えることができないので、そこにいくつかの数学の人がいることを願っています...ここに彼らの図書館を使う試みがあります。私はここにスライディングウィンドウを持って、それらの値の間のPを計算します。これからPDFを得るための本当の方法は?彼らはCDF機能しか持っていません。
public void testNormalDist() throws MathException {
DistributionFactory f = DistributionFactory.newInstance();
NormalDistribution n = f.createNormalDistribution(0.0d, 1.0d);
double lastx = Double.NEGATIVE_INFINITY;
double nextx = Double.NEGATIVE_INFINITY;
for (int i=-100; i < 100; i++) {
nextx = i/100d;
System.out.println(n.cumulativeProbability(lastx, nextx));
lastx = nextx;
}
}
グラフの確率密度関数を使用すると仮定します。 equations are on wikipedia、私はここに数学のマークアップを含める方法を知らないので、 Y値としてp(x)を使用し、X値としてXを使用すると、それからかなり簡単な2-dグラフを得ることができます。
あなたはMathtools under Javaを見ましたか?
これはどうでしょうか...あなたはX点の配列を与えます(正規化されていますが、Xピクセルを画像の幅で各ピクセルの位置に分割することができます)。分布カーブの高さを戻します(再び正規化係数を掛けます)。これは平均0と標準偏差は、1がネット上で見つけることができない場合は、任意の平均値と標準偏差を取る1を実装するのはかなり簡単なはず1.
public double[] normalDistBasic(double[] xarray, double mu) {
double[] yarray = new double[xarray.length];
double rad2pi = 2.50662827d;
for (int off = 0; off < yarray.length; off++) {
double x = xarray[off];
double ss = -1d * x * x/2d;
yarray[off] = (-1f/rad2pi) * Math.exp(ss);
}
return yarray;
}
である。基本的な場合であります
数学やライブラリに問題はありますか? – pyon
ちょうどライブラリ:)私はこれをコードすることができますが、ホイールを再発明して時間を失いたくはありません; – Seb