设置种子 ( 1712 )
#创建环境梯度
X(X) = 序列 ( 0 , 5 , 长度.out= 100 )
#基本物种A的模拟数据
A类 = 三 * X(X) + 2 * X(X) ^ 2 + rnorm公司 ( 100 , 标准偏差= 5 )
#捕食者物种B的模拟数据
B类 = 2 * X(X) - 三 * X(X) ^ 2 + 三 * A类 + rnorm公司 ( 100 , 标准偏差= 5 )
旧款 = 标准 ()
标准 ( mfrow公司= c(c) ( 1 , 三 ))
情节 (X、A、, 主要= “物种A意识到 \n个 和潜在利基” )
情节 (X、B、, 主要= “物种B实现了生态位” )
情节 (X, 2 * X(X) - 三 * X(X) ^ 2 , 主要= “物种B潜在生态位” )
#对于物种A,这两个模型是一致的
毫安 = 流明 (A) ~ X(X) + 我 (X) ^ 2 ))
#对于物种B,这两种模型不同:
##营养模型
m营养 = 勒姆 (B) ~ X(X) + 我 (X) ^ 2 ) + A)
##经典SDM
m_传感和诊断模块 = 勒姆 (B) ~ X(X) + 我 (X) ^ 2 ))
#显示系数的相等性
全部相等 ( 系数 (m_SDM), 系数 (m营养)[ - 4 ] + 系数 (m营养)[ 4 ] * 系数 (毫安)
#>[1]正确
#预测一致
前SDM = m_SDM(m_SDM) $ 装配值
前营养的 = 预测 (m营养,
新数据= 数据帧 ( X(X)= X中, A类= 毫安 $ 安装值))
全部相等 (pred_SDM,pred_trophic)
#>[1]正确
#SDM推断的潜在生态位
情节 (X,m_SDM) $ 拟合值, 伊林= c(c) ( - 65 , 120 ), 伊拉布= “B” ,
主要= “yB的潜在利基” )
点 (X, cbind公司 ( 1 、X、X ^ 2 ) %*% 系数 (m营养)[ - 4 ], 科尔= “红色” )
点 (X, 2 * X(X) - 三 * X(X) ^ 2 , 科尔= “蓝色” )
传奇 ( - 0.1 , 120 , 图例= c(c) ( “SDM推断的潜在利基市场” ,
“通过营养SDM推断的潜在生态位” ,
“真正的基础” ), 多氯联苯= 1 ,
科尔= c(c) ( “黑色” , “红色” , “蓝色” ), cex公司= 0.5 )
B类 = 2 * X(X) - 三 * X(X) ^ 2 + 三 * A类 ^ 2 + rnorm公司 ( 100 , 标准偏差= 5 )
旧款 = 标准 ()
标准 ( mfrow公司= c(c) ( 1 , 三 ))
情节 (X、A、, 主要= “物种A意识到 \n个 和潜在的利基市场” )
情节 (X、B、, 主要= “物种B实现了生态位” )
情节 (X, 2 * X(X) - 三 * X(X) ^ 2 , 主要= “物种B潜在生态位” )
#显示系数的相等性
全部相等 ( 系数 (m_SDM), 系数 (m营养)[ - 4 ] + 系数 (m营养)[ 4 ] * 系数 (毫安)
#>[1]“平均相对差值:0.185587”
#现在预测有所不同
前SDM = m_SDM(m_SDM) $ 装配值
前营养的 = 预测 (m营养,
新数据= 数据帧 ( X(X)= X、, A类= m_A(m_A) $ 安装值))
全部相等 (pred_SDM,pred_trophic)
#>[1]“平均相对差:53.61947”
#比较R2
cor公司 (B,pred_SDM) ^ 2
#> [1] 0.8339402
cor公司 (B,前营养) ^ 2
#> [1] 0.9605349
#生成链接层基本物种
V_A型 = 三 * X(X) - 2 * X(X) ^ 2
#转换为概率
问题A = 1 / ( 1 + 经验 ( - V_A))
#二进制数据采样
A类 = 红细胞瘤 ( n个= 100 , 尺寸= 1 , 问题= 问题_A)
#B类相同
V(_B) = - 三 * X(X) + 1 * X(X) ^ 2 + 三 * A类
问题_B = 1 / ( 1 + 经验 ( - V_B))
B类 = 红细胞瘤 ( n个= 100 , 尺寸= 1 , 问题= prob_B)
旧款 = 标准 ()
标准 ( mfrow公司= c(c) ( 1 , 三 ))
情节 (X、prob_A、, 主要= “物种A意识到 \n个 和潜在利基” )
情节 (X,prob_B, 主要= “物种B实现了生态位” )
情节 (X, 1 / ( 1 + 经验 ( - ( - 三 * X(X) + 1 * X(X) ^ 2 ))), 主要= “物种B潜在生态位” )
#对于物种A,这两个模型是一致的
毫安 = glm公司 (A) ~ X(X) + 我 (X) ^ 2 ), 家庭= 二项式 ( 链接= “逻辑” ))
#对于物种B,这两种模型不同:
m_SDM(m_SDM) = glm公司 (B) ~ X(X) + 我 (X) ^ 2 ), 家庭= 二项式 ( 链接= “逻辑” ))
m营养 = glm公司 (B) ~ X(X) + 我 (X) ^ 2 ) + A、, 家庭= 二项式 ( 链接= “逻辑” ))
#系数的相等不再成立
全部相等 ( 系数 (m_SDM), 系数 (m营养)[ - 4 ] + 系数 (m营养)[ 4 ] * 系数 (毫安)
#>[1]“平均相对差:2.305022”
#预测不再一致
前SDM = m_SDM(m_SDM) $ 装配值
前营养的 = 预测 (m营养,
新数据= 数据帧 ( X(X)= X、, A类= 毫安 $ 安装值))
全部相等 (pred_SDM,pred_trophic)
#>[1]“平均相对差:2.915665”
#营养SDM改善了预测
##SDM的B类AUC
肢解 :: 评价 ( 第页= 预处理数据管理[ 哪一个 (B) == 1 )],
一个= 前SDM[ 哪一个 (B) == 0 )] ) @ auc公司
#> [1] 0.8408333
##营养SDM的B种AUC
肢解 :: 评价 ( 第页= 前营养的[ 哪一个 (B) == 1 )],
一个= 前营养的[ 哪一个 (B) == 0 )] ) @ auc公司
#> [1] 0.8529167
#基本物种A的模拟数据
A类 = 三 * X(X) + 2 * X(X) ^ 2 + rnorm公司 ( 100 , 标准偏差= 5 )
#捕食者物种B的模拟数据
B类 = 2 * X(X) - 三 * X(X) ^ 2 + 三 * A类 + rnorm公司 ( 100 , 标准偏差= 5 )
旧款 = 标准 ()
标准 ( mfrow公司= c(c) ( 1 , 三 ))
情节 (X, 主要= “物种A意识到 \n个 和潜在利基” )
情节 (X、B、, 主要的= “物种B实现了生态位” )
情节 (X, 2 * X(X) - 三 * X(X) ^ 2 , 主要= “物种B潜在生态位” )
图书馆 (randomForest)
#>随机森林4.7-1.1
#>键入rfNews()查看新功能/更改/错误修复。
#物种A
毫安 = 随机森林 (A) ~ X(X) + 我 (X) ^ 2 ))
#B类营养性SDM
m营养 = 随机森林 (B) ~ X(X) + 我 (X) ^ 2 ) + A)
#B类经典SDM
m_SDM(m_SDM) <- 随机森林 (B) ~ X(X) + 我 (X) ^ 2 ))
#现在预测有所不同
前SDM = m_SDM(m_SDM) $ 预测
前营养的 = 预测 (m营养,
新数据= 数据帧 ( X(X)= X中, A类= 毫安 $ 预测))
全部相等 (pred_SDM,pred_trophic)
#>[1]“平均相对差:0.08021014”
#比较R2
cor公司 (B,pred_SDM) ^ 2
#> [1] 0.8075415
cor公司 (B,前营养) ^ 2
#> [1] 0.8670482