pbd_ML演示
Richel Bilderbeek和Rampal S.Etienne
2017-05-04
本文演示了如何使用该软件包来获得持久性出生-死亡物种形成模型的最大似然估计。
首先是加载PBD包本身:
远程管理(列表= 最小二乘法())图书馆(PBD)
我们还需要猿猴分支次数
:
这里我们用已知参数模拟一棵树:
种子<- 43
设置种子(种子)b_1<- 0.3 #优良物种的物种形成率镧_1<- 0.2 #形态完成率b2类<- b_1#早期物种的物种形成率mu_1<- 0.1 #优良物种灭绝率μ2<- mu_1#早期物种灭绝率部分<- c(c)(b_1,la_1,b2,mu_1,mu_2)年龄<- 15 #模拟时代系统发育<- pbd模拟信号(部分=第,年龄=年龄)情节(系统发育$recontree)
##没有提供颜色。使用以下图例:##g i公司##“黑色”“红色”
##[1]“tree”“stree_random”“stree_oldest”“stre_young”##[5]“L”“sL_random”“sL1_oldest”“sL2_yourning”##[9]“igtree.灭绝”“igtree.extent”“recontree”“reconL”##[13]“L0”
现在我们尝试通过最大似然估计恢复参数:
快速公交系统<- 分支.次(系统发育$recontree)#分支时间初始化(_b)<- 0.2 #物种活化率初始化mu_1<- 0.05 #良种灭绝率初始化_ la_1<- 0.3 #形态完成率
#init_mu_2<-0.05#未使用的早期物种灭绝率#
#必须优化的参数的初始值初始部分选择<- c(c)(init_b、init_mu1、init_la_1)#早期物种和优良物种之间的灭绝率相等外部设备<- 真的
#分枝时间的第一个要素是树冠年龄(而不是树干年龄)系统芯片<- 2
#系统发育的非着色条件
#因为我选择了一个很好的系统发育康德<- 1
#给出系统发育的可能性(而不是分支时间的可能性)b形<- 1
现在可以执行最大似然估计:
第页<- pbd_ML(可编程逻辑控制器)(快速公交系统=快速公交系统,初始化parsopt=初始化parsopt,外部设备=外部设备,系统芯片=系统芯片,康德=条件,b形=b变形,冗长的= 错误的)
ML参数估计值为:
0.2817166 |
0.1003351 |
0.20635 |
0.1003351 |
-37.1221 |
三 |
0 |
将已知真值与恢复值进行比较:
loglik_true(对数_真)<- PBD::pbd日志链接(第,快速公交系统=快速公交系统)
##参数:0.3、0.2、0.3、0.1、0.1,对数似然:-37.324677
数据流<- as.data.frame格式(r)数据流<- 旋转(df,c(c)(b_1、mu_1、la_1、mu_2、loglik_true、,不适用,不适用))行名称(df)<- c(c)(“ML”,“正确”)编织::卡布尔的(df)
毫升 |
0.2817166 |
0.1003351 |
0.20635 |
0.1003351 |
-37.12210 |
三 |
0 |
真的 |
0.3000000 |
0.1000000 |
0.20000 |
0.1000000 |
-37.32468 |
不适用 |
不适用 |
理想情况下,所有参数列都应该具有相同的值。
为了测试ML估计的不确定性,我们可以进行参数引导。
功能pbd引导程序
包括几个步骤:
- 进行ML估算
- 用这些估计值进行模拟
- 对模拟数据进行ML估计
- 根据endmc的设置转至2。
末端MC<- 10 #设置引导的模拟数b条<- pbd引导(快速公交系统=快速公交系统,初始化parsopt=初始化parsopt,外部设备=外部设备,系统芯片=系统芯片,康德=条件,b形=b变形,布洛特= 错误的,末端MC=endmc、,种子=种子)
##正在查找最大似然估计。。。## ##您正在优化b mu_1 lambda_1##你什么都没修好##早期物种的灭绝率与优良物种完全相同。##初始参数值的可能性为-37.25841##优化可能性-这可能需要一段时间。## ##最大似然参数估计:b:0.281715,mu_1:0.100335,lambda_1:0.206352,mu_2:0.100325##最大对数似然:-37.122103##这些参数的物种形成预计持续时间为:2.807343##这些参数的物种形成持续时间中位数为:2.206200##引导。。。## ##模拟数据集(满分10个)##您正在优化b mu_1 lambda_1##你什么都没修好##早期物种的灭绝率与优良物种完全相同。##初始参数值的可能性为-22.03909##优化可能性-这可能需要一段时间。## ##最大似然参数估计值:b:0.375753,mu_1:0.311977,lambda_1:0.230678,mu_2:0.311978##最大对数似然:-21.596081##这些参数的物种形成预计持续时间为:2.030928##这些参数的物种形成持续时间中位数为:1.543204##模拟数据集2/10##您正在优化b mu_1 lambda_1##你什么都没修好##早期物种的灭绝率与优良物种完全相同。##初始参数值的可能性为-57.99061##优化可能性-这可能需要一段时间。## ##最大似然参数估计值:b:0.312123,mu_1:0.081059,lambda_1:0.190419,mu_2:0.0810.59##最大对数似然:-57.720450##这些参数的物种形成预计持续时间为:2.943368##这些参数的物种形成持续时间中位数为:2.365253##模拟数据集3/10##您正在优化b mu_1 lambda_1##你什么都没修好##早期物种的灭绝率与优良物种完全相同。##初始参数值的可能性为-115.261##优化可能性-这可能需要一段时间。##使用的参数值会导致数值问题。##使用的参数值会导致数值问题。##使用的参数值会导致数值问题。##使用的参数值会导致数值问题。##使用的参数值会导致数值问题。##使用的参数值会导致数值问题。##使用的参数值会导致数值问题。##使用的参数值会导致数值问题。## ##最大似然参数估计值:b:751.298215,mu_1:751.000348,lambda_1:0.004574,mu_2:751.00048##最大对数似然:-111.629201##这些参数的物种形成预计持续时间为:0.386462##这些参数的物种形成持续时间中位数为:0.310353##模拟数据集10个中的4个##您正在优化b mu_1 lambda_1##你什么都没修好##早期物种的灭绝率与优良物种完全相同。##初始参数值的可能性为-107.9402##优化可能性-这可能需要一段时间。## ##最大似然参数估计值:b:0.271860,mu_1:0.000000,lambda_1:0.126555,mu_2:0.000000##最大对数似然:-106.870092##这些参数的物种形成预计持续时间为:4.218409##这些参数的物种形成持续时间中位数为:3.570808##模拟数据集5/10##您正在优化b mu_1 lambda_1##你什么都没修好##早期物种的灭绝率与优良物种完全相同。##初始参数值的可能性为-47.84195##优化可能性-这可能需要一段时间。## ##最大似然参数估计值:b:0.709877,mu_1:0.574456,lambda_1:0.225125,mu_2:0.574456##最大对数似然:-46.601652##这些参数的物种形成预计持续时间为:1.643556##这些参数的物种形成持续时间中位数为:1.279479##模拟数据集6/10##您正在优化b mu_1 lambda_1##你什么都没修好##早期物种的灭绝率与优良物种完全相同。##初始参数值的可能性为-187.144##优化可能性-这可能需要一段时间。## ##最大似然参数估计值:b:13.979806,mu_1:13.679004,lambda_1:0.020678,mu_2:13.679005##最大对数似然:-183.432908##这些参数的物种形成预计持续时间为:1.413933##这些参数的物种形成持续时间中位数为:1.171087##模拟数据集7(共10个)##您正在优化b mu_1 lambda_1##你什么都没修好##早期物种的灭绝率与优良物种完全相同。##初始参数值的可能性为-41.38109##优化可能性-这可能需要一段时间。## ##最大似然参数估计值:b:0.492110,mu_1:0.309936,lambda_1:0.059444,mu_2:0.30993##最大对数似然:-40.448749##这些参数的物种形成预期持续时间为:4.546741##这些参数的物种形成持续时间中位数为:3.828187##模拟数据集8/10##您正在优化b mu_1 lambda_1##你什么都没修好##早期物种的灭绝率与优良物种完全相同。##初始参数值的可能性为-87.55681##优化可能性-这可能需要一段时间。## ##最大似然参数估计值:b:0.300024,mu_1:0.000001,lambda_1:0.153513,mu_2:0.0000001##最大对数似然:-86.151794##这些参数的预计物种形成持续时间为:3.610683##这些参数的物种形成持续时间中位数为:3.031341##模拟数据集9/10##您正在优化b mu_1 lambda_1##你什么都没修好##早期物种的灭绝率与优良物种完全相同。##初始参数值的可能性为-100.522##优化可能性-这可能需要一段时间。## ##最大似然参数估计值:b:0.209810,mu_1:0.000000,lambda_1:0.393479,mu_2:0.000000##最大对数似然:-99.916686##这些参数的物种形成预计持续时间为:2.036930##这些参数的物种形成持续时间中位数为:1.540704##10个模拟数据集中的10个##您正在优化b mu_1 lambda_1##你什么都没修好##早期物种的灭绝率与优良物种完全相同。##初始参数值的可能性为-61.11511##优化可能性-这可能需要一段时间。## ##最大似然参数估计值:b:0.173103,mu_1:0.000000,lambda_1:0.890545,mu_2:0.000000##最大对数似然:-60.368468##这些参数的物种形成预计持续时间为:1.026129##这些参数的物种形成持续时间中位数为:0.738873
9 |
0.3757529 |
0.3119773 |
0.2306781 |
0.3119773 |
-21.59608 |
三 |
0 |
2.0309277 |
1.5432035 |
23 |
0.3121229 |
0.0810590 |
0.1904194 |
0.0810590 |
-57.72045 |
三 |
0 |
2.9433681 |
2.3652530 |
40 |
751.2982150 |
751.0003476 |
0.0045737 |
751.0003476 |
-111.62920 |
三 |
0 |
0.3864617 |
0.3103533 |
41 |
0.2718601 |
0 |
0.1265550 |
0 |
-106.87009 |
三 |
0 |
4.2184093 |
3.5708078 |
19 |
0.7098773 |
0.5744562 |
0.2251248 |
0.5744562 |
-46.60165美元 |
三 |
0 |
1.6435563 |
1.2794793 |
69 |
13.9798056 |
13.6790037 |
0.0206780 |
13.6790037 |
-183.43291 |
三 |
0 |
1.4139334 |
1.1710870 |
15 |
0.4921098 |
0.3099361 |
0.0594435 |
0.3099361 |
-40.44875 |
三 |
0 |
4.5467409 |
3.8281874 |
35 |
0.3000241 |
0.0000011 |
0.1535128 |
0.0000011 |
-86.15179 |
三 |
0 |
3.6106829 |
3.0313409 |
38 |
0.2098101 |
0 |
0.3934793 |
0 |
-99.91669 |
三 |
0 |
2.0369305 |
1.5407041 |
23 |
0.1731033 |
0 |
0.8905452 |
0 |
-60.36847 |
三 |
0 |
1.0261295 |
0.7388728 |
从bootstrap分析中,我们得到
将其放入表格中:
分布式电源<- 旋转(df,列表(b条=b条[[1]]十亿美元,mu_1=b条[[1]]$mu_1,λ_1=b条[[1]]$lambda_1,二氧化锰=b条[[1]]$mu_2,洛格里克=b条[[1]]$loglik,美元,数据流=b条[[1]]$df,转换=b条[[1]]$转换),列表(b条=b[[三]]十亿美元,mu_1=b条[[三]]$mu_1,λ_1=b条[[三]]$lambda_1,二氧化锰=b条[[三]]$mu_2,loglik公司=b[[三]]$loglik,美元,数据流=b条[[三]]$df,转换=b条[[三]]$转换))分布式电源
##b mu_1λ_1 mu_2 loglik df conv##ML 0.2817166 1.003351e-01 0.206350020 1.003351-01-37.12210 3 0##真实值0.30000001.00000e-01 0.200000001.00000e-01-37.32468 NA NA##3 0.2817148 1.003351e-01 0.206351748 1.003351-01-37.12210 3 0##4 0.3757529 3.119773e-01 0.230678073 3.119773e-01-21.59608 3 0##5 0.3121229 8.105904e-02 0.190419381 8.105904 e-02-57.72045 3 0##6 751.2982150 7.510003e+02 0.004573677 7.510003e+02-111.62920 3 0##7 0.2718601 3.331886e-08 0.12655041 3.331886-08-106.87009 3 0##8 0.7098773 5.744562e-01 0.225124828 5.744562-01-46.60165 3 0##9 13.9798056 1.367900e+01 0.020678046 1.367900 e+01-183.43291 3 0##10 0.4921098 3.099361e-01 0.059443526 3.099361 e-01-40.44875 3 0##11 0.3000241 1.094309e-06 0.153512850 1.094309-06-86.15179 3 0##12 0.2098101 4.833861e-08 0.393479254 4.833861-08-99.91669 3 0##13 0.1731033 9.079251e-10 0.890545200 9.079251-10-60.36847 3 0
行名称(差分)<- c(c)(“ML”,“正确”,“ML2”,粘贴(“BS”,1:endmc,9月= ""))编织::卡布尔的(差分)
毫升 |
0.2817166 |
0.1003351 |
0.2063500 |
0.1003351 |
-37.12210 |
三 |
0 |
真的 |
0.3000000 |
0.1000000 |
0.2000000 |
0.1000000 |
-37.32468 |
不适用 |
不适用 |
ML2级 |
0.2817148 |
0.1003351 |
0.2063517 |
0.1003351 |
-37.12210 |
三 |
0 |
英国标准1 |
0.3757529 |
0.3119773 |
0.2306781 |
0.3119773 |
-21.59608 |
三 |
0 |
英国标准2 |
0.3121229 |
0.0810590 |
0.1904194 |
0.0810590 |
-57.72045美元 |
三 |
0 |
英国标准3 |
751.2982150 |
751.0003476 |
0.0045737 |
751.0003476 |
-111.62920 |
三 |
0 |
英国标准4 |
0.2718601 |
0 |
0.1265550 |
0 |
-106.87万 |
三 |
0 |
英国标准5 |
0.7098773 |
0.5744562 |
0.2251248 |
0.5744562 |
-46.60165 |
三 |
0 |
英国标准6 |
13.9798056 |
13.6790037 |
0.0206780 |
13.6790037 |
-183.43291 |
三 |
0 |
英国标准7 |
0.4921098 |
0.3099361 |
0.0594435 |
0.3099361 |
-40.44875 |
三 |
0 |
英国标准8 |
0.3000241 |
0.0000011 |
0.1535128 |
0.0000011 |
-86.15179 |
三 |
0 |
英国标准9 |
0.2098101 |
0 |
0.3934793 |
0 |
-99.91669 |
三 |
0 |
英国标准10 |
0.1731033 |
0 |
0.8905452 |
0 |
-60.36847 |
三 |
0 |
我们期望行ML和ML2是相同的。他们的价值观确实非常相似。
我们可以计算
ml_b(百万磅)<- b条[[1]]十亿美元ml_mu_1<- b条[[1]]$mu_1ml_la_1<- b条[[1]]λ_1美元ml_mu_2<- b条[[1]]$mu_2ml参数1<- c(c)(ml_b、ml_mu_1、ml_la_1、ml _mu_2)ml_pars2<- c(c)(电导率、btorf、soc、,0,“lsoda”)我<- pbd日志链接(第1部分=ml_pars1,第2部分=ml_pars2,快速公交系统=快速交通工具)打印(l)
## [1] -37.1221
#创建.md、.html和.pdf文件setwd(粘贴(getwd(),“vignettes”,sep=“/”))针织(“PBD_ML_demo.Rmd”)markdown::markdown ToHTML('PBD_ML_demo.md','PBD_ML_demo.html',options=c(“use_xhml”))系统(“pandoc-s PBD_ML_demo.html-o PBD_ML_demo.pdf”)