CLR座標でバニラPCAの問題が発生する場合があります。組成データには2つの大きな問題があります。
- それらは厳密に非負です
- 彼らは合計制約を持っています
さまざまな構成変換がこれらの問題の一方または両方に対処します。具体的には、CLRは、観測された周波数の比の対数取ることによって、あなたのデータを変換しxとその幾何平均G(x)すなわち、
x^={log(x1G(x)),…,log(xnG(x))}={log(x1)−log(G (x)),…,log(xn)−log(G(x))}
今、それを考慮してください
ログ(G ( x))=ログ( exp[ 1n∑私 = 1nログ( x私) ])= E[ログ(x)]
これは、効果的手段その
Σ∑ x^= ∑ [ ログ(x)− E[ ログ(x)] ] =0
言い換えると、CLRは値範囲の制限を削除します(一部のアプリケーションに適しています)が、合計制約を削除しないため、特異な共分散行列が生成され、(M)ANOVA /線形回帰/ ...外れ値に敏感なPCA(ロバスト共分散推定にはフルランク行列が必要なため)。私の知る限り、すべての構成変換のうち、ILRのみが両方の問題に対処しますが、主要な前提はありません。ただし、状況はもう少し複雑です。CLR座標のSVDは、ILR空間の直交基底を提供します(ILR座標はCLRの超平面にまたがります)。そのため、分散推定はILRとCLRの間で異なりません(もちろん、ILRとCLRは両方ともシンプレックス)。ただし、ILR座標でロバストな共分散推定を行う方法があります[2]。
更新I
CLRは相関および場所依存のメソッドには有効ではないことを示すためだけです。線形に独立した3つの正規分布コンポーネントのコミュニティを100回サンプリングするとします。簡単にするために、すべてのコンポーネントの期待値(100)と分散(100)を等しくします。
In [1]: import numpy as np
In [2]: from scipy.stats import linregress
In [3]: from scipy.stats.mstats import gmean
In [4]: def clr(x):
...: return np.log(x) - np.log(gmean(x))
...:
In [5]: nsamples = 100
In [6]: samples = np.random.multivariate_normal(
...: mean=[100]*3, cov=np.eye(3)*100, size=nsamples
...: ).T
In [7]: transformed = clr(samples)
In [8]: np.corrcoef(transformed)
Out[8]:
array([[ 1. , -0.59365113, -0.49087714],
[-0.59365113, 1. , -0.40968767],
[-0.49087714, -0.40968767, 1. ]])
In [9]: linregress(transformed[0], transformed[1])
Out[9]: LinregressResult(
...: slope=-0.5670, intercept=-0.0027, rvalue=-0.5936,
...: pvalue=7.5398e-11, stderr=0.0776
...: )
アップデートII
受け取った回答を考慮すると、PCAはCLRで変換されたデータに対して機能しないと言った答えはどこにもありません。CLRはPCAを微妙に破壊する可能性があると述べました。これは次元削減には重要ではないかもしれませんが、探索的データ分析には重要です。@Archieが引用した論文は微生物生態学を扱っています。計算生物学の分野では、さまざまな距離行列のPCAまたはPCoAを使用して、データの変動の原因を調査します。私の答えはこの文脈でのみ考慮されるべきです。さらに、これは論文自体で強調されています:
...組成バイプロット[注:PCAを参照]には、βダイバーシティ分析の主座標(PCoA)プロットに比べていくつかの利点があります。データがサブセットの場合、得られる結果は非常に安定しています(Bian et al。、2017)。これは、探索的分析が単にデータ内の存在不在関係や過度のスパース性によって駆動されないことを意味します(Wong et al。、2016; Morton et al al。、2017)。
Gloor et al。、2017
アップデートIII
公開された研究への追加の参照(参照を追加する推奨事項について@Nick Coxに感謝します):
- PCAにCLRを使用することに対する議論
- 相関ベースのメソッドにCLRを使用することに対する議論
- ILRの概要
clr
....ん