*COLOR(red){polycor}パッケージによる順序相関係数の算出 [#w10f4443]
*パッケージ中の関数一覧 [#uab97525]
|項目|説明|
|hetcor|異なる種類のデータの相関行列を算出する|
|polychor|ポリコリック相関係数|
|polyserial|ポリシリアル相関係数|
*概要 [#l04b1bf2]
--連続変数と連続変数の相関係数がピアソンの相関係数である。
--順序変数と順序変数の相関係数がポリコリック相関係数である。
--順序変数と連続変数の相関係数がポリシリアル相関係数である。

詳細は豊田秀樹(2000)「共分散構造分析(入門編)」の12章、あるいは[[Kosugitti Labo>順序尺度の相関係数について:http://www.kosugitti.net/studies.html]]を見てください。

カテゴリカルな相関係数が算出できるので、カテゴリカル因子分析や項目反応理論などへ適用できる相関係数です。
*使い方 [#ic13cb2b]
**ポリコリック相関係数を算出するには、 [#decf9510]
 polychor(x,y)
とする。特に指定がなければ、2-stepアルゴリズムで推定される。周辺度数も同時に最尤推定する場合は、
 polychor(x,y,ML=TRUE)
とする。
**ポリコリック相関係数算出例 [#xa88171b]
 data <-  data.frame(x=c(1,1,2,2,1,3,3,3,1,1),y=c(3,3,1,1,2,2,2,1,2,2))
 polychor(data$x,data$y)
 polychor(data$x,data$y,ML=TRUE)
結果
 [1] -0.6695898
 [1] -0.6707554
パッケージ名はhがない。関数名はhがあることに注意。
**ポリシリアル相関係数を算出するには、 [#n7eac53f]
 polyserial(x,y)
とする。このとき、xが連続変数、yが順序変数である。周辺度数も同時に最尤推定する場合は、
 polyserial(x,y,ML=TRUE)
とする。
 data <-  data.frame(x=c(1,7,2,5,6,3,3,4,1,2),y=c(3,3,1,1,2,2,2,1,2,2))
 polyserial(data$x,data$y)
 polyserial(data$x,data$y,ML=TRUE)
結果
 [1] 0.03252174
 [1] 0.03239004

**hetcor関数をつかった様々な相関係数の算出 [#m919e659]
データフレームの中で、連続変数、順序変数などが混在する場合、適切な相関係数を求めてくれる関数である。順序変数を要因(factor)型としておくこと。
 data <-  data.frame(w=c(6,7,2,5,6,3,3,4,1,2),
                     x=c(1,2,3,6,1,4,3,4,7,2),
                     y=as.factor(c(3,3,1,1,2,2,2,1,2,2)),
                     z=as.factor(c(2,3,2,1,1,2,1,1,3,2)))
 ans <- hetcor(data)
 ans
この結果は次の通りである。標準誤差等も算出してくれる。
 Two-Step Estimates
 Correlations/Type of Correlation:
         w       x          y          z
 w       1 Pearson Polyserial Polyserial
 x -0.5124       1 Polyserial Polyserial
 y  0.4963 -0.5661          1 Polychoric
 z -0.1834  0.1247     0.6475          1
 Standard Errors:
        w      x      y
 w                     
 x 0.2198              
 y 0.2672 0.2391       
 z 0.3521 0.3726 0.2527
 n = 10 
 P-values for Tests of Bivariate Normality:
        w      x      y
 w                     
 x 0.5489              
 y 0.1887 0.9684       
 z 0.445 0.7139 0.8568
相関係数だけを取り出したい場合は、次のようにする。
 ans$correlation
            w          x          y          z
 w  1.0000000 -0.5123595  0.4963449 -0.1834334
 x -0.5123595  1.0000000 -0.5660687  0.1247286
 y  0.4963449 -0.5660687  1.0000000  0.6474603
 z -0.1834334  0.1247286  0.6474603  1.0000000
これでカテゴリカル因子分析もできるというものである。

*リンク [#l7e3da89]
[[Kosugitti Labo>順序尺度の相関係数について:http://www.kosugitti.net/studies.html]]
----
*コメント [#zb45ca49]
#comment



トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS