PCAと高次元QC
このトピックの終了までに
あなたは、PCAが高次元データを低次元座標に要約する変換として理解し、スケーリング、バッチ効果、外れ値を別々に検査できるようになります。PCAプロットにおける近接性が自動的に生物学的類似性を意味しないという限界について説明できます。
少数の軸にわたる多数の列の可視化
高次元行列では、すべての特徴量にわたるサンプル間の差異を同時に観察することは困難です。PCAは分散の大きい方向を新しい軸に変換し、少数の座標で表現します。主成分は使用されるスケーリングと特徴量選択に依存するため、プロットを解釈する前に前処理の合意を記録してください。
QCの質問事項
PCAを作成する前に、以下を確認してください:
- 行と列はサンプルですか、それとも特徴量ですか?
- それらは生のカウント値ですか、それとも変換/正規化された値ですか?
- 特徴量のスケールは互いに比較可能ですか?
- バッチと生物学的条件はどの程度重なり合っていますか?
- 外れ値候補のサンプルIDと反復構造は何ですか?
PCAでサンプルがバッチごとにクラスター化されていても、自動的にバッチが原因であると結論づけないでください。測定品質、ライブラリサイズ、サンプル構成、研究設計を一緒に検討してください。
Pythonの前処理とPCA
from sklearn.decomposition import PCAfrom sklearn.preprocessing import StandardScaler
X_scaled = StandardScaler().fit_transform(X)pca = PCA(n_components=2)coordinates = pca.fit_transform(X_scaled)print(pca.explained_variance_ratio_)このコードは、特徴量が列である数値行列を前提としています。適用される場合、StandardScalerフィッティングの範囲、欠測値の処理、特徴量選択、分割単位を記録してください。説明分散比は、選択された入力の要約であり、生物学的重要性の順位付けではありません。
外れ値とバッチの分離
中心から遠い点は、入力エラー、技術的な失敗、真の生物学的変動、バッチ差異の組み合わせである可能性があります。位置のみに基づいて点を削除しないでください;生データ、メタデータ、反復を検証してください。複数の前処理手順でPCAを繰り返す場合、どのパターンが設定間で持続するかを記録することで感度を記録してください。
解釈のための研究質問への回帰
PCAはQCと探索に有用な座標表現です。主成分軸の方向自体を生物学的メカニズムとして解釈したり、近接性を直接独立性、因果関係、または疾患状態へ翻訳したりしないでください。検証するために元の特徴量単位とバッチ設計に戻ってください。
一般的な失敗例
- スケーリングが適用されたかどうかを隠さないでください。
- PCAプロットの軸を効果量や有意性として参照しないでください。
- プロットのみに基づいて外れ値を削除しないでください。
- PCAがバッチと条件の間の交絡を解決すると主張しないでください。
重要なポイント
- PCAは入力前処理に依存する次元削減と探索ツールです。
- スケーリング、バッチ、外れ値は異なるQCの質問事項です。
- 座標の近接性は自動的に生物学的原因や因果関係を示すものではありません。
次のトピック
次のモジュールでは、高次元特徴量ごとの検定において多重性と縮小推定を一緒に扱います。
参考文献
- scikit-learnの一般的な落とし穴: https://scikit-learn.org/stable/common_pitfalls.html
- scikit-learnのメトリクス: https://scikit-learn.org/stable/modules/model_evaluation.html
- NCBI GEO: https://www.ncbi.nlm.nih.gov/geo/info/
このモジュールの行列とPCAの例は、BioStatPyによって独立して作成されました。