SlideShare a Scribd company logo
1 of 26
Download to read offline
因子分析
Tokyo.R #33
2013.8.31
自己紹介
2
氏名 下畑 光夫
twitter @argyle320
勤務先 IT分野のリサーチ会社
データ分析歴 約18年
分析対象
過去: ATM現金需要、テキスト
今: Webアンケート
R歴 3年
アウトライン
因子分析とは
 主成分分析・因子分析
 直感的に分かる!・・・ 固有値・固有ベクトル
Rでの利用方法
 factanal
 出力情報の意味
 直感的に分かる!・・・ 回転
 質的変数への因子分析
3
因子分析とは
測定可能な変数から、その背後にある潜在変数を分析する手法
4
英語
現代文
古典
数学
物理
地学
文
系
理
系
 心理学
 社会学
 マーケティング: 消費者心理、ライフスタイル
主成分分析と因子分析
5
英語
現代文
古典
数学
物理
地学
主
成
分
1
因
子
1
合成変数
潜在変数観測変数
操作 式 回転
因子分析 分解 英語 = 理系 + 文系+独自因子 あり
主成分分析 合成 理系 = 英語+現代文+古典+数学+物理+地学 なし
※ 主成分分析は分析には不向き (変数圧縮にはよいが)
因
子
2
因子分析の用語
6
文系
理系
※ 因子数と回転は後で詳述
因子数 因子の数。因子分析を規定する重要な数
因子負荷量 各因子が観測変数に及ぼす影響度合い
0.3以上あれば影響があるとみなせる
寄与率 観測変数全体の分散に対するある因子の説明度
累積寄与率 複数因子の寄与率の合計
共通性 共通因子から説明される割合
独自性 独自因子から説明される割合
独自因子
英語
因子負荷量
共通性
独自性
使うデータ
6科目の学力テストデータ
 英語、 現代文、 古典、 数学、 物理、 地学
 「因子分析入門」豊田秀樹編著に収録
 東京図書のサイトからダウンロードできます
• 「東京図書 ダウンロード」で検索
• 「因子分析入門」からzipファイルをダウンロード
• ファイル名:「6科目学力(量的).csv」
7
因子数
因子分析での最重要パラメータ
 固有値(eigenvalue)を元に決める
 定性的に決める
8
eigen = 「アイゲン」と読む
9
永源遥
「エイゲン」と読むと(元)プロレスラー
得意技・・・ツバ飛ばし
10
固有値・固有ベクトルって何?
(eigenvalue, eigenvector)
11











ifc
heb
gda
A xxA


nの正方行列Aに対して、以下の式が成り立つx(固有ベクトル)とλ(固有値)
そんな式、意味分からん
12
ミスタークエスチョン
直感的に分かる! 固有値・固有ベクトル
13






































r
q
p
r
q
p
r
q
p
3
2
1
3
3
2
1
2
3
2
1
1     











ifc
heb
gda
A
固有値・固有ベクトルはnの正方行列Aの基底ベクトルである
 行列A: 固有ベクトルという軸に、固有値の分伸ばしたもの
 固有値が大きいと、影響が大きい
 相関行列に適用し、観測変数を相関係数の観点で分解
⇒ 主成分分析
分解 x軸 y軸 z軸
係数
因子分析の場合
14



















2
3
2
2
2
1
ifc
heb
gda
A
因子分析の場合は、固有値を求める行列が異なる
対象: 相関行列から、独自因子を差し引いたもの
 主成分分析と因子分析も固有値分解は一緒。違いは独自因子
 因子分析では独自因子がバッファ的役割となって固有値分解
 321
   : 独自因子
