赤池信息准则(Akaike Information Criterion,AIC)
贝叶斯信息准则(Bayesian Information Criterion,BIC)
原理参考:
https://blog.csdn.net/baidu_38172402/article/details/89075582
https://blog.csdn.net/xianlingmao/article/details/7891277
https://blog.csdn.net/lfdanding/article/details/50732762
AIC是衡量统计模型拟合优良性的一种标准,由日本统计学家赤池弘次在1974年提出,它建立在熵的概念上,提供了权衡估计模型复杂度和拟合数据优良性的标准。训练模型时,增加参数数量,也就是增加模型复杂度,会增大似然函数,但是也会导致过拟合现象,针对该问题,AIC和BIC均引入了与模型参数个数相关的惩罚项,BIC的惩罚项比AIC的大,考虑了样本数量,样本数量过多时,可有效防止模型精度过高造成的模型复杂度过高。
原理不是多说,直接利用IQtree计算。
公式
AIC=2k−2ln(L)
BIC=kln(n)−2ln(L)
k为模型参数个数,n为位点数量,L为似然函数。
IQtree结果
IQtree运行以后产生的文件:
.dat与.phy是我对齐序列文件以及分区文件。
.best_scheme与.best_scheme.nex里面是每个分区所匹配的模型。如果是iqtree不分区的情况不会有这个文件产生。
会有两个树文件一个是.contree一个是.treefile。
.treefile对应的是ML树。
.contree是一个由1000bootstrap trees为引导树生成的共有树。
计算AIC&BIC的数据在.iqtree里面。
打开以后向下滑动找到SEQUENCE ALIGNMENT
分区会有显示是9个partitions
这个是37个分区
不分区的结果里面不会显示分区情况,也就是整一个序列是一个区。
咱们记录分区与位点数量
接着往下找到MAXIMUM LIKELIHOOD TREE
这个是ML树的一些信息,IQtree是计算好了AIC与BIC的。
可以自己验证一下计算是否正确。
补充一下K值来源
计算下面跟着的CONSENSUS TREE的结果,这个IQtree没有给算AIC与BIC。
取Log-likelihood的值,这个值其实已经是ln(L)。所以后面计算中不用再ln。
计算AIC&BIC
直接在excel计算即可:
AIC就是AIC=2k−2(Log-likelihood)
BIC是BIC=k*ln(n)−2(Log-likelihood)
计算2 lg(BF)与RBF
这里面需要选择AIC最小的值作为最优模型。
2lg(BF)与RBF是检查最优模型与次优模型之间的差距。
2 lg(BF)就是=2*LOG([最大的Log-likelihood]-[当前模型的Log-likelihood])
RBF是=2*LOG([最大的Log-likelihood]-[当前模型的Log-likelihood])/(([最大的Log-likelihood的模型参数]-[当前模型的模型参数])