Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
カーネル法を利利⽤用した
異異常波形検知
antiplastics@RIKEN  ACCC
2015.7.10
⾃自⼰己紹介
・露露崎弘毅(つゆざき  こうき)
・理理化学研究所  情報基盤センター
          バイオインフォマティクス研究開発ユニット
      (RIKEN  ACCC  BiT)
          特別研究員
・Singl...
事前知識識
カーネル法とは
簡単に⾔言うと、総当たりの類似度度計算の結果を格納した⾏行行列列
(グラム⾏行行列列)を元にした解析⼿手法
*  ただし、グラム⾏行行列列は対照⾏行行列列であり、
正定値性を満たすものとする
Data1
Data2
Data3
...
カーネル法とは
⽂文字列列 ⽊木 グラフ
数値ベクトルで表現できないが、データ間の類似度度は
定義できるようなデータ(構造化データ)に適⽤用できる
ATAGGA
ACGGT
AGGTG
GTCAC
分布データのカーネル
分布
Histogram	
  Intersec/on	
  Kernel	
χ2	
  Kernel	
Bha6acharyya	
  Kernel	
Jensen	
  Shannon	
  Kernel	
K(p1,...
Fragment  Analyzer
での異異常波形
Fragment  Analyzer
h$p://aa(-­‐us.com/product/fragment-­‐analyzer	
 cDNAがきちんと増幅されているか、
電気泳動で調べる装置	
  
(塩基長が短いほど早く流れる)	
短い	...
Fragment  Analyzer
理研のユニット内では、大規模なsingle-­‐cell	
  RNA-­‐Seqを行う際に、	
  
確認のために行っている	
実質94が細胞データ	
プレート単位で一気に電気泳動する	
96ウェルプレー...
ある⽇日のこと
Ebiさん	
  
(実験担当、Wet研究者)	
自分	
  
(解析担当、Dry研究者)	
Ebiさん、Ebiさん、	
  
もらった細胞データ、発現量
でPCAかけたら変なクラス
ターできてるんですけど、	
  
実験の時に...
またある⽇日のこと
Ebiさん	
  
(実験担当、Wet研究者)	
自分	
  
(解析担当、Dry研究者)	
もらったリストで変なデータを除
いたらうまくいきました!	
よかったね。	
  
今度からリストは毎回渡すよ
うにするね。	
  ...
Ebiʼ’s  rule
濃度が0.3ng/ul	
 波形が見えない	
波形が尖ってる	
通常の波形	
スパイク	
Ebiさん	
  
(実験担当、Wet研究者)	
自分	
  
(解析担当、Dry研究者)	
・濃度が0.3ng/ul以下	
 ...
Ebiさん	
  
(実験担当、Wet研究者)	
自分	
  
(解析担当、Dry研究者)	
いやいやwww	
  
そんな毎回目視とかやって
られないでしょwww	
  
(ナイワー)	
  
自動で異常な波形を検出す
る方法とか無いんですか...
無いから作ってみた
このデータの使いづらさ
領域をN分割して比較して
も対応がとれない	
同じスケールに揃えた	
  
上で比較したい	
cDNAの泳動具合が	
  
サンプルによりまちまち
0 500 1000 1500 2000
05001500
スケーリング  →  密度度推定  →  サンプリング
両端のピークを検出	
  
(ウィンドウ幅5で500を超えた	
  
箇所を両端から探索)	
伸縮率(S=1500	
  /	
...
カーネルPCA  &  One-‐‑‒class  SVM
幅を揃えた波形から
サンプリングして求めたヒストグラム
類似度度⾏行行列列
(グラム⾏行行列列)
One-­‐class	
  SVMで分離境界を決定	
  
→	
  外れ値検出	
...
結果
カーネルPCAの結果
* 赤いところがEbi’s	
  ruleで	
  
異常だと判定されていたもの	
Plate1	
 Plate2	
 Plate3	
 Plate4	
Plate5	
 Plate6	
 Plate7	
 Plate8	...
One-‐‑‒class  SVM(nu=0.2)
* 赤いところがSVMで	
  
異常だと判定されていたもの	
Plate1	
 Plate2	
 Plate3	
 Plate4	
Plate5	
 Plate6	
 Plate7	
 Pl...
おそらく、Ebiさんの見過ごし	
スパイク型(難しい)	
右にシフト型	
平ら型	
Plate1
カーネルPCAの結果(軸の意味  PC1,2)
-9.6953 -9.6951 -9.6949 -9.6947
0.000000.00010
PC1
PC2
Plate1	
右側に分布	
  
がシフト?	
Markerのピークが
大きくなる?
カーネルPCAの結果(軸の意味  PC3,4)
-4e-05 -2e-05 0e+00 2e-05
-2e-050e+002e-054e-05
PC3
PC4
Plate1	
真ん中のピーク
の尖り具合?	
Markerのピークが
大きくなる?
まとめ
•  FAの異異常波形をカーネルPCA  &  One-‐‑‒class  SVMを使って検出しようと試みた
•  結果はまちまちだった
•  Ebiさんが異異常とみなしている理理由が⾊色々あって、それが各主成分に分かれて
出てくるから...
Upcoming SlideShare
Loading in …5
×

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

2,910 views

Published on

WACODE 2ndでの発表

Published in: Science
  • Be the first to comment

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

  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 •  毎回⽬目視で確認するのと、解析⼿手法作るの、どっちが⼤大変なんだろうとか途中 で思い始めた

×