Boost inversion_chi_square_distribution 與來自 Matlab 的 chi2inv 共享不同的值,輸入引數(1 - 1e-3, 2)。
有人可以解釋我做錯了什么嗎?
我使用了伽馬反轉分布。
例子 :
輸入:
shape param : n/2
scale : 2
p = 1 - 1e-3;
Matlab -> chi2inv(1-1e-3, 2);
Matlab -> gaminv(1-12-3, n/2, 2);
結果 -> 13.8155。兩個函式的結果相同。
C 提升
cdf(boost::math::inverse_gamma_distribution<double> (n/2,2), a); -> a = 1-1e-3; n = 2;
結果:0.13506461276045323
先感謝您。
uj5u.com熱心網友回復:
Boost 實作了逆伽馬分布,而您需要標準伽馬分布的逆累積分布函式 (icdf)。前者是在 1/x 處計算的 gamma 分布,而后者是 gamma 分布的 cdf 的倒數,請參閱
或者以明文形式:
ConditionalExpression[Piecewise[{{2 InverseGammaRegularized[ν/2, 0, x], 0 < x < 1}, {0, x <= 0}}, Infinity], 0 <= x <= 1]
我不知道如何將這個想法應用于候選代碼 - 但它太大而無法在評論中發布
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/395903.html
下一篇:房屋租賃系統(文字版)
