Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

質的変数の相関・因子分析

33,227 views

Published on

質的変数(順序尺度)に有用なポリコリック相関係数を紹介しています。
また、ポリコリック相関係数を使った因子分析の方法も説明しています。

Published in: Technology

質的変数の相関・因子分析

  1. 1. 質的変数の相関分析と因子分析 Tokyo.R #32 2013.7.20
  2. 2. 自己紹介 2 twitter @argyle320 勤務先 IT分野のリサーチ会社 データ分析歴 約18年 分析対象 金融、テキスト、Webアンケート R歴 2年
  3. 3. アウトライン • 質的変数とは • 相関係数 – 一般的な相関係数・・・ピアソン、スピアマン – ポリコリック相関係数 • 因子分析 – ポリコリック相関を用いた因子分析 3
  4. 4. 質的変数 4
  5. 5. 変数の種類 5 大分類 小分 類 意味 例 相関 量的変数 (連続変数) 比例 尺度 原点(0)の決め方が定まっていて, 間隔にも比率にも意味があるもの 身長,体重,金額 ○ 間隔 尺度 目盛が等間隔になっている(等間 隔であると仮定されている)もの 温度 ○ 質的変数 (カテゴリカ ル・データ) 順序 尺度 順序には意味があるがその間隔に は意味がない数値を割り当てたも の 満足度(n段階評価) 年代 ○ 名義 尺度 順序のないカテゴリが割り当てられ た変数。 同じか違うかしか意味がない 血液型 性別 職業 × ※ 2カテゴリーの名義尺度は順序尺度として扱う事もできる △
  6. 6. 相関 6
  7. 7. 相関係数とは • 2変量について相関の度合いを示した係数 • -1~1の間の値を取り、2変量間の線形関係が強いほど大 (相関係数が負の場合は負の相関) – ピアソン: 連続量に対する相関 – スピアマン: 順位相関 (順位に変換してのピアソン相関) 7 とても強い相関 0.7以上 強い相関 0.4~0.7 弱い相関 0.2~0.4 相関がない 0.2以下 相関係数と関係の目安
  8. 8. ピアソンとスピアマンの違い 8 7 xy  方式 相関係数 ピアソン 0.755 スピアマン 1.0 ケンドール 1.0 数値的線形性を見たいのであればピアソン 順序関係を見たいのであればスピアマン スピアマン(順位相関)は順位に変換したピアソンの相関係数
  9. 9. 質的変数(順序尺度)間の相関 • 例:総合満足度と価格満足度の相関(5段階評価) • ピアソン、スピアマンでは相関係数が低くなり、 利用できる場面が少なくなる – 経験的には、大きくても0.4程度という場合が多い • 質的変数用の相関係数: ポリコリック相関係数 © IDC Visit us at IDC.com and follow us on Twitter: @IDC 9
  10. 10. ポリコリック相関係数 10
  11. 11. ポリコリック相関係数の原理 11 x y 1 2 3 4 4 0 0 1 2 3 1 16 14 10 2 11 22 13 0 1 6 4 0 0 連続値としての散布図 (相関係数=0.67) カテゴリ値分割後の集計表 相関係数 ピアソン 0.57 スピアマン 0.55 ケンドール 0.50 ポリコリック polycor(x,y) 0.68  【仮定】本来、連続分布している要因が順序尺度に変 換されている  順序尺度の評価から背景の連続分布における相関係 数を最尤推定で算出  正規分布を仮定  算出値が元の連続分布での相関係数に近い  実用的には、他の相関係数より高めの値が出る 総合 満足度 価格 満足度
  12. 12. ポリコリック・ポリシリアル・テトラコリック 12 ポリコリック相関 順序尺度 ×順序尺度 ※ 2カテゴリの順序尺度も含む ポリシリアル相関 順序尺度 ×連続量 テトラコリック相関 2×2の順序尺度 (名義尺度) ※ 別に知らなくても不自由しない ポリシリアル テトラコリック 2値変数連続変数 2 値 変 数 カ テ ゴ リ 変 数
  13. 13. Rで使えるポリコリック相関 13 ラ イ ブ ラ リ 関 数 相 関 変 数 デ ー タ フ レ ー ム 集 計 表 polycor polychor ポリコリック ordered かfactor No Yes hetcor 混在 (自動判定) ordered 数値 Yes No polyserial ポリシリアル ordered かfactor 数値 No Yes psych polychoric ポリコリック 整数 Yes No tetrachoric ポリコリック 整数 Yes Yes polyserial ポリシリアル 整数 Yes No biserial ポリシリアル 整数 Yes No
  14. 14. サンプルデータ: bfi • psychパッケージ付属のデータセット • 性格の自己診断テスト • 25個の性格の項目(int) + 年齢、学歴、性別 ここでは最初の10列だけ使います • 2,800サンプル 14 A1 A2 A3 A4 A5 C1 C2 C3 C4 C5 E1 E2 E3 E4 E5 N1 N2 N3 N4 N5 O1 O2 O3 O4 O5 gen der educ atio n age 6161 7 2 4 3 4 4 2 3 3 4 4 3 3 3 4 4 3 4 2 2 3 3 6 3 4 3 1 NA 16 6161 8 2 4 5 2 5 5 4 4 3 4 1 1 6 4 3 3 3 3 5 5 4 2 4 3 3 2 NA 18 6162 0 5 4 5 4 4 4 5 4 2 5 2 4 4 4 5 4 5 4 2 3 4 2 5 5 2 2 NA 17 6162 1 4 4 6 5 5 4 4 3 5 5 5 3 4 4 4 2 5 2 4 1 3 3 4 3 5 2 NA 17 6162 2 2 3 3 4 5 4 4 5 3 2 2 2 5 4 5 2 3 4 4 3 3 3 4 3 3 1 NA 17 6162 3 6 6 5 6 5 6 6 6 1 3 2 1 6 5 6 3 5 2 2 3 4 3 5 6 1 2 3 21
  15. 15. polychoricの使い方(ローデータから算出) 15 > data(bfi) > bfi <- na.omit(bfi[1:10]) > polychoric(bfi) |.............................................................................. ..| 100% Call: polychoric(x = bfi) Polychoric correlations A1 A2 A3 A4 A5 C1 C2 C3 C4 C5 A1 1.00 A2 -0.41 1.00 A3 -0.32 0.56 1.00 A4 -0.17 0.40 0.41 1.00 A5 -0.23 0.45 0.57 0.36 1.00 C1 -0.01 0.12 0.13 0.12 0.17 1.00 C2 0.01 0.16 0.15 0.27 0.14 0.49 1.00 C3 -0.02 0.22 0.15 0.17 0.15 0.35 0.41 1.00 C4 0.15 -0.19 -0.17 -0.20 -0.16 -0.41 -0.44 -0.39 1.00 C5 0.06 -0.16 -0.19 -0.29 -0.20 -0.30 -0.34 -0.39 0.53 1.00 ⇒ データフレームから相関行列を算出
  16. 16. polychoricとピアソンを比較 16 ポリコリック ピアソン A1 1 1.0000 A2 -0.41019 -0.3402 A3 -0.32388 -0.2630 A4 -0.1734 -0.1435 A5 -0.22954 -0.18606 C1 -0.00565 0.01995 C2 0.007411 0.01354 C3 -0.02351 -0.00944 C4 0.145109 0.09995 C5 0.055174 0.02414 絶対値が大きくなっている
  17. 17. polychorの使い方(集計表から算出) 17 > data(bfi) > bfi <- na.omit(bfi[1:10]) > for (i in ncol(bfi)) bfi[[i]] <- factor(bfi[[i]]) > (tbl <- table(bfi[[1]],bfi[[2]])) 1 2 3 4 5 6 1 11 9 7 80 299 463 2 8 26 41 167 355 182 3 3 20 42 115 136 59 4 7 23 35 107 96 53 5 6 28 17 50 64 44 6 12 14 5 7 16 25 > polychor(tbl) [1] -0.4101894 > polychor(bfi[[1]], bfi[[2]]) [1] -0.4101894 ⇒ tableから算出 ⇒ 変数のベクトルから算出
  18. 18. hetcorの使い方 18 > data(bfi) > bfi <- na.omit(bfi[1:4]) > for (i in 1:2) bfi[[i]] <- ordered(bfi[[i]]) > hetcor(bfi) Two-Step Estimates Correlations/Type of Correlation: A1 A2 A3 A4 A1 1 Polychoric Polyserial Polyserial A2 -0.4098 1 Polyserial Polyserial A3 -0.2897 0.5043 1 Pearson A4 -0.1616 0.3453 0.3622 1 ⇒ 変数により手法が変わる ⇒ 1,2が順序尺度,3,4は整数
  19. 19. 注意点 • 算出方法は2種類 (ML= T or F) – ML ・・・最尤法。精度はいいが計算が遅い – 2-Step ・・・近似だが計算は速い。通常はこちら • 順序尺度が細かい(8超)とあまり意味がない • polychor関数でML=T、std.err=Tとすると、変数を標 準化した上での分割しきい値が算出される 19 polychoric関数からのメッセージ You have more than 8 categories for your items, polychoric is probably not needed
  20. 20. 因子分析 20
  21. 21. 因子分析とは • 複数変数について、共通する変数を探索する分析手法 • 相関関係がベース • 例) 各科目の点数に因子分析をかけると 理系変数と文系変数が現れる • 因子分析の特徴は軸を「回転」させて単純構造を導くこと 斜行回転(promax)を使うのがおすすめ 21 英語 国語 社会 理科 数学 理系 文系 因子変数 0.68 0.72
  22. 22. Rで因子分析 • 標準の関数は factanal • 今回はfa ・・・polychoricと同じpsychパッケージ • faもfactanalも相関行列から因子分析可能 • faの方が高機能 22
  23. 23. ピアソンの相関係数による因子分析 23 > bfi.pearson <- cor(bfi) > factanal(covmat=bfi.pearson, factors=3, rotation="promax") Loadings: Factor1 Factor2 Factor3 A1 -0.407 A2 0.666 A3 0.770 A4 0.460 -0.102 A5 0.618 C1 0.683 0.111 C2 0.728 C3 0.486 C4 -0.469 0.232 C5 1.005 Factor1 Factor2 Factor3 SS loadings 1.80 1.466 1.108 Proportion Var 0.18 0.147 0.111 Cumulative Var 0.18 0.327 0.437 Factor Correlations: Factor1 Factor2 Factor3 Factor1 1.000 -0.269 0.544 Factor2 -0.269 1.000 -0.299 Factor3 0.544 -0.299 1.000 ⇒ 因子間の相関係数(斜行回転)
  24. 24. polychoricによる因子分析 24 > bfi.polycor <- polychoric(bfi) > fa(bfi.polycor$rho, nfactors=3, rotate="promax") MR2 MR3 MR1 h2 u2 A1 -0.47 0.09 -0.04 0.20 0.801 A2 0.73 0.03 0.07 0.52 0.483 A3 0.82 -0.03 0.02 0.65 0.350 A4 0.49 0.05 -0.12 0.32 0.684 A5 0.66 0.00 -0.02 0.45 0.551 C1 -0.03 0.73 0.12 0.44 0.560 C2 0.00 0.78 0.11 0.52 0.476 C3 0.04 0.49 -0.10 0.33 0.670 C4 -0.01 -0.50 0.25 0.46 0.540 C5 0.04 0.00 1.01 1.00 0.005 MR2 MR3 MR1 SS loadings 2.09 1.65 1.14 Proportion Var 0.21 0.17 0.11 Cumulative Var 0.21 0.37 0.49 Proportion Explained 0.43 0.34 0.23 Cumulative Proportion 0.43 0.77 1.00 With factor correlations of MR2 MR3 MR1 MR2 1.00 0.33 -0.31 MR3 0.33 1.00 -0.58 MR1 -0.31 -0.58 1.00 ⇒ ピアソンより高めの相関係数 ⇒ ピアソンより高めの因子負荷量
  25. 25. まとめ • 順序尺度の相関 ⇒ ポリコリック相関 – 順序尺度の背後の連続分布を最尤法で推定 – ピアソンより値が高めに出る • 順序尺度の因子分析 にも利用できる 25 「カテゴリカルデータ解析」 共立出版 「因子分析入門」 東京図書 参考文献
  26. 26. ご清聴ありがとうございました 26

×