主成分分析

サマリー

主成分分析は、基礎となる線形構造を持つ大規模な多変量データセットを削減したり解釈したりするほか、それまで思いもよらなかった関係性を発見するのに役立ちます。

ここでは、21のヨーロッパ諸国における9つの食品群についてタンパク質消費を測定したデータを使用します。 主成分分析を使用して、タンパク源とヨーロッパ諸国との関係を調べます。


メソッドを選ぶ

残す主成分の数を決定するには、最初に主成分分析を実行し、その結果に基づいて処理を進めます。

  1. 新しいプロジェクトまたは新しいワークブックを開きます。 Originのプログラムフォルダにある、\samples\Statistics\Protein Consumption in Europe.datファイルをインポートします。
  2. ワークシート全体を選択して、統計: 多変量解析: 主成分分析を選択します。
  3. 開いたダイアログの設定はデフォルトのままにして、 OKをクリックします。
  4. PCAレポートシートを選択します。
  5. 相関行列の固有値表から、初めの4つの主成分が分散の86%を説明しており、残りの主成分はそれぞれ5%かそれ以下の貢献度であることが分かります。 上位4つの主成分を残すことにします。
    PCA.png
  6. スクリープロットは視覚的に主成分の的確な数を判断するのに便利です。 主成分の数はポイントで表わされ、「曲がり角」より下の固有値は全体への割合が小さく、全て同じぐらいの大きさになります。 このスクリープロットではあまり明白ではありませんが、4番目の点が「曲がり角」の点であると言えます。
    Pca scree plot.png
  7. 結果シートの錠前のアイコンIcon Recalculate Manual Green.pngをクリックし、パラメータを変更をコンテキストメニューから選びます。 抽出する成分の数をにします。 次のステップで主成分プロットの設定をするので、ダイアログを閉じないでください。
    DOC-2411 Pca ex1 dialog1a Magenta.png

主成分プロットを作成する

ダイアログ内のプロットブランチでは、ユーザがスクリープロットと成分プロットを作成するか、選ぶことができます。

  • スクリープロット
    スクリープロットは視覚的に主成分の的確な数を判断するのに便利です。
  • 成分プロット
    成分プロットは各観測点の成分スコアまたは、主成分ペアの各変数の成分ローディングを示します。 どの成分のペアをプロットするか、主成分を選択してプロットのグループ内で指定できます。 成分プロットは以下を含みます。
    • ローディングプロット
      ローディングプロットは元の値とサブスペースの次元の関係性を示しています。 変数間の関係を読み取るのに使用されます。
    • スコアプロット
      スコアプロットはデータをサブスペースに投影するものです。 観測値間の関係を読み取るのに使用されます。
    • バイプロット
      バイプロットはあらかじめ選択されたローディングとスコアの成分を平行にして表示するものです。
  1. 先程のステップで開いたダイアログの中で、プロットブランチを開きます。 スクリープロットローディングプロットバイプロットが選択されていることを確認してください。
  2. 最初の2つの成分は一般的に、分散のほとんどの割合を占めます。 よって、初めの2つの主成分の空間に成分プロットを作図することにします。 主成分を選択してプロットグループ内では、X軸の主成分1を、Y軸の主成分には2を選びます。 OKをクリックします。
    DOC-2411 Pca ex1 dialog2a Magenta.png

