【因子分析】 最尤法の解は存在しない?
こんにちは、Aska Intelligenceの川本です。
因子分析(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の本でも詳しく書いていますので、もし興味ありましたら買ってみてください。
引用文献
T. W. Anderson and Herman Rubin, "Statistical Inference in Factor Analysis," Berkeley Symp. on Math. Statist. and Prob., 1956: 111-150 (1956).