nuget server logo nuget api documents
↑

API Docs / SMRUCC.genomics.Interops.Visualize.Phylip / BayesianInference

BayesianInference

Full name SMRUCC.genomics.Interops.Visualize.Phylip.Evolution.Bayesian.BayesianInference Assembly SMRUCC.genomics.Interops.Visualize.Phylip Members 6

贝叶斯推断(BI):计算整棵树(以及模型参数)在数据条件下的后验分布

P(τ, v, θ | D) ∝ P(D | τ, v, θ) P(τ, v, θ)

由于后验分布没有解析解,使用 Metropolis-Hastings MCMC 在参数空间中随机游走进行采样; 每个内部分支的后验概率即“包含该分支的采样树占总样本的比例”。

00 Remarks

先验设置:分支长度服从指数分布(均值为 BranchLengthPriorMean),拓扑服从均匀先验, Gamma 形状参数 α(若参与采样)服从 [0.02, 50] 上的均匀先验。 提议分布包括:NNI / SPR 拓扑移动、全树分支长度乘性缩放、单条分支长度乘性缩放、以及 α 的乘性缩放。

01 Syntax

SMRUCC.genomics.Interops.Visualize.Phylip.Evolution.Bayesian.BayesianInference

02 Methods

NameOverloadsSummary
Run 1 执行贝叶斯 MCMC 建树。
RecordSplits 1 记录一棵采样树中的所有 split(内部分支 bipartition)。
LogPrior 1 后验分布的对数(未归一化):对数似然 + 对数先验。
Diagnose 1 基于多条链的对数似然轨迹给出 Gelman-Rubin 收敛诊断。

03 Fields

NameOverloadsSummary
BranchLengthPriorMean 2 分支长度指数先验的均值(同时作为缩放提议的尺度参考)

04 Members

method Run #
Run(CharacterMatrix, AminoAcidModel, Int32, Double, Double, Int32, Int32, Int32, Int32, Boolean, Int32)

执行贝叶斯 MCMC 建树。

Parameters
NameTypeDescription
matrixCharacterMatrix

已比对的位点矩阵

modelAminoAcidModel

氨基酸替换模型(默认 LG)

rateCategoriesInt32

离散 Gamma 速率类别数目

gammaShapeDouble

Gamma 形状参数 α 的初始值

invariantProportionDouble

不变位点比例 I

chainsInt32

独立马尔可夫链的数目(用于收敛诊断,多链并行执行)

samplesInt32

每条链的采样步数

burnInInt32

弃置的 burn-in 步数

sampleFrequencyInt32

采样间隔(每隔多少步记录一次样本)

optimizeAlphaBoolean

是否对 α 进行采样

seedInt32

随机种子

method RecordSplits #
RecordSplits(PhyloNode, ChainResult)

记录一棵采样树中的所有 split(内部分支 bipartition)。

method LogPrior #
LogPrior(PhyloNode, Double, Boolean)

后验分布的对数(未归一化):对数似然 + 对数先验。

method Diagnose #
Diagnose(ChainResult())

基于多条链的对数似然轨迹给出 Gelman-Rubin 收敛诊断。

field BranchLengthPriorMean #
BranchLengthPriorMean

分支长度指数先验的均值(同时作为缩放提议的尺度参考)

field BranchLengthPriorMean overload 2 #
BranchLengthPriorMean