1

Lazarus / Free Pascalアプリケーションでは、大きな複数列の数値行列を生成します。このテーブルで主成分分析(PCA)を実行したいのですが、実行するパッケージが見つからないようです。

R言語には、PCA関数をエクスポートする.dllライブラリがありますが、クラス「princomp」のオブジェクトを返します。次に、Lazarus / FPC内で使用するために、このクラスから関連情報(変換された行列など)を抽出する方法がわかりません。

4

2 に答える 2

2

ALGLIBを見てください:

http://en.wikipedia.org/wiki/ALGLIB

http://www.alglib.net/download.php

特異値分解や固有値分解など、多くの数値ルーチンがあると思います。したがって、特別なPCAルーチンがない場合は、PCA平均ベクトルがすべてのデータベクトルの平均であり、PCAベクトルが共分散行列の固有ベクトルであり、対応する固有値がデータの射影の分散であることを忘れないでください。それらのベクトルに。

于 2011-11-16T07:28:14.817 に答える
1

R には、princomp と prcomp という 2 つの PCA 関数があります。1 つ目はデータの共分散行列の固有値を計算し、2 つ目は特異値分解を実行します。各関数が何を返すか (クラス "princomp" または "prcomp" のオブジェクト) の詳細は、関数のヘルプ ページの「値」セクションで説明されています。通常、これらはローディングを含む行列 (つまり、回転行列)、主成分の標準偏差 (つまり、共分散/相関行列の固有値の平方根)、および必要に応じて回転されたデータセットです。

于 2011-11-16T10:45:51.407 に答える