因子数の決定
15
> x <- read.csv("6科目学力(量的).csv")
> (x.eigen <- eigen( cor(x) )$value )
[1] 3.7442636 1.2915925 0.3292638 0.2617820 0.2189146 0.1541835
> plot(x.eigen, type="b") ; abline(h=1, col="red", lty=2)
因子数 = 2固有値が1.0以下
後方がなだらか
固有値を算出
スクリープロット
試行錯誤して決めるの
がベター
因子数の決定
16
fa.parallelのグラフ
> fa.parallel(x, fa="pc")
Parallel analysis suggests that the number of factors = 2
and the number of components = 2
psychパッケージの fa.parallelもある
因子分析
17
> x <- read.csv("6科目学力(量的).csv")
> (result <- factanal(x, factors=2, rotation="promax"))
Uniquenesses:
英語 現代文 古典 数学 物理 地学
0.249 0.129 0.290 0.174 0.255 0.335
Loadings:
Factor1 Factor2
英語 0.823
現代文 0.947
古典 0.869
数学 0.938
物理 0.865
地学 0.762
Factor1 Factor2
SS loadings 2.341 2.219
Proportion Var 0.390 0.370
Cumulative Var 0.390 0.760
Factor Correlations:
Factor1 Factor2
Factor1 1.000 -0.536
Factor2 -0.536 1.000
因子負荷量
独自因子が占める割合 = 共通因子でカバーされない割合
第1因子 ・・・ 英語+現代文+古典 = 「文系」
第2因子 ・・・ 数学+物理+地学 = 「理系」
因子間の相関係数 (斜行回転のみ)
Proportion Var: 因子ごとの寄与率
Cumulative Var: 累積寄与率 (全体の分散をカバーする率)
factanal を使って因子分析 (psychパッケージのfaの方が高機能)
結果をまとめると・・・
18
因子数 2
寄与率 因子1: 0.39
因子2: 0.37
分散全体の39%をカバー
分散全体の37%をカバー
累積寄与率 0.76 分散全体の76%をカバー
因子間の相関係数
(斜行回転のみ)
-0.53 文系と理系の相関は-0.53
Loadings:
Factor1 Factor2
英語 0.823
現代文 0.947
古典 0.869
数学 0.938
物理 0.865
地学 0.762
Uniquenesses:
英語 現代文 古典 数学 物理 地学
0.249 0.129 0.290 0.174 0.255 0.335
因子負荷量 独自因子
分析用途では非常に有用
因子切り分けだけではあまりサプライズがない
回転
19
回転とは
主成分分析との大きな違い
 主成分分析は回転させない (原理的にはできるが普通はしない)
直交回転・斜行回転
 因子軸の回転で、直交性を保つか否か
使うなら斜行回転(promax)
 最近の書籍では斜行回転を推薦。少し古いと直交回転(varimax)を推薦
 因子間が直交という仮定は不自然
 因子間の相関も重要な情報
20
 因子の軸を回転させること
 単純構造を導く ・・・ 因子負荷量が0か1に近づくようにする
