Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
重回帰分析と因子分析の概要
Search
poyopoyo
June 28, 2020
Science
1
1.2k
重回帰分析と因子分析の概要
学部3年生へのゼミに使用した資料です.線形代数に慣れていない生徒を対象にした資料なので,入門的な内容になっています.
poyopoyo
June 28, 2020
Tweet
Share
Other Decks in Science
See All in Science
[第62回 CV勉強会@関東] Long-CLIP: Unlocking the Long-Text Capability of CLIP / kantoCV 62th ECCV 2024
lychee1223
1
760
マクロ経済学の視点で、財政健全化は必要か
ryo18cm
1
100
Healthcare Innovation through Business Entrepreneurship
clintwinters
0
140
Snowflake上でRを使う: RStudioセットアップとShinyアプリケーションのデプロイ
ktatsuya
PRO
0
480
HAS Dark Site Orientation
astronomyhouston
0
5.4k
白金鉱業Meetup Vol.16_【初学者向け発表】 数理最適化のはじめの一歩 〜身近な問題で学ぶ最適化の面白さ〜
brainpadpr
10
1.6k
証明支援系LEANに入門しよう
unaoya
0
460
Science of Scienceおよび科学計量学に関する研究論文の俯瞰可視化_ポスター版
hayataka88
0
150
ABEMAの効果検証事例〜効果の異質性を考える〜
s1ok69oo
4
2.1k
Cross-Media Information Spaces and Architectures (CISA)
signer
PRO
3
30k
位相的データ解析とその応用例
brainpadpr
1
720
機械学習による確率推定とカリブレーション/probabilistic-calibration-on-classification-model
ktgrstsh
2
280
Featured
See All Featured
Gamification - CAS2011
davidbonilla
80
5.1k
The Language of Interfaces
destraynor
154
24k
A Tale of Four Properties
chriscoyier
157
23k
Git: the NoSQL Database
bkeepers
PRO
427
64k
Done Done
chrislema
181
16k
Embracing the Ebb and Flow
colly
84
4.5k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
Optimizing for Happiness
mojombo
376
70k
Reflections from 52 weeks, 52 projects
jeffersonlam
347
20k
How GitHub (no longer) Works
holman
311
140k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
2
170
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
28
900
Transcript
重回帰分析と因⼦分析の概要 早稲⽥⼤学⼈間科学研究科 修⼠課程2年 古澤 嘉久
重回帰分析
重回帰分析 • 関数の推定 ⼊⼒が のときの出⼒ を出すような関数(・)を推定したい ⼊⼒ 出⼒ このようになる関数を推定したい
• 関数の推定 番⽬の⼊⼒が のときの出⼒ を出すような関数(・)を推定したい ⼊⼒ 出⼒ 重回帰分析
• 基本の線形モデル 線形モデル︓ , 内積 重回帰分析
• 基本の線形モデル 線形モデル︓ , 内積 どのようにして決定するか 最⼩⼆乗法 重回帰分析
• 基本の線形モデル 1つのデータセット{, }に対して、直線からのずれを⼆乗誤差をとると以下のようになる。 全てのn個のデータセットに対して、直線からのずれを⼆乗誤差の和とると以下のようになる。 これを最⼩にするようなwを求めたい 重回帰分析
• 基本の線形モデル は以下のように定義すると、次のように書き直すことができる。 ←もう少し丁寧に 重回帰分析 n×1 n×d
• 基本の線形モデル 重回帰分析
• 基本の線形モデル 内積 n次元 ベクトル 重回帰分析 n×1 n×1
• 基本の線形モデル 同⼠の内積 と同じ n次元 ベクトル 重回帰分析 n×1 1×n
• 基本の線形モデル これは、に関する下に凸な2次式より、微分して0になる点で最⼩値をとる 重回帰分析
• 基本の線形モデル これは、に関する下に凸な2次式より、微分して0になる点で最⼩値をとる 重回帰分析 という問題を考える. より
• 基本の線形モデル これは、に関する下に凸な2次式より、微分して0になる点で最⼩値をとる 重回帰分析 1 の式として⾒ると,下に凸の⼆次関数! 2 の式として⾒ると,下に凸の⼆次関数! 図は「メディカルAI専⾨コース オンライン講義資料
2. 機械学習ライブラリの基礎」 より引⽤ https://japan-medical-ai.github.io/medical-ai-course-materials/notebooks/02_Introduction_to_ML_libs.html R(w) R(w)
• 基本の線形モデル これは、に関する下に凸な2次式より、微分して0になる点で最⼩値をとる 重回帰分析 図は「メディカルAI専⾨コース オンライン講義資料 2. 機械学習ライブラリの基礎」 より引⽤ https://japan-medical-ai.github.io/medical-ai-course-materials/notebooks/02_Introduction_to_ML_libs.html
R(w) R(w) R(w)
• 基本の線形モデル これは、に関する下に凸な2次式より、微分して0になる点で最⼩値をとる スカラーの転置は等しいため同じ形になる n×1 n×d d×1 1×n d×n 1×d
d×n 1×d n×1 1×n n×d d×1 まとめる 重回帰分析
• 基本の線形モデル ⾏列の微分に関しては、以下の資料がオススメ Matrix Differentiation, https://atmos.washington.edu/~dennis/MatrixCalculus.pdf の時 重回帰分析
• 基本の線形モデル の時 最後に計算途中で横ベクトルになったので転置してして縦ベクトルに直す 重回帰分析
• 基本の線形モデル 逆⾏列を持つならば… 重回帰分析
• 問1. 係数ベクトルwを求めよ. • 問2. Xの相関係数⾏列を求めよ. • 相関係数⾏列Rは,次のページの を⽤いて以下の式で与えられる.nはサンプ ル数
• 問3. を独⽴変数,yに関してもX同様に正規化した を従属変数としたのデータの 係数ベクトル を求めよ. 演習 • 次のデータが与えられた時,yを従属変数, xを独⽴変数とした重回帰分 析を⾏いたい.次の問いに答えよ. x1 x2 0 y 1 1 1(座標としては-1) 1 -1 -1 1 1
演習 相関係数⾏列Rの求め⽅ 1×d ① 各変数の平均(ベクトル)を求める(dは独⽴変数の数) ② 各変数の平均をもとに標本分散を求める 1×d は、対⾓成分を取り出して ベクトルになおす処理(今回適当に命名)
③ 各変数の各サンプルを先ほど求めた平均と標準偏差(√標本分散)で正規化する n×d 本来ベクトルをこのように計算することはできないが,今回は直感的な分か りやすさのために,”独⽴変数ごとに引く”という操作をこう書くことにする 本来ベクトルをこのように計算することはできないが,今回 は直感的な分かりやすさのために,”独⽴変数ごとにSxの各要 素のルートを取り割る”という操作をこう書くことにする
答え 問1. 係数ベクトルwを求めよ. よりそのまま式に代⼊すれば良い であるから逆⾏列は - となり,代⼊すると
問2. Xの相関係数⾏列を求めよ. ① 各変数の平均(ベクトル)を求める ② 各変数の平均をもとに標本分散を求める 答え
問2. Xの相関係数⾏列を求めよ. ③ 各変数の各サンプルを先ほど求めた平均と標準偏差(√標本分散)で正規化する - - - - 要素積 答え
問3. を独⽴変数のデータとした場合の係数ベクトルwを求めよ. のXの部分に を代⼊,yに を代⼊する の時と同様に を計算すると, よりこれを代⼊すると 答え
• 基本の線形モデル 逆⾏列を持つならば… 重回帰分析 d×n n×d 仮に,Xが平均0,分散1に正規化されている場合 ここの計算部分は,相関係数⾏列Rになる (正規化しない場合でも,これからの議論に不要な定数項がつくだけに加えて,相関係数⾏列Rと分散共分 散⾏列Σには,R
= diag(Σ-1/2) Σ diag(Σ-1/2)の関係があるので,(これから話すRのランクに関して無関係 なので)簡易のために相関係数⾏列として扱う)
• 多重共線性 (マルチコ) の問題 • 複数の説明変数の間に強い線形従属性(多重共線性)が存在すると,回帰式の推定 が数値的に不安定になり,分析結果の信頼性が低下する 重回帰分析と多重共線性 学⼒ 年齢
⾝⻑ + ε = + W1 × W2 × 強い相関がある 推定値の信頼性 が低下する
重回帰分析と多重共線性 独⽴変数に相関がない 変 数 A 変 数 B 変 数
C 変 数 D 変数A 変数B 変数C 変数D 独⽴変数AとCに強い相関がある 変 数 A 変 数 B 変 数 C 変 数 D 変数A 変数B 変数C 変数D 変 数 A 変 数 B 変 数 C 変 数 D + ε y = + + +
• 多重共線性 (マルチコ) の問題 • 複数の説明変数の間に強い線形従属性(多重共線性)が存在すると,回帰式の推定 が数値的に不安定になり,分析結果の信頼性が低下する 重回帰分析と多重共線性 独⽴変数AとCに強い相関がある rank(R)
= 3 < 4 ランク落ちしている︕ 逆⾏列の計算ができない (Det(R) = 0より) http://library.jsce.or.jp/jsce/open/00561/1998/01-0137.pdf
• 多重共線性 (マルチコ) の問題 • 複数の説明変数の間に強い線形従属性(多重共線性)が存在すると,回帰式の推定 が数値的に不安定になり,分析結果の信頼性が低下する 重回帰分析と多重共線性 ランク落ちしている︕ Wの結果が不安定になる
• 多重共線性 (マルチコ) の問題 • 複数の説明変数の間に強い線形従属性(多重共線性)が存在すると,回帰式の推定 が数値的に不安定になり,分析結果の信頼性が低下する • 対策 •
VIF10以上 (重相関係数0.95以上程度) の削除による変数選択 • 主成分回帰 (独⽴変数を無相間に変換) • リッジ回帰 (正則化項による(XTX)-1のランク落ち回避) 重回帰分析と多重共線性 堤 盛⼈, 清⽔ 英範, 井出 裕史, 多重共線性に対する適切化⼿法とその実証的⽐較研究, 応⽤⼒学論⽂集, 1998, 1 巻, p. 137-145
• ステップワイズ法 • 説明変数なしから徐々に増やす⽅法 • 全ての説明変数から徐々に減らす⽅法 • AIC • 真の正解モデルが含まれているという前提込み
• 最も⼩さいモデルが良いとされる • MallowsのCp 基準 • Lasso + クロスバリデーション • ⾃由度補正済み決定係数 重回帰分析と変数選択
因⼦分析
説明する概要 •⾔葉の定義 •因⼦分析の俯瞰図 •回転不定性 •因⼦の回転 •⺟数の推定 •因⼦得点の予測
⾔葉の定義(概要) 数学 理科 英語 国語 社会 ⽂系能⼒ 理系能⼒ 観測変数 e1
e2 e4 e5 e3 潜在因⼦ (共通因⼦) 独⾃因⼦
⾔葉の定義(概要) x1 x2 x3 x4 x5 f1 X5 = λ51
* f1 + e5 観測変数 e1 e2 e4 e5 e3 λ11 λ21 λ31 λ41 λ51
⾔葉の定義(概要) x1 x2 x3 x4 x5 f1 X5 = λ51
* f1 + e5 独⾃因⼦ 共通因⼦ 観測変数 因⼦負荷量 e1 e2 e4 e5 e3 λ11 λ21 λ31 λ51 λ41
⾔葉の定義(概要) x1 x2 xp-1 xp f1 e1 e2 観測変数 fm
・・・ ・・・ ep-1 ep m次元 p次元 λ11 λ21 λ31 λ(p-1)1 λp1 共通因⼦ ・・・
⾔葉の定義(概要) xi f1 ei fm-1 m次元 f2 fm ・・・ i番⽬の要素
λi1 λi2 λi(m-1) λim m次元の因⼦(推定)と1つの誤差で観測値を表現する
⾔葉の定義(概要を数式に) p次元の⼊⼒(確率変数)ベクトル m次元の共通因⼦(確率変数)ベクトル p次元の独⾃因⼦(確率変数)ベクトル である因⼦負荷量⾏列 ※ ただし, ここでは表記省略のため各要素平均0に正規化されている( ) 先ほどのモデルを数式に直すと下記のようになる
使⽤する変数の定義 ・ ・ ・ ・ xi 番⽬の⼊⼒に対する 共通因⼦fk への負荷量 要素で⾒ると (確率変数ではない)
⾔葉の定義(仮定) m次元の共通因⼦ベクトル p次元の独⾃因⼦ベクトル である因⼦負荷量⾏列 使⽤する変数の定義 ・ ・ ・ 因⼦分析を⾏う上での前提(仮定) ・共通因⼦は以下の条件・定義を満たす
ちなみに… 分散・共分散⾏列と同じ m×m f の分散を1と することが多い とは、対⾓成分を取り出して 対⾓⾏列にする処理 対⾓成分が1となる ※期待値は0
⾔葉の定義(仮定) ・共通因⼦は以下の条件・定義を満たす m×m とは、対⾓成分以外を取り出 す処理 に対して = 0 の時 対⾓成分以外の要素が0となる
が対⾓⾏列になる 異なる因⼦間での相関がない → 異なる因⼦同⼠が直交している 直交モデル ≠ 0 の時 対⾓成分以外の要素が0でない が対⾓⾏列にならない 異なる因⼦間での相関がある → 異なる因⼦同⼠が直交していない 斜交モデル 相関 なし 相関 あり
⾔葉の定義(仮定) m次元の共通因⼦ベクトル p次元の独⾃因⼦ベクトル である因⼦負荷量⾏列 使⽤する変数の定義 ・ ・ ・ ・各独⾃因⼦は無相関 ・対⾓成分は分散
(独⾃分散と呼ぶ) x1 f1 f2 x2 x3 e1 e2 e3 因⼦分析を⾏う上での前提(仮定) ・独⾃因⼦は以下の条件・定義を満たす 対⾓⾏列 p×p 相関 なし
⾔葉の定義(仮定) m次元の共通因⼦ベクトル p次元の独⾃因⼦ベクトル である因⼦負荷量⾏列 使⽤する変数の定義 ・ ・ ・ x1 f1
f2 x2 x3 e1 e2 e3 因⼦分析を⾏う上での前提(仮定) ・ 共通因⼦は以下の条件・定義を満たす fとeの各要素は分散・ 共分散が0となる 全て無相関 m×p
⾔葉の定義(仮定まとめ) • 独⽴因⼦と共通因⼦の期待値はともに0 ・独⾃因⼦同⼠の相関はない ・共通因⼦と独⾃因⼦間で相関はない
⾔葉の定義(仮定) 今、因⼦分析の式を改めてベクトル を⽤いて表現し直す ⾏列表現 要素表現 と書き直すと ベクトルtの分散共分散⾏列を とすると, ⼊⼒ベクトルxの分散共分散⾏列は の計算は次のページ
⾔葉の定義(計算過程) (ちなみに対称⾏列であることは容易に確認できる)の計算 共通因⼦と独⾃ 因⼦は無相関 = 0
⾔葉の定義(共通性と独⾃性) 共通性 となるため、要素をみると ベクトルtの分散(i 2) 独⾃因⼦の分散(i 2) ベクトルxの分散(σi 2) ⼊⼒ベクトルxの分散は下記のように分解できる
Var[ ] 「共通因⼦の線型結合での分 散」と「独⾃因⼦の分散」に 分割可能 Var[ ] Var[ ] 共通性・独⾃性 共通性 独⾃性 観測変数の分散の中で共通因⼦ の線形結合の占める割合 観測変数の分散の中で独⽴因⼦ の分散が占める割合
⾔葉の定義(共通因⼦分解と因⼦構造⾏列) ベクトル t の分散共分散⾏列を再度確認する を書き直すと 共通因⼦分解 (共通因⼦分解) 因⼦構造⾏列 共通因⼦ベクトル f
と⼊⼒ベクトル x の分散共分散⾏列を計算する
⾔葉の定義(共通因⼦分解と因⼦構造⾏列) 共通因⼦分解 (共通因⼦分解) 観測値の 分散共分散⾏列 は 因⼦負荷量⾏列 + 因⼦間相関⾏列 と
独⾃因⼦の 分散⾏列 で表現できる 観測値から推定する ・最尤法 ・最⼩⼆乗法 ・重み付けなし/あり ・主因⼦法 などなど 推定⽅法例
⾔葉の定義(単純構造) どのような因⼦負荷量が解釈しやすいか︖ → サーストンによる単純因⼦「構造」と呼ばれるものがある → 斜⾏回転の際に間接法(準拠構造⾏列 → 因⼦負荷量)を⽤いていた頃の名残 (回転後の因⼦負荷量⾏列と準拠構造⾏列の0の位置と個数の位置は⼀致する) ①
各⾏には少なくとも1個の0の要素があること ② 各列には少なくともm個の0の要素ががあること ③ 2つの列に着⽬した場合に、⼀⽅の列の要素は0で他⽅の列の要素は0でない ⾏があること ④ m≧4で2つの列に着⽬した場合にどちらの要素も0出ない⾏が少ないこと ⑤ 2つの列に着⽬した場合に、どちらの要素も0である⾏があること
⾔葉の定義(因⼦寄与率) p次元の観測データ x と 共通因⼦ f の分散共分散⾏列を考えると よって の i
番⽬の対⾓成分である共通分散は以下のように表される 特に直交モデルの場合は, が単位⾏列となるため, 以下のように書き直すことができる 1×m m×1 m×m より
⾔葉の定義(因⼦寄与率) より が単位⾏列の時(直交モデル)の場合には, となる よって以下のような関係式が成り⽴つ の(i, j)要素の2乗 の(i, j)要素の2乗 「xi
の分散に対する第j因⼦の寄与」と呼ぶ また以下の値を単に「第k因⼦の寄与」と呼ぶ さらには以下の値を「累積寄与」と呼ぶ ※因⼦負荷量⾏列の要素を⼆乗したもの p×m
因⼦分析俯瞰図 観測データの 分散共分散⾏列 の計算 因⼦間相関を0として ・因⼦負荷量⾏列 ・独⾃因⼦⾏列 を推定 初期解と呼ばれる 必ずしも良い構造(単
純構造)をしていない 回転 推定 良い構造になるような ・因⼦負荷量⾏列 ・独⾃因⼦⾏列 ・因⼦間相関⾏列 を再推定 Rから出てくる値 因⼦得点 の計算 Rから出てくる値 推定した 値を利⽤
回転不定性 回転不定性とは 観測データxを表現するような(共通因⼦ベクトル f, 因⼦負荷量⾏列 Λ, 因⼦間相関Φ)のペアは無数に存在する 今何か適当な正則な⾏列Aを⽤いて共通因⼦ベクトルを下記のように書き直すと であるから とすると下記のようになる
ちなみに に関しては以下のようになる このように⼊れ替 えてもモデル⾃体 は成⽴する
因⼦の回転 推定した因⼦負荷量⾏列が単純構造になることを⽬指して回転させる →因⼦負荷量の要素を基準として設定することが多い 直交回転 斜交回転 よく使う基準 ・バリマックス法 よく使う基準 ・プロマックス法 直交回転
斜交回転
⺟数の推定 Sを表現するために推定した パラメータθによって変化する⾏列 近くなる ように推定 基本的な考え 近さを表す指標 不⼀致度関数(適合度関数)の例 ・最尤法 ・(⼀般化)最⼩⼆乗法
あるp次元のデータxをN個集めて 計算した標本分散共分散⾏列 (観測値から計算) (推定したモデル) ※Vは適宜⼿法により決定 ※trace(・)は, 対⾓成分和 ※これからはΣの代わりに標本 分散共分散⾏列Sを使⽤する。 準ニュートン法などで求めていく
因⼦得点の推定 これまでの推定と計算により以下の式についてはわかっている ・因⼦負荷量⾏列 ・独⾃因⼦⾏列 ・因⼦間相関⾏列 確率変数を予測したい (⺟数ではない) データ は, 共通因⼦の線型結合で表現されるため,
各要素のpつの変数を⽤いても 共通因⼦の値(因⼦得点)を表現することはできない データ にあるp×mの重み⾏列をかけて表現するようなWを考える 線形予測因⼦ m×1 m×p p×1 実際には, 平均⼆乗誤差(MSE)を最⼩にするようなWを求めることでfを表現する 「因⼦得点の不定性」に注意 実は左の⺟数のみでは観測値を表現 できる因⼦得点は無数に存在する
参考⽂献(書籍) • 因⼦分析 (シリーズ⾏動計量の科学) 市川雅教 著 https://www.asakura.co.jp/G_12.php?isbn=ISBN9 78-4-254-12827-7 • 因⼦分析―その理論と⽅法
(統計ライブラリー) 柳井晴夫 ・繁桝算男 ・前川眞⼀ ・市川雅教 著 http://www.asakura.co.jp/books/isbn/4-254- 12543-7/ • 因⼦分析法〔第2版〕 芝 祐順 著 http://www.utp.or.jp/book/b298762.html • 因⼦分析法通論 浅野 ⻑⼀郎 著 http://ebsa.ism.ac.jp/ebooks/node/353 • 意味がわかる多変量解析 ⽯井 俊全 著 https://www.beret.co.jp/books/detail/533 • 因⼦分析における統計的推測:最近の発展 狩野 裕, ⾏動計量学, 1990 年, 18巻, 1号 p.3-12 https://www.jstage.jst.go.jp/article/jbhmk197 4/18/1/18_1_3/_article/-char/ja/
参考⽂献(ネット上の資料) • 因⼦数決定法,斜交回転法,階層因⼦分析 ⾹川⼤学経済学部, 堀 啓造 www.ec.kagawa- u.ac.jp/~hori/yomimono/fnumber.ppt • ⽇⼼2000ワークショップ
⼼理学の基礎(6) 因⼦分析の基本問題 http://www.ec.kagawa- u.ac.jp/~hori/spss/pwork.html • 探索的因⼦分析リンク集(⽇本語中⼼) http://www.ec.kagawa- u.ac.jp/~hori/spss/factorlink.html