JackStraw Plot (QQ-plot) を理解する

以前紹介した(Seuratを駆使する会 ① - ばいばいバイオ) Seuratというsingle cell RNA-seq解析のパッケージの中に、JackStraw Plotというものがある。

single cell RNA-seq解析は、

  1. 細胞ごとに遺伝子発現パターンを見る。
  2. その発現パターンでクラスタリングを行う。
  3. クラスターごとに特徴量の関連づけを行う。

といった要領で行っていくわけだが、

クラスタリングを行う際に、特徴量を適切に反映させるために、使用する主成分軸の数を決定する必要がある。
その際にJackStraw Plotというものを使用する。

今回このJackStraw Plotを理解するべく、Seuratの

の二つのドキュメントを参考に、その意味を解明することにした。

JackStraw Plot

Chung et al, Bioinformatics (2014)で考案された統計的有意性を判断するための解析法。
このプロットは、例えば、以下のようなものになる。

f:id:kimoppy126:20180902233845p:plain

一見何が何だか。よくわからない。

JackStraw関数

以下がJackStraw関数のドキュメントを引用したものである。

Randomly permutes a subset of data, and calculates projected PCA scores for these 'random' genes. Then compares the PCA scores for the 'random' genes with the observed PCA scores to determine statistical signifance. End result is a p-value for each gene's association with each principal component.
JackStraw: Determine statistical significance of PCA scores. in satijalab/seurat: Tools for Single Cell Genomics

ランダムにデータのサブセットを抽出し、これらのランダムな遺伝子について、PCAの予測スコアを算出する。 その後、この「ランダムな」値と観察対象のPCAスコアを比較し、統計的な有意性を決定する。結果は各遺伝子についての各主成分軸に関するp値となる。

なるほど。
母集団に対し、「ランダムな」遺伝子では特徴量をとらえきれない抽出が起きるため、こういった場合にはPCAスコアのp値は低くなります。
結果は (サブサンプリングの回数) × (主成分軸数) のp値って感じですね。

では次にこの値をプロットしていきます。

JackStrawPlot関数

Plots the results of the JackStraw analysis for PCA significance. For each PC, plots a QQ-plot comparing the distribution of p-values for all genes across each PC, compared with a uniform distribution. Also determines a p-value for the overall significance of each PC (see Details). JackStrawPlot function | R Documentation

JackStraw 解析の結果である主成分軸の有意性をプロットする。 一様分布と、全遺伝子にわたる各主成分軸のp値の分布を比較するQQ-plotをプロットする。 この結果から、特徴量を表現する成分としての有意性を決定する。

ん??まずQQ-plotの知識がなかった。調べた。

以下の記事がめちゃわかりやすいです。 qiita.com

要はデータ分布の類似度を視覚的に判断することを可能にするためのプロット、って感じです。

これをp値について行うのですね。統計学的有意性の分布を一様分布と比較することでそのデータ集合全体の有意性を判断する。 プロットは主成分軸ごとに行うため、各主成分軸についてその全体としての有意性がわかる、ということです。

まとめ

もう一度見てみましょう。

f:id:kimoppy126:20180902233845p:plain

JackStraw Plotは、p値が一様に分布するような分布と、JackStraw解析で得られたp値の分布を比較することで、データ分布の有意性を判断する手法です。手順としては、

  1. サブサンプリングを複数回行い、それぞれの「ランダムな」遺伝子についてPCAスコアのp値を算出する。(JackStraw解析)
  2. 一様分布のp値の累積分布関数を点線としてプロットする。
  3. JackStraw解析の結果を実線としてプロットする。
  4. 主成分軸ごとに有意性を判断する。

主成分軸が有意である場合、サブサンプリングの結果(実線)は一様分布の累積分布関数(点線)とは離れた分布を示すはずである。 これを目視により判断することで、主成分軸の有意性を判断することができる。

なるほどなるほど。。

ところで

今回のプロットだと、どのあたりまでを一様分布と離れていると言えるのでしょうか。

Seuratの公式チュートリアルだと、

In this case it appears that PCs 1-10 are significant.

PC10までを以降の解析に使用しています。 つまりPC10までは点線と実践が離れていると判断しています。

視覚的な判断って、どうなんでしょうね。