スペクトルデータのPCAこんにちは、
大規模なデータ セット (257 列 (波数)、約 8000 行 (サンプル)) に対して PCA を実行しており、PCA を使用してスペクトル間の特定のパターンを認識したいと考えています。
ただし、この警告は常に「警告: 行列相関は正定値ではありません。」と表示されます。これが何を意味するのか、またそれがデータの分析に関連があるかどうかを理解するのを手伝ってくれる人はいますか?
私は JMP の初心者ですが、この件に関してご助力いただければ幸いです。
ありがとう!
マイケ
基本的なデータ分析とモデリングRe: スペクトルデータの PCAこんにちは、マイク。
確認するためのサンプル データ セットを提供していただけますか? これは、マトリックスの一部の特性が正ではない (つまり、固有値がすべて正ではない、マトリックスが対称ではない) ことを示しています。これにより、JMP で実行できるテストの種類が変わり (ここで説明されている最大尤度テストなど)、PCA の強度が弱まる可能性があります。データを確認し、外れ値/エラーを削除したり、予測子リストを実際に重要な要因/列に絞り込んだりすることを検討してください。
初心者だとおっしゃっていますが、スペクトル データ分析に関するこれらの記事 ( こちらとこちら) をご覧になることをお勧めします。非常に刺激的で役立ちます。
ありがとう、
ベン
Re: スペクトルデータの PCAこんにちは、ベン。
ご返信と記事をありがとうございます。
私のデータでは、天然タンパク質と変性タンパク質のスペクトルを見ることができます。PCA を使用して、天然タンパク質と変性タンパク質を区別できるかどうかを確認したいと思います。ここにいくつかのサンプルを含むサンプル データ セットを示します。
すでにデータを 0 ~ 1 の範囲に正規化しています。生データと正規化された値の両方に警告が表示されます。
Re: スペクトルデータの PCAこんにちは、マイク。
この例では、「変性」をどのように区別していますか?サンプル「0.5」、「0.14」、「85」の違いですか?PCAを使用して「これらの特徴は変性している」と判断する方法を知りたいだけです。
ありがとう、
ベン
Re: スペクトルデータの PCAこんにちは@Maike_Wさん
PCA で変数をクラスタリングし、列の数を最も代表的なものに絞り込むことを検討してください (以下を参照)。

また、このデータを(データを積み重ねた後)Functional Data Explorer プラットフォームに取り込み、列をグループ(Erbse、Ackerborne)と添付の数値(40.5、40.15、値が明記されていないものには「0」を追加したことに注意)に分割し、グループ間のピークの違いを説明する適切なモデルを取得しました(gif と添付の表を参照)。

Re: スペクトルデータの PCAこんにちは、ベン。
ありがとうございます!その通りです。数字のない値は天然タンパク質であり、異なる温度と時間で処理しました。数字の違いがわかります。
私の研究は、NIR 分光法を使用してこれらの構造の違いを見ることができるかどうかについてです。PCA を使用してパターンを確認し、規則性を判断できるかどうか、またどの波数を見る必要があるかを確認したいと考えています。
しかし、PCA とこの警告 (行列相関は正定値ではありません) に戻ります。PCA で重要な波数 (クラスタリングまたはローディング マトリックスから) を持つ列のみを調べることでこれを修正できますか?
機能データ エクスプローラーの例をありがとうございます。詳しく調べてみます。
Re: スペクトルデータの PCAこんにちは@Maike_Wさん
「重要でない」列の数を減らすと、PCA の改善に役立ちます。明確な肯定的な問題にあまり重点を置きすぎない方が良いと思います。PCA は、相関関係の問題に関係なく、タンパク質の変性を示す可能性のある関連列を見つけるのに役立ちます。いずれにしても、視覚的にそれらを調べて精査し、サンプル内の真の関係性を確認することで、重要な波長に対する「真か偽か」の明確な答えが得られます。
これが役に立つことを願っています!
ベン
Re: スペクトルデータの PCAこんにちは、ベン。
本当にありがとうございます。これは間違いなく私を助けてくれました。
マイケ