コントラストを大きくする
回転と因子負荷量 (グラフ編)
21
none
(回転なし)
varimax
(直交回転)
promax
(斜交回転)
第1因子は総合成績の因子
第2因子は「理系⇔文系」
第1因子は文系
第2因子は理系
2つの因子がやや混ざる
第1因子は文系
第2因子は理系
2つの因子がほぼ直交
biplot(result$scores, result$loading) で描画 (+α)
回転と因子負荷量(数値編)
22
none
(回転なし)
varimax
(直交回転)
promax
(斜交回転)
第1因子がすべて0.7以上
第1,2因子の寄与率の差が大
noneより単純構造
寄与率は均等に
varimaxより単純構造
因子間の相関係数あり
Loadings:
Factor1 Factor2
英語 0.819 -0.284
現代文 0.848 -0.390
古典 0.755 -0.374
数学 0.723 0.551
物理 0.712 0.488
地学 0.715 0.391
Factor1 Factor2
SS loadings 3.500 1.067
Proportion Var 0.583 0.178
Cumulative Var 0.583 0.761
Loadings:
Factor1 Factor2
英語 0.813 0.300
現代文 0.903 0.237
古典 0.821 0.190
数学 0.209 0.884
物理 0.241 0.829
地学 0.304 0.756
Factor1 Factor2
SS loadings 2.345 2.223
Proportion Var 0.391 0.371
Cumulative Var 0.391 0.761
Loadings:
Factor1 Factor2
英語 0.823
現代文 0.947
古典 0.869
数学 0.938
物理 0.865
地学 0.762
Factor1 Factor2
SS loadings 2.341 2.219
Proportion Var 0.390 0.370
Cumulative Var 0.390 0.760
Factor Correlations:
Factor1 Factor2
Factor1 1.000 -0.536
Factor2 -0.536 1.000
回転させても累積寄与率は同じ
質的変数に対する因子分析
factanal : ピアソンの相関係数で因子分析
質的変数ではピアソンの相関係数では値が伸びない
ポリコリック相関係数を用いて因子分析
 順序尺度間の相関係数
 背後に連続変量を仮定し、連続変量間の相関を最尤推定で算出
 詳しくは拙作「質的変数の相関・因子分析」を参照 (Tokyo.R #32)
「slideshare 質的変数 相関」で検索!
相関行列を与えて因子分析
⇒ デフォルト以外での相関行列が利用可
23
総合満足度
価格
満足度
質的変数に対する因子分析
ポリコリック相関係数: psychパッケージのpolychoric関数
データ: psychパッケージのbfiデータを利用 (6レベルの変数)
24
> data(bfi)
> bfi <- na.omit(bfi[1:10])
> factanal(bfi, factors=2, rotation=“promax”)
Loadings:
Factor1 Factor2
A1 -0.402
A2 0.660
A3 0.777
A4 0.140 0.445
A5 0.624
C1 0.576
C2 0.637
C3 0.556
C4 -0.674
C5 -0.580
Factor1 Factor2
SS loadings 1.866 1.795
Proportion Var 0.187 0.179
Cumulative Var 0.187 0.366
Factor Correlations:
Factor1 Factor2
Factor1 1.000 -0.352
Factor2 -0.352 1.000
> data(bfi)
> bfi <- na.omit(bfi[1:10])
> factanal(factors=2, rotation="promax",
covmat=polychoric(bfi)$rho)
Loadings:
Factor1 Factor2
A1 -0.461
A2 0.710
A3 0.826
A4 0.159 0.469
A5 0.667
C1 0.622
C2 0.679
C3 0.584
C4 -0.715
C5 -0.611
Factor1 Factor2
SS loadings 2.109 2.070
Proportion Var 0.211 0.207
Cumulative Var 0.211 0.418
Factor Correlations:
Factor1 Factor2
Factor1 1.000 -0.376
Factor2 -0.376 1.000
ポリコリック相関係数を指定
元データは不要
絶対値が高めに出る
ピアソンの相関係数 ポリコリック相関係数
参考文献
因子分析入門、豊田秀樹編著、東京図書
多次元データ解析法、共立出版
25
ご清聴ありがとうございました

More Related Content

What's hot

ベイズ統計入門
ベイズ統計入門ベイズ統計入門
ベイズ統計入門
Miyoshi Yuya
 

What's hot (20)

これからの仮説検証・モデル評価
これからの仮説検証・モデル評価これからの仮説検証・モデル評価
これからの仮説検証・モデル評価
 
重回帰分析で交互作用効果
重回帰分析で交互作用効果重回帰分析で交互作用効果
重回帰分析で交互作用効果
 
ベイズモデリングと仲良くするために
ベイズモデリングと仲良くするためにベイズモデリングと仲良くするために
ベイズモデリングと仲良くするために
 
2 4.devianceと尤度比検定
2 4.devianceと尤度比検定2 4.devianceと尤度比検定
2 4.devianceと尤度比検定
 
Stanコードの書き方 中級編
Stanコードの書き方 中級編Stanコードの書き方 中級編
Stanコードの書き方 中級編
 
ベイズ統計入門
ベイズ統計入門ベイズ統計入門
ベイズ統計入門
 
潜在クラス分析
潜在クラス分析潜在クラス分析
潜在クラス分析
 
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
 
1 4.回帰分析と分散分析
1 4.回帰分析と分散分析1 4.回帰分析と分散分析
1 4.回帰分析と分散分析
 
データ解析10 因子分析の基礎
データ解析10 因子分析の基礎データ解析10 因子分析の基礎
データ解析10 因子分析の基礎
 
心理学者のためのGlmm・階層ベイズ
心理学者のためのGlmm・階層ベイズ心理学者のためのGlmm・階層ベイズ
心理学者のためのGlmm・階層ベイズ
 
心理学者のためのJASP入門(操作編)[説明文をよんでください]
心理学者のためのJASP入門(操作編)[説明文をよんでください]心理学者のためのJASP入門(操作編)[説明文をよんでください]
心理学者のためのJASP入門(操作編)[説明文をよんでください]
 
漸近理論をスライド1枚で(フォローアッププログラムクラス講義07132016)
漸近理論をスライド1枚で(フォローアッププログラムクラス講義07132016)漸近理論をスライド1枚で(フォローアッププログラムクラス講義07132016)
漸近理論をスライド1枚で(フォローアッププログラムクラス講義07132016)
 
スパース推定法による統計モデリング(入門)
スパース推定法による統計モデリング(入門)スパース推定法による統計モデリング(入門)
スパース推定法による統計モデリング(入門)
 
Rパッケージ“KFAS”を使った時系列データの解析方法
Rパッケージ“KFAS”を使った時系列データの解析方法Rパッケージ“KFAS”を使った時系列データの解析方法
Rパッケージ“KFAS”を使った時系列データの解析方法
 
因果関係を時系列変化で分析
因果関係を時系列変化で分析因果関係を時系列変化で分析
因果関係を時系列変化で分析
 
R実践 機械学習による異常検知 01
R実践 機械学習による異常検知 01R実践 機械学習による異常検知 01
R実践 機械学習による異常検知 01
 
MLaPP 5章 「ベイズ統計学」
MLaPP 5章 「ベイズ統計学」MLaPP 5章 「ベイズ統計学」
MLaPP 5章 「ベイズ統計学」
 
多変量解析を用いたメタボロームデータ解析
多変量解析を用いたメタボロームデータ解析多変量解析を用いたメタボロームデータ解析
多変量解析を用いたメタボロームデータ解析
 
Rで学ぶ観察データでの因果推定
Rで学ぶ観察データでの因果推定Rで学ぶ観察データでの因果推定
Rで学ぶ観察データでの因果推定
 

因子分析