ベータ分布の値を返す関数
GoGolangで、ベータ分布の値を返す関数を作成しました。
math
パッケージにはガンマ関数の値を返す関数などがあるので、それらを組み合せることで、ベータ分布の値を返す関数は簡単に作ることができます。
1 2 3 4 5 6 7 8 9 10 11 12 |
package main import ( "math" ) // ベータ分布 Beta(x, a, b) の値を返す関数 // Beta(x; a, b) = (Γ(a+b)/(Γ(a)Γ(b))) * x^(a-1) * (1-x)^(b-1) func betaDistribution(x, a, b float64) float64 { return ((math.Gamma(a+b) / (math.Gamma(a) * math.Gamma(b))) * math.Pow(x, a-1) * math.Pow(1-x, b-1)) } |
参考文献
- 「パターン認識と機械学習 上」 C.M. ビショップ (著)
- 「プログラミング言語Go」 Alan A.A. Donovan (著), Brian W. Kernighan (著), 柴田 芳樹 (翻訳)