カイ二乗分布のパーセント点     Last modified: May 15, 2002

 自由度 df のカイ二乗分布において,上側確率が p に対するパーセント点を与える関数です。


# カイ二乗分布のパーセント点を求める。

function pxx(p0, idf,     df9, temp, u, xl, xm, xr, ok)
{
   ok = 0
   xl = 0
   xr = 10
   while (xr < 1e30) {
       temp = xxp(xr, idf)
       if (temp == p0) {
           return xr
       }
       else if (temp < p0) {
           ok = 1
           break
       }
       xl = xr
       xr *= 10
   }
   
   if (ok == 0) {
       printf "pxx(1): 近似計算を行いました。" > "/dev/stderr"
       u = pxg(p0)
       df9 = 2/(9*idf)
       temp = 1-df9+u*sqrt(df9)
       return idf*temp^3
   }
   else {
       do {
           xm = (xl+xr)*0.5
           temp = xxp(xm, idf)
           if (temp > p0) {
               xl = xm
           }
           else {
               xr = xm
           }
       } while (abs(xr-xl)/xm > 1e-10)
       return xm
   }
}

・ 直前のページへ戻る  ・ E-mail to Shigenobu AOKI