結果の解釈

  1. 相関行列より、それぞれの数値は大きく相関していることが分かります。 多くの値は0.3よりも大きくなっています。 主成分分析は共線性を取り除くのに適している分析であるといえます。
    Pca ex1 correlation matrix.png
  2. 主成分の値は元の値の線形(1次的な)組み合わせによって定義されています。 抽出固有ベクトル表が数式の係数を示しています。
    Pca ex1 extracted eigenvectors.png
    PC1=0.30261*RedMeat + 0.31056*WhiteMeat + 0.42668*Eggs + 0.37773*Milk + 0.13565*Fish  - 0.43774*Cereals + 0.29725*Starch - 0.42033*Nuts - 0.11042*FruitsVegetables
    PC2=-0.05625*RedMeat - 0.23685*WhiteMeat - 0.03534*Eggs - 0.18459Milk + 0.64682*Fish - 0.23349*Cereals + 0.35283*Starch + 0.14331*Nuts + 0.53619*FruitsVegetables
    PC3=-0.29758*RedMeat + 0.6239*WhiteMeat + 0.18153*Eggs - 0.38566*Milk - 0.32127*Fish + 0.09592*Cereals + 0.24298*Starch - 0.05439*Nuts + 0.40756*FruitsVegetables
    PC4=0.64648*RedMeat - 0.03699*WhiteMeat + 0.31316Eggs - 0.00332*Milk - 0.21596*Fish - 0.0062*Cereals - 0.33668*Starch + 0.33029*Nuts + 0.46206*FruitsVegetables
  3. ローディングプロットは、最初の2つの成分の空間での変数間の関係を明らかにします。 このローディングプロットではRed Meat (赤肉)、Eggs(卵)、Milk(牛乳)、そしてWhite Meat(白肉)は主成分1に対して同じように重い負荷を持っていることが分かります。 一方、Fish(魚)、Fruit(果物)とVegetables(野菜)は主成分2に対して重い負荷があることが分かります。
    Pca ex1 loading plot.png
  4. バイプロットはあらかじめ選択されたローディングとスコアの成分を平行にして表示するものです。 これはサブスペース上の1つの観測値の投影をスコア点と表しています。 初めの2つの主成分のサブスペースにおける観測値と変数の比率を見つけることができます。 (Note: グラフをダブルクリックして開き、編集が可能です)
  5. データリーダツールButton Data Reader.pngを使用してデータ情報ウィンドウを開き、プロットをより詳しく確認します。データポイントをクリックして、各国の成分スコアを読み取ります。スペインとポルトガルのタンパク源は他のヨーロッパの国々とは異なっていることが分かります。 スペインとポルトガルは果物と野菜からタンパク質を得ているのに対し、東ヨーロッパの国々、例えばアルバニア、ブルガリア、ユーゴスラビア、ルーマニアでは穀類とナッツ類からタンパク質を得ています。
    Pca ex1 biplot.png
上記のデータ情報ウィンドウのように国名を表示するには、次のように操作してください。
  1. データ情報ウィンドウ内で右クリックし、ユーザ設定を選択します。
  2. Countryを左側のパネルから選択し、選択ボタン(右向き矢印)をクリックしてデータ情報ウィンドウに追加し、OKをクリックします。
    Pca data info settings.png

Note: Origin 2019から、データポイント上にカーソルを合わせると、データポイントの座標情報のツールチップが表示されます。ツールチップとデータ情報ウィンドウは両方ともカスタマイズ可能です。詳細情報は、データ情報ウィンドウとデータポイントツールチップを参照してください。

任意の3Dローディングプロットを作成するには、PC1-PC2-PC4 または PC1-PC3-PC5 ローディングプロットのようにします。

  1. 結果シートの錠前のアイコンIcon Recalculate Manual Green.pngをクリックし、パラメータを変更をコンテキストメニューから選びます。 設定タブで、抽出する成分の数を必要に応じて設定します。例えば、PC1-PC2-PC4 ローディングプロットを行いたい場合、抽出する成分の数は4に設定します。 OKをクリックしてダイアログを閉じます。
  2. 固有ベクトルのテーブルの列は4つになっています。ローディングプロットを作成できるようににワークスートをセットアップするには、まず、シートPCA Plot Data1を複製します。PCA Plot Data1タブを右クリックして複製を選択します。新しいシートはPCA Plot Data2という名前が付きます。
  3. PC1-PC2-PC4の3Dローディングプロットを作成するために、PCA Plot Data2シートにZ値を追加します。Col (E)を選択して右クリックし、挿入を選択してワークシートに空の列を追加します。次に、最後の列を選択して右クリックし、挿入を選択してワークシートに2番目の空列を追加します。
  4. CTRLキー押しながらこれら2つの空の列をクリックして、右クリックして列XY属性の設定: Z列を選択します。
  5. 2つの空のZ列のロングネーム行にPC 4 を追加します。
  6. E(Z2)F(x)=セルに0 を入力して、全固有値を0にします。
  7. PCAレポートシートをクリックして、抽出した固有ベクトル表の主成分の係数4をコピーし、PCA Plot Data2 シートのH(Z3) 列に貼り付けます。
    PCA tutorial tip sheet setup.png
  8. 列C~Hを選択し、メニューの作図:3D:3Dベクトル XYZ XYZを選択します。
  9. ベクトルの色を変えたり、ラベルを追加するなどの編集も可能です。プロットをダブルクリックして、作図の詳細を開き、左パネルでオリジナルを選択します。
  10. 3D ベクトルタブを開き、4に設定します。
  11. ラベルタブを開き、有効にするにチェックを付けて、ラベル形式Col(I)(protein source列)、接続先矢印の頭自動位置サイズ20 に設定します。
  12. 最後に、作図の詳細の左パネルでGraphアイコン(ツリーの一番上のレベル)を選択し、凡例/タイトルタブを開き、自動軸タイトルに単位%?(X) %(?Y)を(可能なら)付けるのチェックを外します。OKをクリックしてダイアログを閉じます。次のように3Dローディングプロットは作成されます。
    3D loading plot.png