関数 > データ解析 > 主成分分析 > 主成分分析関数について
主成分分析関数について
PTC Mathcad には主成分分析 (PCA) を行うための関数がいくつか備わっています。
NipalsNipals2 - PCA を実行します。
scoresloadingsPCAeigenvalsPCAvariance - NipalsおよびNipals2の出力からデータを抽出します。
主成分分析について
相関する変数や冗長な変数がデータセットに数多く含まれていることがよくあります。これによってデータ解析での計算が非効率になるだけでなく、数値的な問題 (逆行列を求めるステップなど) の原因となることもあります。そのような場合に必要となるのが、少数の直交変数にデータを圧縮する手法です。いくつかの種類があるこのような手法を総称して因子分析手法と呼びます。これらの手法の中でも最も基本的な手法が、データをその支配的な因子に圧縮する主成分分析です。
PCA は n 次データ空間をとり、データ内の分散を最適な方法で表す直交軸 (新しい変数) の新しいセットを定義します。1 つ目の変数がとりうる分散の最大量 (最大分散) を表し、2 つ目の変数が残りの分散の最大量を表す場合、これらの新しい変数は最適であるといえます。これらの変数をデータセットの主成分と呼びます。
開始変数が相互依存 (相関) 関係を持つデータセットでは、主成分の次数が高くなるほど相関がゼロに近づくため (通常はただのノイズ)、破棄しても問題ありません。基底直交 (非相関) 変数は潜在変数と呼ばれ、データを表すにはデータの階数と同じ数の潜在変数が必要です。
NIPALS と SVD
ほとんどのデータセットでは、svd関数を使用してスコアと負荷を計算できますが、一般的にはこれは推奨されません。
高いスコアは不要であるにもかかわらず、特異値分解 (SVD) ではすべてのスコアが計算されてしまいます。したがって、大きく冗長性が高いデータセットでは、SVD による計算は非効率で失敗することがあります。
svd関数では、データ行列内の列の数が行の数より多くなければなりません。変数よりも測定値の数が多い場合、これは問題です。
NIPALS (反復非線形部分最小二乗) アルゴリズムは、スコアと負荷を反復計算してこのような問題を回避します。このアルゴリズムは数値的に非常に安定しており、どのようなサイズのデータセットにも対応します。このアルゴリズムは必要な数の主成分だけを計算します。
これは役に立ちましたか?