見出し画像

【因子分析】 最尤法の解は存在しない?

こんにちは、Aska Intelligenceの川本です。

この記事は、Zenn本『因子分析の導出』のなかからポイントとなる部分をダイジェスト的に紹介するものです。

因子分析(Factor Analysis)において因子負荷の初期解を求めるのには、最尤法が最も一般的な方法だと言われています。

しかし、因子分析の説明で「最尤法の解は存在しない」という記述を見かけたことはないでしょうか?「みんな使っているのに解が存在しないとはどういうこと?」と思われるかもしれません。ここではそれがどういう意味か説明していきます。

因子分析モデル

因子分析モデルをさっとおさらいしましょう。因子分析モデルは、$${p}$$個の観測変数を持つデータ $${\bm{x}}$$ ($${p}$$次元ベクトル)に対して

$$
\bm{x} = \bm{f} \Lambda^{\top} + \bm{e}
$$

という式で表現されます。因子数を$${k}$$とすると、$${\bm{f}}$$は$${k}$$次元ベクトルの因子得点(もしくは共通因子)、$${\Lambda^{\top}}$$は$${k \times p}$$行列の因子負荷行列です($${\top}$$は行列の転置)。$${\bm{e}}$$は$${p}$$次元の乱数ベクトルで、独立因子残差と呼ばれているものです。

$${\bm{e}}$$の各成分は期待値がゼロの独立な乱数で、共分散行列が$${p \times p}$$行列$${V}$$で与えられるとします。$${V}$$はデータから推定する対角行列です。

他の記事で紹介したように、因果分析モデルには$${\bm{f}}$$をパラメーターとするバージョンと乱数とするバージョンがありますが、ここではパラメーターとしましょう。

尤度関数

$${\bm{e}}$$の成分が正規分布に従う乱数だと仮定すると、因子分析モデルの(対数)尤度関数を書き下すことができます。これを最大化するようにモデルのパラメーターを決めるのが最尤法です。

推定するパラメーターは$${\bm{f}}$$、$${\Lambda}$$、$${V}$$ですが、実はこれらを同時に最適化すると尤度関数はどこまででも大きくすることができてしまい、最尤解というものが存在しません。

このことは最尤法の原論文の1つである[Anderson&Rubin (1956)]で触れられています。以下のZennの本でも詳しく書いていますので、もし興味ありましたら買ってみてください。


因子分析についての入門資料はウェブ上に膨大にありますし、入門書やセミナーもたくさんありますが、ちゃんと数式を使って中身を説明したものはあまりないので、「ちゃんと公式を導出して理解する本」をZennで書きました。

引用文献

T. W. Anderson and  Herman Rubin, "Statistical Inference in Factor Analysis," Berkeley Symp. on Math. Statist. and Prob., 1956: 111-150 (1956).


いいなと思ったら応援しよう!