ポリコリック相関係数のThresholdsの意味
院生からのメールで、Rのpolycorパッケージのpolychor()やpolyserial()のthreshold=TRUEで表示されるThresholdsの意味について問い合わせがあったので調べてみた。以下返信メールの該当部分を貼り付ける。
======(ここから)======
Thresholdsは計算途中で使われる値で、
や
https://documentation.sas.com/doc/en/pgmsascdc/9.4_3.5/procstat/procstat_corr_details16.htm
を見ると、その順序カテゴリまでに含まれるサンプルの割合の正規分布のパーセント点です。講義テキスト(第8章、pp.112)の例だと、
> library(MASS)
> library(polychor)
> survey$Smoke <- factor(survey$Smoke, levels=levels(survey$Smoke)[c(2, 3, 4, 1)])
> survey$Exer <- factor(survey$Exer, levels=levels(survey$Exer)[c(2, 3, 1)])
> polychor(survey$Smoke, survey$Exer, std.err=TRUE)
Polychoric Correlation, 2-step est. = 0.1269 (0.1011)
Test of bivariate normality: Chisquare = 4.274, df = 5, p = 0.5107
Row Thresholds
1 0.8447
2 1.1820
3 1.6790
Column Thresholds
1 -1.29600
2 0.03187
となりますが、
> print(dat <- xtabs(~Smoke+Exer, data=survey))
Exer
Smoke None Some Freq
Never 18 84 87
Occas 3 4 12
Regul 1 7 9
Heavy 1 3 7
> print(RR <- rowSums(dat))
Never Occas Regul Heavy
189 19 17 11
> print(CC <- colSums(dat))
None Some Freq
23 98 115
のように、行ごと、列ごとの合計を計算しておいて、
> qnorm(cumsum(RR)/sum(RR))
Never Occas Regul Heavy
0.8446521 1.1817923 1.6786497 Inf
> qnorm(cumsum(CC)/sum(CC))
None Some Freq
-1.29617484 0.03186931 Inf
として出てくる値がThresholdsです。計算途中で使われる値で、分布の様子を示しますが、とくに意味を解釈する必要はありません。
コメント
コメントを投稿