ケンドールの順位相関係数の分布     Last modified: May 15, 2002

 ケンドールの順位相関係数の有意性の検定のための数表は,以下のようにして比較的簡単に作れたが,スピアマンの順位相関係数のそれがうまく行かぬ。


# kendall.awk

BEGIN {
   N = 19 # 19以上は精度に問題あり
   t[0] = t[1] = 1
   for (n = 3; n <= N; n++) {
       n_prev = n-1
       max_prev = n_prev*(n_prev-1)/2
       for (i = max_prev; i >= 0; i--) {
           for (j = n-1; j > 0; j--) {
               t[i+j] += t[i]
           }
       }
       denom = max_now = n*(n-1)/2
       cum = sum = 0
       for (i = 0; i <= max_now; i++) {
           sum += t[i]
       }
       printf "\n\n Kendall Rank Correlation Coefficient    N = %i\n\n", n
       printf "%5s: %12s   %13s %17s\n", "S", "τ", "累積確率", "度数"
       for (i = 0; i <= max_now; i++) {
           kendall = 1-2*i/denom
           cum += t[i]
           if (kendall >= 0.0) {
               printf "%5i: %#12.7f   %#13.10f %17.17g\n",
               denom-i*2, kendall, cum/sum, t[i]
           }
           else {
               break
           }
       }
   }
}

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