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
Ringa_hyj
January 06, 2021
Science
0
110
因子分析(仮)
因子分析について
変数の背景に別の関係性があることを仮定して推定する方法
Ringa_hyj
January 06, 2021
Tweet
Share
More Decks by Ringa_hyj
See All by Ringa_hyj
Catching up with the tidymodels.[Japan.R 2021 LT]
ringa_hyj
3
770
多次元尺度法MDS
ringa_hyj
0
230
階層、非階層クラスタリング
ringa_hyj
0
83
tidymodels紹介「モデリング過程料理で表現できる説」
ringa_hyj
0
380
深層学習をつかった画像スタイル変換の話と今までの歴史
ringa_hyj
0
350
正準相関分析(仮)
ringa_hyj
0
91
対応分析
ringa_hyj
0
110
2020-11-15-第1回-統計学勉強会
ringa_hyj
0
680
生成モデルの今までと異常検知への応用(GAN,anoGAN,ganomaly,efficient,skip))
ringa_hyj
2
2.3k
Other Decks in Science
See All in Science
Machine Learning for Materials (Lecture 6)
aronwalsh
0
500
マテリアルズ・インフォマティクスの先端で起きていること / What's Happening at the Cutting Edge of Materials Informatics
snhryt
1
120
WeMeet Group - 採用資料
wemeet
0
2.6k
20240420 Global Azure 2024 | Azure Migrate でデータセンターのサーバーを評価&移行してみる
olivia_0707
2
870
Raccoon Roundworm
uni_of_nomi
0
140
最適化超入門
tkm2261
13
3.2k
事業会社における 機械学習・推薦システム技術の活用事例と必要な能力 / ml-recsys-in-layerx-wantedly-2024
yuya4
3
190
インフラだけではない MLOps の話 @事例でわかるMLOps 機械学習の成果をスケールさせる処方箋 発売記念
icoxfog417
2
450
様々な侵入者タイプに対応した適切な警備計画の策定 / Patrol route design considering various types of intrudes
konakalab
0
170
Coqで選択公理を形式化してみた
soukouki
0
170
拡散モデルの概要 −§2. スコアベースモデルについて−
nearme_tech
PRO
0
420
HAS Dark Site Orientation
astronomyhouston
0
5.2k
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
232
130k
The Art of Programming - Codeland 2020
erikaheidi
51
13k
Scaling GitHub
holman
458
140k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
110
6.9k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
From Idea to $5000 a Month in 5 Months
shpigford
381
46k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
Optimizing for Happiness
mojombo
375
69k
Become a Pro
speakerdeck
PRO
24
4.9k
Designing on Purpose - Digital PM Summit 2013
jponch
114
6.9k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
231
17k
Transcript
因子分析 相関というよりも、潜在因子を説明する・見つける方法
多次元のデータを少数次元へと変換する 主成分分析と同じような気持ち 発端となる手法は「共通因子分析モデル」であるところがPCAとの違い (思想は同じで発達が違う。ネアンデルタール人とホモサピエンスのような関係)
分析に使う変数はすべて0~1に正規化されたデータであるという前提を置く = ′ − ഥ ′ ′ 2 1 =
1 + 1 因子分析は(正規化された)データを以下のように変形させる。 添え字 iはデータ点ごとのインデックスである あるクラスの期末試験の点数一覧があるなら iさんの科目1の点数である 科目1のテストの難しさをa1で表現する 科目ごとのノイズeも足す ※個人の能力 fi と表し、これはほかの科目でも共通であるため、添え字はiだけである。
a j を因子負荷量 f i を共通因子 (別名:因子得点 独立であるという前提時には直交因子とも呼ぶ。 相関を含む場合には斜交因子と。) e
ij は独自因子 共通因子はデータ点ごとの固有の値であるが、分解して増やすこともできる。 その場合a jが増えるので解釈は難しくなる
データの相関の計算 ノイズであるeは独立であるはず e*e = 0 ノイズと共通因子は独立であるはず e*f = 0 以上の独立の過程を元に、相関を計算すると、
= − ҧ − ҧ 1 1 − ҧ 2 1 σ 1 − ҧ 2 正規化したデータであるため、平均は0である 残った部分を因子分析のモデルに当てはめるならば以下のようになる 1 1 = 1 1 + +
これは展開によって計算できる (AX+B)(CX+D) = AC X^2 + ADX + BCX +
BD ここで、ノイズの期待値が0ならば、B,Dの関わる項は0になる。 のこるはAC X^2 共通因子であるf もまた、平均0,分散1であるので ← X^2は分散となり、1である。 AC * 1 = aj * av が残る 1 1 = 1 1 + +
ノイズは期待値0であり、分散をtと仮定する この場合、自己相関 r jj は aj ^2 + t j
^2 = 1 となる。 ← 分散共分散行列は 1 12 13 21 1 23 31 32 1 1 2 + 1 2 1 2 1 3 2 1 2 2 + 2 2 2 3 3 1 3 2 3 2 + 3 2 = = 1 2 2 2 3 2 + 1 2 0 0 0 2 2 0 0 0 3 2 1 2 3 1 2 3 + diag 1 22 23 2 = 因子負荷量(列ベクトル) ↑ 独自因子
行列形式で簡便に記述すると以下のようになる = + 行列形式で簡便に記述すると以下のようになる 以降から、特に因子負荷量である列ベクトルAをΛ(らむだ) として記述する 多因子を考えたい場合(aを増やしたい)、因子負荷量ベクトルは、 変数j × 共通因子i
の行列となる。
因子負荷量の求め方 rank(ΛΛ^t) = 1 であるので ΛtΛ の二次小行列式が0である。 ← 1 2
1 2 2 1 2 2 1 2 2 2 − 1 2 2 1 = 0 = ΛΛ^t の列和を t +i 総和をt ++ として表現する + = , +2 + 3 ++ = , +2 + 3 2 = + + + これらを使うと、因子負荷量は以下のように表現(計算)できる 重心法(セントロイド法)
あ
そもそも、サーストンの多因子モデルは、多因子(行列) になっただけ。 = + AでもΛでもどっちでもいい AA^t はランクmである この対角要素を「共通性」として扱う Tの対角要素を「独自性(固有性)」として扱う j番目の変数xjの変動のうち、
f ik は共通因子で説明できる量のことである。 fをいくつにするか(k=1 or more ?) という問題は、経験的に決めるか、仮説があってからkを決める。
あ
主因子法 = + AA^t = R – T ここで左式の対角成分が「共通性」であるのだから、 右辺の対角成分である、1-t^2
たちを計算することで求まるはず この右辺を「縮約相関係数行列」 とよぶ
p次元データにm因子(fがm個) を当てはめて求める場合を考える 以下、 R = pの相関行列 p*p L = 因子負荷量行列
p*m Φ = 対角が分散Φiである対角行列 p*p (共通因子で説明できないばらつき・特異性・独自性) 尤度関数はg(L,Φ)であり、これの最大化を考える
まずΦを求める 1-共通性によってノイズ行列 T が求まるはず 因子負荷量行列 L は、固有値・固有ベクトルとして求まる
主因子法 step 1 ΛΛ^t の相関行列の最大値を見つける。 最大値のある列をj列とする ΛΛ^t のjj成分として代入する 他の成分はそのまま step2
step 1で得た対角行列の固有値と固有ベクトルを計算する。 このとき、√固有値 * 固有ベクトル = 因子負荷量 ak である 得られたakによる行列をΛ_hat とする。 (akはp*mの行列であるはず) step3 独自因子の分散は T = 1 – Σ ak^2 である 求めたTをΛ_hat Λ_hat ^t の対角行列に代入し、再び固有値・固有ベクトルを求める Tの変化量が少なくなったら(二乗ノルムが0.0001以下とか) 止める。
あ
因子負荷量を解釈する 共通因子=2と仮定してモデルを作ったとする Λ = 2*3行列だったならば、これをΘだけ回転を加える。 cosΘ –sinΘ sinΘ cosΘ という行列をかける。
逆方向(-Θ)に開店させる場合 計算略 cosΘ sinΘ -sinΘ cosΘ
さらに、 G^t G = I となることから、直交行列であることが分かる つまり、ΛをG行列で回転させて得た時の Λ*G = Λ_hat
もまた、Λの推定量である。 では、どのような回転が最も良いのか? 理屈は不明だが、 バリマックス回転が良い回転であることが知られている。 が最大となるように回転角度を決める方法 = ා =1 1 2 2 − 1 2 2
あ
f の推定 =1~ − −1 − これを最小化するには、 = −1
−1−1 ※ Tは独自因子の分散行列である