主成分分析

主成分分析は、多変量解析の手法の一つで、多変量のデータから小数の特徴的な変量を合成し、データの分析を行います。クラスター分析や回帰分析などの別の方法で分析をするにあたって入力変数が大きすぎる場合、データ解析における中間ステップとして使用されることもあります。

OriginProでは標準機能の主成分分析のほかに、スペクトルデータに対する主成分分析を実行するためのアプリも利用可能です。

主成分分析とは OriginProでの操作 ダイアログでの設定項目について スペクトルデータに対する主成分分析 補足 主成分分析に関するアプリ

※主成分分析は通常版Originでは実行できません。

主成分分析とは

例えば、100点満点の入社試験の結果を下表のように得たとします。会社では、営業員として活躍できる人材と、技術開発者として活躍できる人材の2タイプを採用したいと思っている場合、どの人を採用すべきでしょうか。

入社試験結果のデータ

資料を見ただけでは、すぐには受験者の能力タイプを判断できないため、もっとわかりやすい指標が欲しくなります。その指標を探し、データを分析するのが主成分分析です。

主成分分析では、複数の変量x、y、z、…があるときに、次のような合成変量uを考えます。

u=ax+by+cz+… (a、b、c、…はa^2+b^2+c^2+…= 1を満たす定数)

合成変量uの分散が最大になるときの係数a、b、c、…を探し、このu(主成分)を利用してデータを分析します。この例ではx、y、z、…は教養、専門、英語、…にあたり、主成分分析を行うことでこれらそれぞれの係数a、b、c、…がわかります。

OriginProでの操作

実際に、Originの主成分分析の機能で上表のデータを分析する場合、ワークブックでデータを選択後、メインメニューの「統計:多変量解析:主成分分析」を選択します。

Originでの操作

ダイアログが開きます。データを選択してからメニューを選択したので入力データが設定されているのがわかります。必要に応じてほかのタブでの設定を行い、OKをクリックすると実行できます。

主成分分析のダイアログ

実行して出力されるレポートシート中で、右の表のような主成分の係数を得られ、今回の場合、第1主成分、第2主成分の式は以下のようになることがわかります。

(第1主成分)
0.52*教養 + 0.24*専門 + 0.49*英語 + 0.57*面接 + 0.31*論文

(第2主成分)
0.07*教養 + 0.53*専門 - 0.40*英語 - 0.31*面接 + 0.67*論文

第1主成分、第2主成分の係数を使用して散布図を作成すると右図のようになり、次のことが読み取れます。

  • 第1主成分は各変量がプラスである。
  • 教養は第1主成分に影響するが、第2主成分にはほとんど影響しない。
  • 第2主成分は専門と論文、面接と英語が逆方向にある。

これにより、第1主成分は「総合力」、第2主成分は「専門性」を表していると解釈することができます。

主成分から見た個々のサンプルの値を主成分得点といい、それぞれのデータの特徴を分析するのに役立ちます。この値は、結果のシート名「Score Data」に出力されます。

主成分得点

得られた主成分1と主成分2の得点をグラフにし、主成分の解釈と合わせることで下図のようになります。

主成分得点データから作図

例えばAの人の場合、第1主成分は低いですが第2主成分が高いため、「総合力は低いが専門性が高い」といえそうです。また、Bの人は主成分1、2ともに得点が高く、「総合力と専門性が高い」ということがわかります。

このように、主成分分析を実行することで、データを見ただけでは、すぐには判断できないようなわかりやすい指標を見付けることができました。

ダイアログでの設定項目について

相関行列 / 共分散行列

主成分の係数は、分散共分散行列(共分散行列)あるいは相関行列を使用して得られます。ダイアログで、どちらを使用するか指定できますが、結果が異なるので注意が必要です。

主成分分析で相関行列と共分散行列のどちらを使うかは、そのデータを標準化したいかどうかで判断します。標準化は、対象となる変数の単位や範囲が大きく異なるときに必要になります。たとえば、変数Aは10~20の範囲、変数Bは10~1000の範囲、変数Cは0.1~1の範囲、というときには、変数の範囲が大きく異なります。この場合、算出される共分散はデータに依存して、小さい数値になったり、大きい数値になったりするため、主成分の係数に影響を与えます。

