最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

拓端tecdat|R語言生態(tài)學(xué)建模:增強(qiáng)回歸樹(BRT)預(yù)測短鰭鰻生存分布和影響因素

2021-07-25 22:38 作者:拓端tecdat  | 我要投稿

原文鏈接:http://tecdat.cn/?p=22482

原文出處:拓端數(shù)據(jù)部落公眾號

引言

本文是一個簡短的教程,在R中擬合BRT(提升回歸樹)模型。我們的目標(biāo)是使BRT(提升回歸樹)模型應(yīng)用于生態(tài)學(xué)數(shù)據(jù),并解釋結(jié)果。

本教程的目的是幫助你學(xué)習(xí)如何在R中開發(fā)一個BRT模型。

?示例數(shù)據(jù)

有兩套短鰭鰻的記錄數(shù)據(jù)。一個用于模型訓(xùn)練(建立),一個用于模型測試(評估)。在下面的例子中,我們加載的是訓(xùn)練數(shù)據(jù)。存在(1)和不存在(0)被記錄在第2列。環(huán)境變量在第3至14列。


  1. > head(train)

擬合模型

擬合gbm模型,你需要決定使用什么設(shè)置,本文為你提供經(jīng)驗(yàn)法則使用的信息。這些數(shù)據(jù)有1000個地點(diǎn),包括202條短鰭鰻的存在記錄。你可以假設(shè):1. 有足夠的數(shù)據(jù)來建立具有合理復(fù)雜性的相互作用模型? 2. 大約0.01的lr學(xué)習(xí)率可能是一個合理的初始點(diǎn)。下面的例子顯示如何確定最佳樹數(shù)(nt)。

  1. step(data= train, ?x = 3:13,

  2. family = "bernoulli", ?comp = 5,

  3. lr = 0.01, bag.fr = 0.5)

對提升回歸樹模型進(jìn)行交叉驗(yàn)證優(yōu)化。
使用1000個觀測值和11個預(yù)測因子,創(chuàng)建10個50棵樹的初始模型。

上面我們使用了交叉驗(yàn)證的。我們定義了:數(shù)據(jù);預(yù)測變量;因變量--表示物種數(shù)據(jù)的列號;樹的復(fù)雜度--我們首先嘗試樹的復(fù)雜度為5;學(xué)習(xí)率--我們嘗試用0. 01。

運(yùn)行一個如上所述的模型,將輸出進(jìn)度報(bào)告,做出圖形。首先,你能看到的東西。這個模型是用默認(rèn)的10倍交叉驗(yàn)證法建立的。黑色實(shí)心曲線是預(yù)測偏差變化的平均值,點(diǎn)狀曲線是1個標(biāo)準(zhǔn)誤差(即在交叉驗(yàn)證上測量的結(jié)果)。紅線表示平均值的最小值,綠線表示生成該值的樹的數(shù)量。模型對象中返回的最終模型是在完整的數(shù)據(jù)集上建立的,使用的是最優(yōu)的樹數(shù)量。

length(fitted)

返回的結(jié)果包含 fitted - 來自最終樹的擬合值,fitted.vars - 擬合值的方差, residuals - 擬合值的殘差,contribution - 變量的相對重要性。 statistics - 相關(guān)的評估統(tǒng)計(jì)量。cv.statistics 這些是最合適的評估統(tǒng)計(jì)數(shù)據(jù)。

我們在每個交叉驗(yàn)證中計(jì)算每個統(tǒng)計(jì)量(在確定的最佳樹數(shù)下,根據(jù)所有交叉驗(yàn)證中預(yù)測偏差的平均變化進(jìn)行計(jì)算),然后在此呈現(xiàn)這些基于交叉驗(yàn)證的統(tǒng)計(jì)量的平均值和標(biāo)準(zhǔn)誤差。 weights - 擬合模型時使用的權(quán)重(默認(rèn)情況下,每個觀測值為 "1",即權(quán)重相等)。 trees. fitted - 階段性擬合過程中每一步所擬合的樹的數(shù)量記錄;training.loss.values - 訓(xùn)練數(shù)據(jù)上偏差的階段性變化 ,cv.values - 階段性過程中每一步所計(jì)算的預(yù)測偏差的CV估計(jì)值的平均值。
你可以用摘要函數(shù)查看變量的重要性

> summary(lr )

選擇設(shè)置

以上是對設(shè)置的初步猜測,使用了Elith等人(2008)中討論的經(jīng)驗(yàn)法則。它做出的模型只有650棵樹,所以我們的下一步將是減少lr。例如,嘗試lr = 0.005,爭取超過1000棵樹。

  1. step(data=train, ?x = 3:13,

  2. tree.co ?= 5,

  3. + lr = 0.005

為了探索其他設(shè)置是否表現(xiàn)更好,你可以將數(shù)據(jù)分成訓(xùn)練集和測試集,或者使用交叉驗(yàn)證結(jié)果,改變tc、lr和bagging,然后比較結(jié)果。

簡化模型

簡化會建立了許多模型,所以它可能很慢。在其中,我們評估了簡化lr為0.005的模型的價值,但只測試剔除最多5個變量("n.drop "參數(shù);默認(rèn)是自動規(guī)則一直持續(xù)到預(yù)測偏差的平均變化超過gbm.step中計(jì)算的原始標(biāo)準(zhǔn)誤差)。

對于我們的運(yùn)行,估計(jì)要剔除的最佳變量數(shù)是1;可以使用紅色垂直線指示的數(shù)字。現(xiàn)在,建立一個剔除1個預(yù)測變量的模型,使用[[1]]表示我們要剔除一個變量。

step( ?x= pred.list[[1]], )

現(xiàn)在這已經(jīng)形成了一個新的模型,但是考慮到我們并不特別想要一個更簡單的模型(因?yàn)樵谶@種規(guī)模的數(shù)據(jù)集中,包含的變量貢獻(xiàn)很小是可以接受的),我們不會繼續(xù)使用它。

