mydocs

主成分分析

数値計算による主成分分析を行う

概要

固有値・固有ベクトルの場合

固有値:元のデータをどのくらい説明できるか示す指標
  基本的には1以上であれば十分に説明できる
固有ベクトル:主成分の方向を示すベクトル
  データの中で最もばらつきが大きい方向を表します。

寄与率・累積寄与率の場合

寄与率:その主成分がデータ全体を何%説明しているかを示すもの
  直感的にその主成分の重要度を理解することができる指標
累積寄与率:第1成分から第〜成分の寄与率の合計

主成分得点の場合

主成分得点:元のデータを各主成分に変換した値

使い方

・固有値・固有ベクトルの場合

xij =[
       [22,12],[22, 8],
       [18, 6],[18,15],
       [15, 7],[19, 9],
       [19, 7],[24,17],
       [21,14],[25,11]
    ]
pca = Num4ClsAnaLib::PCALib.new
ed = pca.eigen(xij)

・寄与率・累積寄与率の場合

xij =[
       [22,12],[22, 8],
       [18, 6],[18,15],
       [15, 7],[19, 9],
       [19, 7],[24,17],
       [21,14],[25,11]
    ]
ed = [
    {edval: 5.571879265934168, edvec: [0.8382741666813802, -0.545248953666706]},
    {edval: 18.261454067399157, edvec: [-0.545248953666706, -0.8382741666813802]}, 
]
pca = Num4ClsAnaLib::PCALib.new
pca.contribution(ed, xij)

・主成分得点の場合

xij =[
       [22,12],[22, 8],
       [18, 6],[18,15],
       [15, 7],[19, 9],
       [19, 7],[24,17],
       [21,14],[25,11]
    ]
ed = [
    {edval: 5.571879265934168, edvec: [0.8382741666813802, -0.545248953666706]},
    {edval: 18.261454067399157, edvec: [-0.545248953666706, -0.8382741666813802]}, 
]
pca = Num4ClsAnaLib::PCALib.new
pca.score(ed, xij)