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
140
因子分析(仮)
因子分析について
変数の背景に別の関係性があることを仮定して推定する方法
Ringa_hyj
January 06, 2021
Tweet
Share
More Decks by Ringa_hyj
See All by Ringa_hyj
DVCによるデータバージョン管理
ringa_hyj
0
44
deeplakeによる大規模データのバージョン管理と深層学習フレームワークとの接続
ringa_hyj
0
34
Hydraを使った設定ファイル管理とoptunaプラグインでのパラメータ探索
ringa_hyj
0
42
ClearMLで行うAIプロジェクトの管理(レポート,最適化,再現,デプロイ,オーケストレーション)
ringa_hyj
0
30
Catching up with the tidymodels.[Japan.R 2021 LT]
ringa_hyj
3
820
多次元尺度法MDS
ringa_hyj
0
270
階層、非階層クラスタリング
ringa_hyj
0
110
tidymodels紹介「モデリング過程料理で表現できる説」
ringa_hyj
0
410
深層学習をつかった画像スタイル変換の話と今までの歴史
ringa_hyj
0
390
Other Decks in Science
See All in Science
白金鉱業Meetup Vol.16_数理最適化案件のはじめかた・すすめかた
brainpadpr
3
1.5k
重複排除・高速バックアップ・ランサムウェア対策 三拍子そろったExaGrid × Veeam連携セミナー
climbteam
0
220
01_篠原弘道_SIPガバニングボード座長_ポスコロSIPへの期待.pdf
sip3ristex
0
270
システム数理と応用分野の未来を切り拓くロードマップ・エンターテインメント(スポーツ)への応用 / Applied mathematics for sports entertainment
konakalab
0
200
学術講演会中央大学学員会大分支部
tagtag
0
130
07_浮世満理子_アイディア高等学院学院長_一般社団法人全国心理業連合会代表理事_紹介資料.pdf
sip3ristex
0
250
トラブルがあったコンペに学ぶデータ分析
tereka114
2
1.5k
事業会社における 機械学習・推薦システム技術の活用事例と必要な能力 / ml-recsys-in-layerx-wantedly-2024
yuya4
4
320
大規模言語モデルの論理構造の把握能力と予測モデルの生成
fuyu_quant0
0
120
2024-06-16-pydata_london
sofievl
0
630
(論文読み)贈り物の交換による地位の競争と社会構造の変化 - 文化人類学への統計物理学的アプローチ -
__ymgc__
1
190
【健康&筋肉と生産性向上の関連性】 【Google Cloudを企業で運用する際の知識】 をお届け
yasumuusan
0
510
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
268
20k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
227
22k
A better future with KSS
kneath
238
17k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Writing Fast Ruby
sferik
628
61k
Product Roadmaps are Hard
iamctodd
PRO
52
11k
We Have a Design System, Now What?
morganepeng
51
7.5k
How STYLIGHT went responsive
nonsquared
99
5.4k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
21k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.2k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7.1k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
25k
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は独自因子の分散行列である