Edited at

欠損値に関するメモ(オミックス研究と関連して)

More than 3 years have passed since last update.

欠損した値を推定する事をimputationという


欠損値に関する方法論について


古典的な統計学の方法

欠損値のメカニズムの分類 : MAR(Missing at random), MCAR(Missing completely at random), MNAR(Missing not at random)

対策

- そのまま

- 削除 : リストワイズ除去、ペアワイズ除去

- 補完 : 平均値代入、回帰代入、Hot-deck代入(似たデータから補完)、Cold-deck代入(同じデータの違う状況下でのデータから補完)、Average the available items, Last observation carried forward, Stochastic回帰代入

- 欠損メカニズムをモデル化

- 最近の方法 : Full Information maximum likelehood(FIML)、多重代入法


遺伝学的な方法


  • referenceにするデータは、HapMapから手にいれるらしい(人種を気にする)

  • LD(連鎖不平衡)ブロックで相関が高いSNPを参考に推定する

  • MAF(マイナーアレル頻度)が合うように値を推定する(EMアルゴリズム)

  • HMM(隠れマルコフモデル)を使うらしい

  • 有名なソフトとして、IMPUTE1/2, BEAGLE, MACH, BIM-BAM, fastPHASE


transciptome研究での方法


  • 最初は、データを削除、0/平均値を入れるなどしていたらしい

  • referenceはStanford Microarray Databaseを利用した論文がある

  • 遺伝学的な方法と同様に、相関が高い遺伝子の発現量を参考に推定する

  • referenceを利用せず、データセット内で相関が高い遺伝子のデータを利用する場合が多い(この場合、ある程度のサンプルサイズが無いと相関が見れないはず)

  • 推定したい遺伝子と類似する遺伝子を見つけるのにk近傍法が広く利用されている(kは10 - 20くらいのイメージ)


    • 異なる実験条件での寄せ集めデータをreferenceにする中で、q個のクラスター(数10個くらい)に実験条件が分かれるとして、次元を削減して利用する場合が多い(クラスタリング手法がここで多用される)



  • 手法の検証の仕方は、完全データにランダムに欠損値を発生させ、どれだけ適切な値を入れられるか、元データとのRMSE値で競う

  • 定番手法がなさそうだが、Rパッケージは多い(kNNベースは引用が比較的多い)

[参考]

- Illuminaの資料

- Missing Data Analysis (DARM勉強会#3)

- Genotype imputation for genome-wide association studies

- Comparative analysis of missing value imputation methods to improve clustering and interpretation of microarray experiments