Ce diaporama a bien été signalé.
Le téléchargement de votre SlideShare est en cours. ×

カーネル法を利用した異常波形検知

Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité

Consultez-les par la suite

1 sur 24 Publicité

Plus De Contenu Connexe

Diaporamas pour vous (20)

Plus par 弘毅 露崎 (20)

Publicité

Plus récents (20)

カーネル法を利用した異常波形検知

  1. 1. カーネル法を利利⽤用した 異異常波形検知 antiplastics@RIKEN  ACCC 2015.7.10
  2. 2. ⾃自⼰己紹介 ・露露崎弘毅(つゆざき  こうき) ・理理化学研究所  情報基盤センター          バイオインフォマティクス研究開発ユニット      (RIKEN  ACCC  BiT)          特別研究員 ・Single-‐‑‒cell  RNA-‐‑‒Seqのデータ解析、解析⼿手法・ソフトウェア 開発をやっています ・連絡先 -‐‑‒  @antiplastics -‐‑‒  koki.tsuyuzaki  [at]  gmail.com
  3. 3. 事前知識識
  4. 4. カーネル法とは 簡単に⾔言うと、総当たりの類似度度計算の結果を格納した⾏行行列列 (グラム⾏行行列列)を元にした解析⼿手法 *  ただし、グラム⾏行行列列は対照⾏行行列列であり、 正定値性を満たすものとする Data1 Data2 Data3 Data4 ・リッジ回帰 ・CCA ・Fisher判別分析 ・SVM/SVR ・K-‐‑‒means ・PLS回帰 ・ロジスティック回帰  ...etc 多くの多変量量解析⼿手法が カーネル版として利利⽤用可能 Data1 Data4 Data3 Data2 PC1 PC2 PC3 カーネルPCA類似度度が定義できるデータ集合 Data1 Data2 Data3 Data4 Data4Data3Data2Data1 類似度度⾏行行列列 (グラム⾏行行列列)
  5. 5. カーネル法とは ⽂文字列列 ⽊木 グラフ 数値ベクトルで表現できないが、データ間の類似度度は 定義できるようなデータ(構造化データ)に適⽤用できる ATAGGA ACGGT AGGTG GTCAC
  6. 6. 分布データのカーネル 分布 Histogram  Intersec/on  Kernel χ2  Kernel Bha6acharyya  Kernel Jensen  Shannon  Kernel K(p1, p2 ) = min(p1 (i) , p2 (i) ) i ∑ K(p1, p2 ) = exp −a (p1 (i) − p2 (i) )2 p1 (i) + p2 (i) i ∑ # $ % & ' ( K(p1, p2 ) = p1 (i) p2 (i) i ∑ K(p1, p2 ) = exp(−a JS(p1 || p2 )) Re  ́nyi  Kernel K(p1, p2 ) = exp(−a (R(p1 || p2 )+ R(p2 || p1))) Kullback-­‐Leibler  Kernel K(p1, p2 ) = exp(−a ((KL(p1 || p2 )+ KL(p2 || p1))) :  確率分布   :  パラメーター p1, p2 a
  7. 7. Fragment  Analyzer での異異常波形
  8. 8. Fragment  Analyzer h$p://aa(-­‐us.com/product/fragment-­‐analyzer cDNAがきちんと増幅されているか、 電気泳動で調べる装置   (塩基長が短いほど早く流れる) 短い 長い Lower/Upper  Marker   (長さ既知のDNA)
  9. 9. Fragment  Analyzer 理研のユニット内では、大規模なsingle-­‐cell  RNA-­‐Seqを行う際に、   確認のために行っている 実質94が細胞データ プレート単位で一気に電気泳動する 96ウェルプレート Control Ladder   Marker
  10. 10. ある⽇日のこと Ebiさん   (実験担当、Wet研究者) 自分   (解析担当、Dry研究者) Ebiさん、Ebiさん、   もらった細胞データ、発現量 でPCAかけたら変なクラス ターできてるんですけど、   実験の時に何か起きてませ んでした?   あ〜まじで!?   確かにー、変な波形あっ たかも。すいません、後で データ送っておきます わ〜  
  11. 11. またある⽇日のこと Ebiさん   (実験担当、Wet研究者) 自分   (解析担当、Dry研究者) もらったリストで変なデータを除 いたらうまくいきました! よかったね。   今度からリストは毎回渡すよ うにするね。   でも、いつもどうやって波形が 異常だと判断してるんですか?   (700細胞くらいあるけど…)
  12. 12. Ebiʼ’s  rule 濃度が0.3ng/ul 波形が見えない 波形が尖ってる 通常の波形 スパイク Ebiさん   (実験担当、Wet研究者) 自分   (解析担当、Dry研究者) ・濃度が0.3ng/ul以下   ・波形が見えないもの   ・波形が尖っているもの   ・波形内にスパイクがあるもの   ・もう一人のWet研究者、Hさんと合意がとれているもの     を、1つ1つ目で確認しながら判断してるよ^^  
  13. 13. Ebiさん   (実験担当、Wet研究者) 自分   (解析担当、Dry研究者) いやいやwww   そんな毎回目視とかやって られないでしょwww   (ナイワー)   自動で異常な波形を検出す る方法とか無いんですか?   そういうのあればいいんだけ どね〜   僕は聞いたことがないな   うーん、でもそうするしか無 いんだよね。。。  
  14. 14. 無いから作ってみた
  15. 15. このデータの使いづらさ 領域をN分割して比較して も対応がとれない 同じスケールに揃えた   上で比較したい cDNAの泳動具合が   サンプルによりまちまち
  16. 16. 0 500 1000 1500 2000 05001500 スケーリング  →  密度度推定  →  サンプリング 両端のピークを検出   (ウィンドウ幅5で500を超えた   箇所を両端から探索) 伸縮率(S=1500  /  ピーク間距離)   を計算しx軸をS倍にする(座標変換) カーネル密度推定でフィッティング 推定された密度分布からランダムサ ンプリングして、ヒストグラムを作成   (ksパッケージを利用) 1500に固定 0 500 1000 1500 2000 05001500 Frequency 0 500 1000 1500 2000 051015
  17. 17. カーネルPCA  &  One-‐‑‒class  SVM 幅を揃えた波形から サンプリングして求めたヒストグラム 類似度度⾏行行列列 (グラム⾏行行列列) One-­‐class  SVMで分離境界を決定   →  外れ値検出   PC1   PC2   Data1 Data2 Data3 Data4 SVM   カーネルPCAで次元圧縮   →  可視化 Frequency 0 500 1000 1500 2000 051015 Frequency 0 500 1000 1500 2000 0246810 Frequency 0 500 1000 1500 2000 0246810 Frequency 0 500 1000 1500 2000 0246810 Data1 Data2 Data3 Data4 Data1 Data2 Data3 Data4 Data4Data3Data2Data1 PC1   PC2   Data1 Data2 Data3 Data4
  18. 18. 結果
  19. 19. カーネルPCAの結果 * 赤いところがEbi’s  ruleで   異常だと判定されていたもの Plate1 Plate2 Plate3 Plate4 Plate5 Plate6 Plate7 Plate8 外れ値っぽいのがぽつぽつあるが…
  20. 20. One-‐‑‒class  SVM(nu=0.2) * 赤いところがSVMで   異常だと判定されていたもの Plate1 Plate2 Plate3 Plate4 Plate5 Plate6 Plate7 Plate8 うまくいったり、そうでなかったり   まちまち 正解率   (50.0%) 正解率   (40%) 正解率   (4.5%) 正解率   (71.8%) 正解率   (87.5%) 正解率   (70.5%) 正解率   (0%) 正解率   (35.2%)
  21. 21. おそらく、Ebiさんの見過ごし スパイク型(難しい) 右にシフト型 平ら型 Plate1
  22. 22. カーネルPCAの結果(軸の意味  PC1,2) -9.6953 -9.6951 -9.6949 -9.6947 0.000000.00010 PC1 PC2 Plate1 右側に分布   がシフト? Markerのピークが 大きくなる?
  23. 23. カーネルPCAの結果(軸の意味  PC3,4) -4e-05 -2e-05 0e+00 2e-05 -2e-050e+002e-054e-05 PC3 PC4 Plate1 真ん中のピーク の尖り具合? Markerのピークが 大きくなる?
  24. 24. まとめ •  FAの異異常波形をカーネルPCA  &  One-‐‑‒class  SVMを使って検出しようと試みた •  結果はまちまちだった •  Ebiさんが異異常とみなしている理理由が⾊色々あって、それが各主成分に分かれて 出てくるから以外に難しい •  スパイク型は特に難しい •  その他、考えられる敗因 •  プログラムのバグ、操作ミス、ラベリングミス、パラメーターの設定、外 れ値の影響、⾮非線形性をとらえられていない、Ebiʼ’s  rule⾃自体...etc •  毎回⽬目視で確認するのと、解析⼿手法作るの、どっちが⼤大変なんだろうとか途中 で思い始めた

×