繪制模型的函數(shù)和擬合值

由我們的函數(shù)創(chuàng)建的BRT模型的擬合函數(shù)可以用plot來繪制。

> ?plot( lr005 )

這個函數(shù)的附加參數(shù)允許對圖進(jìn)行平滑表示。根據(jù)環(huán)境空間內(nèi)觀測值的分布,擬合函數(shù)可以給出與每個預(yù)測因子有關(guān)的擬合值分布。

fits( lr005)

每張圖上方的數(shù)值表示與每個非因素預(yù)測因子有關(guān)的擬合值的加權(quán)平均值。

繪制交互作用

該代碼評估數(shù)據(jù)中成對的交互作用的程度。

inter( lr005)

返回一個列表。前兩個部分是對結(jié)果的總結(jié),首先是5個最重要的交互作用的排名列表,其次是所有交互作用的表格。

f$intera

你可以像這樣繪制交互作用。

persp( lr005, ?z.range=c(0,0.6)

對新數(shù)據(jù)進(jìn)行預(yù)測

如果您想對一組地點(diǎn)進(jìn)行預(yù)測(而不是對整個地圖進(jìn)行預(yù)測),一般的程序是建立一個數(shù)據(jù)框架,行代表地點(diǎn),列代表您模型中的變量。我們用于預(yù)測站點(diǎn)的數(shù)據(jù)集在一個名為test的文件中。 "列需要轉(zhuǎn)換為一個因子變量,其水平與建模數(shù)據(jù)中的水平一致。使用predict對BRT模型中的站點(diǎn)進(jìn)行預(yù)測,預(yù)測結(jié)果在一個名為preds的向量中。

  1. preds <- predict(lr005,test,

  2. deviance(obs=test, pred=preds)

  1. > d <- cbind(obs, preds)

  2. > e <- evaluate(p=pres, a=abs)

gbm中預(yù)測的一個有用的特點(diǎn)是可以預(yù)測不同數(shù)量的樹。

  1. tree<- seq(100, 5000, by=100)

  2. predict( n.trees=tree, "response")

上面的代碼會形成一個矩陣,每一列都是模型對tree.list中該元素所指定的樹數(shù)量的預(yù)測,例如,第5列的預(yù)測是針對tree.list[5]=500棵樹。現(xiàn)在來計(jì)算所有這些結(jié)果的偏差,然后繪制。

  1. > for (i in 1:50) {

  2. calc.devi(obs,

  3. + pred[,i])

  4. + }

  5. > plot(tree.list,deviance

空間預(yù)測

這里我們展示了如何對整張地圖進(jìn)行預(yù)測。

> plot(grids)

我們用一個常量值("因子 "類)創(chuàng)建一個data.frame,并將其傳遞給預(yù)測函數(shù)。

  1. > p <- predict(grids, lr005,

  2. > plot(p)

最受歡迎的見解

1.R語言多元Logistic邏輯回歸 應(yīng)用案例

2.面板平滑轉(zhuǎn)移回歸(PSTR)分析案例實(shí)現(xiàn)

3.matlab中的偏最小二乘回歸(PLSR)和主成分回歸(PCR)

4.R語言泊松Poisson回歸模型分析案例

5.R語言回歸中的Hosmer-Lemeshow擬合優(yōu)度檢驗(yàn)

6.r語言中對LASSO回歸,Ridge嶺回歸和Elastic Net模型實(shí)現(xiàn)

7.在R語言中實(shí)現(xiàn)Logistic邏輯回歸

8.python用線性回歸預(yù)測股票價格

9.R語言如何在生存分析與Cox回歸中計(jì)算IDI,NRI指標(biāo)


拓端tecdat|R語言生態(tài)學(xué)建模:增強(qiáng)回歸樹(BRT)預(yù)測短鰭鰻生存分布和影響因素的評論 (共 條)

分享到微博請遵守國家法律
盐池县| 淮南市| 正阳县| 绍兴县| 定安县| 古蔺县| 陆丰市| 灵山县| 黄冈市| 保康县| 普定县| 上栗县| 古田县| 恩施市| 遂溪县| 淅川县| 建昌县| 永和县| 张家川| 大姚县| 曲阜市| 昔阳县| 秀山| 衡山县| 长丰县| 乌鲁木齐县| 博乐市| 胶南市| 达孜县| 葵青区| 浮梁县| 灯塔市| 洪江市| 临夏市| 文安县| 衢州市| 手游| 稷山县| 江源县| 济宁市| 永济市|