Wilcoxon検定 のバックアップの現在との差分(No.1) - アールメカブ

アールメカブ


Wilcoxon検定 のバックアップの現在との差分(No.1)


  • 追加された行はこの色です。
  • 削除された行はこの色です。
ウィルコクスンの符合付き順位検定

統計検定量は以下のように求める.
標本番号 1 ( &mathml{x_1};) の対応するふたつの数値の差を求め,その絶対値を &mathml{|d_1|}; とする.

 # ウィルコクスンの符合付き順位和検定 
# ウィルコクスンの符合付き順位和検定 
# データが次のように与えられているとして

 tmpC <- c(54,49,73,65,89,85,78,93,60,79,84)
 tmpD <- c(61,47,64,60,77,85,70,95,56,73,79)
 tmpCD <- tmpC -tmpD
 

いま求めた絶対値を元に順番に並び替える.
# 差を求める
  tmpCD <- tmpC -tmpD

# 差の絶対値を昇順に並べる
 rankCD <- rank(abs(tmpCD[tmpCD != 0])) # 差の絶対値を昇順に並べる
                                        # ただし 0 は含まない
 N <- length(rankCD)
 tmpFlag <- ifelse( tmpCD[tmpCD != 0] > 0, -1, 1) # 差の符号を取得
 length(tmpCD)

 rankCD <- rank(abs(tmpCD[tmpCD != 0]))
 length(rankCD)
 tmpFlag <- ifelse( tmpCD[tmpCD != 0] > 0, -1, 1)
 length(tmpCD)
 rankCD <- rankCD * tmpFlag
 sum(rankCD) / sqrt(sum(rankCD^2)) 
# 符号付きランクを作成
 rankCD <- rankCD * tmpFlag            
 Tplus <- sum(rankCD[rankCD>0])
 Tminus <- sum(rankCD[rankCD<0])*-1
 Tsmall <- ifelse(Tplus > Tminus, Tminus, Tplus) 
  # この数値が表に記載の数値よりも小さければ有意
 
 pnorm(-1.939179,0,1)
 qnorm(0.01,0,1)
# 正規近似する場合は
 
 (wilcoxZ <-  abs(Tsmall - N*(N+1)/4) / sqrt( N*(N+1)*(2*N+1) /24 ))
あるいは
  (wilcoxZ <- sum(rankCD) / sqrt(sum(rankCD^2)))
 
 pnorm(wilcoxZ,0,1) * 2 # 片側なら 2 倍する

青木先生のページも関連情報はある.
http://aoki2.si.gunma-u.ac.jp/lecture/mb-arc/arc023/008.html