しかし、A、B、Cを標準化すれば、いずれも平均が0、標準偏差が約-3~+3の範囲の変数になり、元データの単位と独立して関係性を見ることができます。

元データの値をなるべく反映させたいなら共分散行列、単位を揃えて標準化する必要があるなら相関行列を使用すると考えて使い分けます。(主成分分析を行う前に、予めデータを標準化していた場合、共分散行列/相関行列どちらを使用しても同じ計算結果になります)

抽出する成分の数

抽出する成分の数を指定します。何番目の主成分まで使用するか判断するには、以下の指標を参考にします。なお、これらの指標は主成分分析を実行すると取得できます。抽出する成分の数を決定する前に、デフォルトの設定で実行し、指標をみて主成分の数を決め、設定を変更して再実行するとスムーズです。

  • 累積寄与率
  • 固有値
  • スクリープロット

累積寄与率

主成分が資料の情報をどれくらい説明しているかの目安となるのが寄与率です。ある主成分の寄与率が1に近ければ、資料をよく説明していることを示します。

一般には累積寄与率が、0.8(80%)に達するところまでの、主成分の数を採用します。

固有値

主成分分析を行うと、各主成分に対応した固有値が求まります。この固有値は主成分の分散に対応しており、その主成分がどの程度元のデータの情報を保持しているかを表します。元の変量が標準化されている場合、固有値が1より大きければ説明力のある主成分として採用します。

スクリープロット

固有値をグラフにし、折れ線の傾きがゆるやかになる手前までの主成分を採用します。判断が難しい場合は、固有値が1を切るあたり(変量が標準化されている場合)で区別することもあります。

標準化スコア

各変数の主成分得点(スコア)を標準化するかどうかを指定します。標準化した場合、出力されるスコアプロットとバイプロットは標準スコアに基づいて作成されます。

欠損値を除外

データ内の欠損値を取り除く方法を指定します。

  • リストワイズ:観測値に欠損値がある場合、分析から外されます。
  • ペアワイズ:相関行列または共分散行列を求めるときの2つの変数のどちらか(あるいは両方)が欠損値を持つ場合に、相関係数の計算から除外します。

プロット

結果を表示するレポートシートに出力するグラフの種類を指定します。成分プロットについては、2Dまたは3Dのグラフを選択でき、それぞれの軸で表現する主成分を指定できます。

スクリープロット

各主成分に対応した固有値をプロットしたグラフ

スクリープロット

ローディングプロット

原点からの固有ベクトルをプロットしたグラフ

ローディングプロット

スコアプロット

個々のサンプルに対する主成分得点をプロットしたグラフ

スコアプロット

バイプロット

個々のサンプルに対する主成分得点と、固有ベクトルをプロットしたグラフ

ローディングプロット

スペクトルデータに対する主成分分析

Originでは、スペクトルデータ(IR、蛍光、UV-Vis、ラマンなど)の主成分分析を実行するためのアプリも用意しています。サンプルを区別する際にどの変数(周波数、波長、時間など)が重要であるかやサンプルをどうグループ分けできるか、サンプルとして外れたものがあるかを知りたい場合に利用可能です。

補足

主成分分析は一般的に強く相関している変数同士で使用されます。一般的に、変数間の相関係数が0.3より小さい場合、主成分分析は不向きだといえます。

また、主成分分析で求まる主成分および主成分得点の正負の符号は、固有値及び固有ベクトルを求めるときのアルゴリズムが異なると逆になることがあります。つまり、散布図を描いたときに、他ソフトと比べて上下が逆になったり、左右が逆になったりすることがあります。しかし、主成分分析で行う分析は、変数間、個体間の絶対的関係ではなく、相対的関係であるため、分析には問題はありません。

主成分分析に関するアプリ

必要に応じてOriginProの機能を拡張できるアプリを使用すれば、標準機能で利用できない様々な手法を利用できます。

 

 

page_top_icon