Lazarus / Free Pascalアプリケーションでは、大きな複数列の数値行列を生成します。このテーブルで主成分分析(PCA)を実行したいのですが、実行するパッケージが見つからないようです。
R言語には、PCA関数をエクスポートする.dllライブラリがありますが、クラス「princomp」のオブジェクトを返します。次に、Lazarus / FPC内で使用するために、このクラスから関連情報(変換された行列など)を抽出する方法がわかりません。
Lazarus / Free Pascalアプリケーションでは、大きな複数列の数値行列を生成します。このテーブルで主成分分析(PCA)を実行したいのですが、実行するパッケージが見つからないようです。
R言語には、PCA関数をエクスポートする.dllライブラリがありますが、クラス「princomp」のオブジェクトを返します。次に、Lazarus / FPC内で使用するために、このクラスから関連情報(変換された行列など)を抽出する方法がわかりません。
ALGLIBを見てください:
http://en.wikipedia.org/wiki/ALGLIB
http://www.alglib.net/download.php
特異値分解や固有値分解など、多くの数値ルーチンがあると思います。したがって、特別なPCAルーチンがない場合は、PCA平均ベクトルがすべてのデータベクトルの平均であり、PCAベクトルが共分散行列の固有ベクトルであり、対応する固有値がデータの射影の分散であることを忘れないでください。それらのベクトルに。
R には、princomp と prcomp という 2 つの PCA 関数があります。1 つ目はデータの共分散行列の固有値を計算し、2 つ目は特異値分解を実行します。各関数が何を返すか (クラス "princomp" または "prcomp" のオブジェクト) の詳細は、関数のヘルプ ページの「値」セクションで説明されています。通常、これらはローディングを含む行列 (つまり、回転行列)、主成分の標準偏差 (つまり、共分散/相関行列の固有値の平方根)、および必要に応じて回転されたデータセットです。