主成分分析は変数の多いデータ全体の主な差異の構造を次元縮減して可視化するのに優れた多変量解析方法です。主成分分析の結果は、合成された主成分に対するデータサンプルのポジションをスコアプロットで、主成分に対する変数の重みづけ(関係)をローディングプロットで表示されます。しかしながら、これらのプロットだけでは直感的な把握が難しい場合もあります。主成分分析の結果を、普段見慣れている表現に反映できないか工夫してみることも大事です。
統計解析に強みのあるプログラム開発言語Rのパッケージroplsのサンプルデータfoodsには、ヨーロッパ16ヶ国の20の食品の消費量データが含まれています。これを主成分分析した結果(第1成分と第2成分)をヨーロッパ地図上で可視化してみました。
第1成分(データ全体の差異の31%の寄与)の各国のスコア値を各国の首都にサークルの大きさで表現しています。Rのパッケージleafletを用いました。第1成分の正方向の国は橙色のサークルで、負方向の国は青のサークルです。
第1成分の正方向が北ヨーロッパ各国に、負方向が南ヨーロッパ各国に分かれました。第1成分の正方向は缶スープ、フルーツ缶などの保存性の高い加工食品の消費量が高く、負方向はガーリックやオリーブオイルの消費量が高く地中海料理との関係がありそうです。このように、第1成分はヨーロッパ各国の食品の消費で南北に分ける軸でした。
同様に第2成分(データ全体の差異の19%の寄与)をヨーロッパ地図に表示してみます。
第2成分はバルト海周辺国とヨーロッパ中央北部に分けているようです。
第2成分の正方向にはCrisp Bread、冷凍魚、冷凍野菜の消費が多く、負方向ではインスタントコーヒー、パスタスープ、ヨーグルトの消費が高くなっています。
ヨーロッパ地図上に主成分分析結果を表示してみた結果、第1成分、第2成分ともに地理的なあるいは地勢的な要因による食文化の違いを表しているようです。
元々のスコアプロットとローディングプロットは下図です。
データの差異の背景にある要因は見えにくいですね。 分析結果を他の様々な情報と組み合わせて表現してみることでさらに分かり易く見えてくることがあります。
実行した主成分分析のスクリプトはこちらです。
ヨーロッパ地図上に主成分分析のスコア値を表示するスクリプトは近日qiitaに投稿する予定です。
以上