データを要約する主成分分析(PCA)とは? 具体例をもとにわかりやすく解説!

この記事では、統計解析の代表的な手法の1つである主成分分析(Primary Component Analysis: PCA)について解説をしています。主成分分析は、マーケティングなど様々なビジネスシーンで用いられる解析手法です。多くのビジネスパーソンの場合、分析作業は、調査会社に依頼したり、便利な統計ソフトで行うことが多いため、数学やプログラミングを使うことは多くないかと思います。大事なのは、分析の目的に応じて適切な解析手法を選ぶことができ、結果の背景となる理論を理解して使いこなすことです。そのため、この記事では、主成分分析のロジックを中心に解説し、結果の解釈や社内で意思決定者向けの説明ができることを目標に解説をしています。

主成分分析とは?

主成分分析の概要

主成分分析は、多くのデータが持つ情報(特徴)をできるだけ損わずに、少ないデータで表すことができる(データを要約する)解析手法です。例えば、身近な例でいうと、テストの成績について、国語、社会、英語を「文系能力」、数学、理科を「理系能力」として、まとめられれば、5次元(5つの変数)のデータを2次元(2つの変数)のデータに縮約することができます。また、ビジネスシーンでは、顧客満足度調査やブランドイメージ調査などのアンケート結果をもとに総合評価を作ったり、顧客が重視している要素を分析することにも使われます。

主成分分析の目的

データを可視化する

多次元のデータを2次元に縮約できれば、ビジネスパーソンに馴染みのある2軸での可視化が可能となります。また1つ1つのデータを見なくても要約したデータを見ることができるので、結果の解釈がしやすく、グラフ化できることで社内の意思決定者などへの説明もしやすくなります。

変数同士の影響度を知る

後ほど解説する「主成分負荷量」という指標で、変数同士の相関関係を知ることができます。主成分負荷量のスコアが高いほど、変数間の相関が大きいことを示しており、それによりその要素がどれだけ重要かを評価することにつながります。

③回帰モデルの作成や分析を容易にする

重回帰分析を行なったり、機械学習モデルを作ったりする際には、多数の変数をもとにすることがあります。変数が多いと分析精度に悪影響を及ぼす恐れがあり、主成分分析により元の情報をできるだけ失わない形で新しい変数を作り、変数の数を減らすといった処理を行います。このような変数を減らす処理を「次元削減」といいます。

主成分分析のアルゴリズム

アルゴリズムの概要

まず、主成分分析では、「相関のあるデータは、まとめて表現できるのではないか?」という発想で考えられています。例えば、身長と体重は、「体格」という新しい1つの軸で表現できるのではないか。といったイメージです。次元を圧縮する際には、身長と体重が持つ情報をできるだけ失わずに軸を作りたいと考えます。つまり、軸にする情報は、できるだけ多くの情報を保持した軸(情報量が最大の軸)にしたいわけです。この状態を数学的には「分散が最大」となる軸を求めることとして変換することができます。(更に主成分の分散の最大は、固有値の最大として変換ができますが、かなりハイレベルな数学の話になるので、この記事では割愛します。)イメージとしては、意外性のある情報ほど情報量が多いという感じです。画一的に差のないデータよりも分散して情報が散らばっている状態の方が、情報量の多いデータと定義することができます。

主成分分析の流れ

前述のアルゴリズムの概要を踏まえて、主成分分析の大まかな流れについて説明をします。

  1. データの重心(平均値)を求める。
  2. 重心から分散が最大となる方向を求める。(第1主成分)
    ※一番大きく分散している情報を一番特徴のある大事な情報として第1主成分とする。(第1主成分は、総合評価となることが多い)
  3. 第1主成分と直行する方向に分散が最大化する方向を求める。(第2主成分)
    ※第1主成分と似た情報はもういらないので、直行する別の方向で分散が最大化する(情報量が大きい)方向を見つける。
  4. データの次元分繰り返す(第3,4主成分・・・と続く。)

主成分分析の結果の見方

主成分分析をすると次の①〜⑤のような指標が結果として得られます。各指標についてそれぞれ解説をしていきます。

固有値/寄与率/累積寄与率

主成分分析により得られる結果の指標として、まず固有値、寄与率、累積寄与率について解説をしていきます。

  1. 固有値:「主成分の分散」を表し、固有値が大きいほど、データの情報量を多く保有する主成分として位置付けられます。最も固有値が大きい主成分が、第1主成分となります。
  2. 寄与率:その主成分が元のデータの何%を説明できているかを示します。例えば、表から寄与率の第1主成分は、0.828とあるので、この例では、第1主成分の軸だけでデータ全体の約8割を説明していることになります。寄与率を見れば、その主成分の重要度を知ることができます。
  3. 累積寄与率:第1主成分から第X主成分までの寄与率の累計を示します。表の累積寄与率を見ると、第2主成分までの寄与率の累計が0.918なので、第2主成分まででデータ全体の約9割を表していることになります。

固有ベクトル/主成分得点

次に固有ベクトルと主成分得点について解説をします。下図は、固有ベクトルと主成分得点の関係性についてまとめた図です。この全体像をもとに解説をします。

固有ベクトル:固有ベクトルとは、主成分に対する影響度を表します。主成分得点を算出するうえで必要となる係数で、主成分係数とも呼ばれます。

主成分負荷量:固有ベクトルを少し加工して算出することができる指標で、データと主成分との相関係数を表し、どれだけその主成分に影響のある変数かを把握することができます。固有ベクトルも変数の主成分に対する影響度を表しますが、固有ベクトルは、変数が増えると値が小さくなり過ぎて、解釈がしづらくなるという課題があります。そのため変数と主成分の相関係数になるように変換を施すことで、変数の数によらず-1~1の間で値を取る相関係数で分析をすることができるようになります。

②主成分得点:データを主成分を軸にして変換した値を主成分得点と言います。下図のようなイメージで考えるとわかりやすく、元のx1、x2の2つの変数の2軸から第1主成分と第2主成分の新たな軸を作り、それらの主成分の軸が横軸、縦軸となるように傾け、合わせて座標の値を変換した。という解釈ができます。その変換後の値が主成分得点です。

今回の例では、A〜Eの5つのアパレルブランドについて、イメージ調査で評価結果を得ていました。このデータをもとに主成分分析を行い、5つのブランドの主成分得点を算出しています。この主成分得点は、算出式にある通り、固有ベクトルを係数として元の変数(各イメージの評価点)に掛けて、その積和から求められます。

主成分分析の結果のまとめ(ブランドのポジショニングマップ)

以上の主成分分析の結果、第1主成分と第2主成分を軸にプロットすると5つのブランドは次のように配置されました。主成分の解釈は、分析者によって委ねられており、第1主成分は、総合評価になることが多く、第2主成分は、例えば、ブランドの配置結果を見て、機能的価値が評価されているか、「おしゃれ」など情緒的価値が評価されているか、で各ブランドの座標との関係性を見たうえで軸を解釈します。このように主成分分析を用いると、マーケティングのポジショニングを定量的に表すことができ、ビジネスでも活用がされる解析手法となっています。