R語言非線性方程數(shù)值分析生物降解、植物生長數(shù)據(jù):多項(xiàng)式、漸近回歸、負(fù)指數(shù)方程、冪
全文鏈接:https://tecdat.cn/?p=33742
原文出處:拓端數(shù)據(jù)部落公眾號
簡介
在選擇最佳擬合實(shí)驗(yàn)數(shù)據(jù)的方程時(shí),可能需要一些經(jīng)驗(yàn)。當(dāng)我們沒有文獻(xiàn)信息時(shí)該怎么辦?我們建立模型的方法通常是經(jīng)驗(yàn)主義的。也就是說,我們觀察過程,繪制數(shù)據(jù)并注意到它們遵循一定的模式。
例如,我們的客戶可能觀察到一種植物對某種毒性物質(zhì)的反應(yīng)是S形的。因此,我們需要一個(gè)S形函數(shù)來擬合我們的數(shù)據(jù),但是,我們?nèi)绾芜x擇正確的方程呢?
我認(rèn)為列出最常見的方程以及它們的主要特性和參數(shù)的意義可能會(huì)有用。因此,我還將給出相應(yīng)的R函數(shù)。
非線性回歸的一個(gè)問題是它以迭代方式工作:我們需要提供模型參數(shù)的初始猜測值,算法逐步調(diào)整這些值,直到(有希望)收斂到近似最小二乘解。根據(jù)我的經(jīng)驗(yàn),提供初始猜測可能會(huì)很麻煩。因此,使用包含R函數(shù)非常方便,這可以極大地簡化擬合過程。
讓我們加載必要的包。
library(nlme)
曲線形狀
曲線可以根據(jù)其形狀進(jìn)行簡單分類,這對于選擇正確的曲線來研究過程非常有幫助。我們有:
多項(xiàng)式
線性方程
二次多項(xiàng)式
凹/凸曲線(無拐點(diǎn))
指數(shù)方程
漸近方程
負(fù)指數(shù)方程
冪曲線方程
對數(shù)方程
矩形雙曲線
Sigmoid 曲線
邏輯方程
Gompertz 方程
對數(shù)-邏輯方程(Hill 方程)
Weibull 類型 1
Weibull 類型 2
具有最大值的曲線
Brain-Cousens 方程
多項(xiàng)式
多項(xiàng)式是描述生物過程的最靈活的工具。它們簡單,并且雖然是曲線狀的,但它們在參數(shù)上是線性的,并且可以通過使用線性回歸來擬合。一個(gè)缺點(diǎn)是它們不能描述漸近過程,而這在生物學(xué)中非常常見。此外,它們?nèi)菀走^度擬合,因?yàn)槲覀兛赡軙?huì)試圖添加項(xiàng)來改善擬合,而很少關(guān)心生物現(xiàn)實(shí)性。
線性方程
顯然,這不是一條曲線,盡管值得在這里提到。方程為:

其中 b0 是當(dāng) X = 0 時(shí) Y 的值,b1 是斜率,即 X 增加/減少一個(gè)單位時(shí) Y 的增加/減少。當(dāng) b1>0 時(shí),Y 隨著 X 的增加而增加,否則隨之減少。
二次方程
該方程為:

其中,當(dāng)?X=0?時(shí),?b0?是?Y 的值,當(dāng)?X=0?時(shí),?b1和?b2?各自沒有明確的生物學(xué)意義。然而,考慮到一階導(dǎo)數(shù)為:

它測量了在?X 增加一個(gè)單位時(shí)?Y 的增加/減少。我們可以看到這種增加/減少不是恒定的,而是根據(jù)?X 的水平而變化。
在最大值/最小值處,響應(yīng)為:

R 中的多項(xiàng)式擬合
在 R 中,可以使用線性模型函數(shù) 'lm()' 進(jìn)行多項(xiàng)式擬合。雖然這不是高效的方法,但在某些情況下,我發(fā)現(xiàn)自己需要使用 'nls()' 或 'drm()' 函數(shù)進(jìn)行多項(xiàng)式擬合。
凹/凸曲線
讓我們進(jìn)入非線性領(lǐng)域。凹/凸曲線描述了非線性關(guān)系,通常帶有漸近線和無拐點(diǎn)。我們將列出以下最常用的曲線類型。
指數(shù)方程
指數(shù)方程描述了遞增/遞減的趨勢,具有恒定的相對速率。最常見的參數(shù)化形式是:

其他可能的參數(shù)化形式包括:

上述參數(shù)化形式是等價(jià)的,可以通過設(shè)置


以及

參數(shù)的含義很明確:當(dāng)?X=0?時(shí),?a?是?Y 的值,而?k?表示 X 增加一個(gè)單位對 Y 的相對增加/減少。如果我們計(jì)算指數(shù)函數(shù)的一階導(dǎo)數(shù):
D( expression(a * exp(k * X)), "X")

從上面我們可以得出結(jié)論:通過 X 繪制的切線的斜率為?k,也就是 (k, Y)。因此,Y 增加的量與其實(shí)際水平成比例。
moel <- dm(Cnc ~ ime fc = DRC.pDcay(), ? ? ? ? ? ? daa =eraion)sumay(mdel)

plt(mdel, log="")

'drc' 包還包含 'EXD.2()' 函數(shù),它擬合了一個(gè)稍微不同參數(shù)化的指數(shù)衰減模型:

其中,d與上述模型中的a相同,e=1/k。

我將同時(shí)展示EXD.2(藍(lán)色曲線)和EXD.3(紅色曲線)的示例。
R
cuve(EXD.fun(x, 0, 100, -1/0.05), co ? ? ?xlim = c(0, 100), ylim = c(0,100))cure(EXD.fun(x, 20, 100, -1/0.05), col="red", add = T)

漸近回歸模型
漸近回歸模型描述了有限增長,其中當(dāng)X趨于無窮大時(shí),Y趨近于一個(gè)水平漸近線。這個(gè)方程有多種不同的參數(shù)化形式,也被稱為單分子生長、Mitscherlich定律或von Bertalanffy定律。
由于其生物學(xué)意義,最常見的參數(shù)化形式是:

其中a是最大可達(dá)到的Y,b是x=0時(shí)Y的值為0,c與Y隨X增加而相對速率成比例。事實(shí)上,我們可以看出它的一階導(dǎo)數(shù)是:
R
D(exesion(a - (a - b) * exp (- c * X)), "X")

即:

我們可以看到生長的相對速率并不是常數(shù)(如指數(shù)模型中),而是在Y=0時(shí)最大,并隨著Y的增加而減小。
讓我們模擬一個(gè)示例。
R
moel <- rmY ~ X, fct = DC.syReg())plot(odl, log="",

負(fù)指數(shù)方程
如果我們在上述方程中加上限制條件b=0,我們得到以下方程,通常被稱為“負(fù)指數(shù)方程”:

這個(gè)方程的形狀與漸近回歸類似,但當(dāng)X=0時(shí),Y=0(曲線通過原點(diǎn))。它通常用于建模吸收的光合有效輻射(Y=PARa)與入射光合有效輻射(a=PARi)、葉面積指數(shù)(X=LAI)和消光系數(shù)(c=k)之間的關(guān)系。
冪函數(shù)曲線
冪函數(shù)曲線也被稱為弗洛伊德方程或者等比方程,最常用的參數(shù)化形式如下:
這個(gè)曲線與X的對數(shù)上的指數(shù)曲線等效,實(shí)際上可以表示為:
對于X→∞,曲線并沒有漸近線。斜率(一階導(dǎo)數(shù))為:
D(expression(a * X^b), "X")
我們可以看到兩個(gè)參數(shù)與曲線的斜率有關(guān),b決定了曲線的形狀。當(dāng)0<?b<1時(shí),隨著X的增加,Y也會(huì)增加,曲線呈現(xiàn)凸向上的形狀。例如,這個(gè)模型可以用于根據(jù)采樣面積來建模植物物種數(shù)量(Muller-Dumbois方法)。
moel <- drm(nuSces ~ Aea, fct = DCowCurve(), ? ? ? ? ? ? data = spieAra)summary(mdel)
plot(oel, log="")
如果b<0,曲線將呈現(xiàn)凹向上的形狀,Y隨著X的增加而減少。
curve
如果b>1且為負(fù)數(shù),曲線將呈現(xiàn)凹向上的形狀,Y隨著X的增加而增加。
curve(powerC
對數(shù)方程
這確實(shí)是一個(gè)對數(shù)轉(zhuǎn)化后的線性模型:
可以使用 'lm()' 函數(shù)來擬合對數(shù)方程。
# b 是正值model <- lm(Y ~ log(X) )summary(model)
summary(model)
plot(model,
# b 是負(fù)值X <- c(1,2,4,5,7,12)a <- 2; b <- -0.5summary(model)
plot(model, log="",
Michaelis-Menten方程
這是一個(gè)雙曲線形狀的方程,通常參數(shù)化為:
這條曲線朝上凸起,隨著X′?的增加而增加,直到達(dá)到一個(gè)平臺水平。參數(shù)a′?表示高位漸近線(對于X→∞),而b′?是使得響應(yīng)等于a/2的X值。事實(shí)上,很容易證明:

由此可得,b=x50=50。
斜率(一階導(dǎo)數(shù))為:
D(expression( (a*X) / (b + X) ), "X")

從這里可以看出,初始斜率(在X=0時(shí))為?i=a/b。
{r}
res <- rnorm(8, 0, 0.1)Y <- Ye + res# nls擬合mol <- nls(Y ~ SSien(X, a, b))summary(model)

{r}
# drm擬合summary(model)

{r}
plot(model, log="", main = "Mic

"drc"包還包含自啟動(dòng)函數(shù) "MM.3()",其中當(dāng) X=0 時(shí),允許 Y ≠ c ≠ 0。
產(chǎn)量損失/密度曲線
雜草與農(nóng)作物競爭研究使用重新參數(shù)化的Michaelis-Menten模型。實(shí)際上,Michaelis-Menten的初始斜率可以被視為競爭的測量,即在首次添加雜草到系統(tǒng)中時(shí)產(chǎn)量(Y)的減少。因此,將Michaelis-Methen模型重新參數(shù)化以將i=a/b=α/β作為顯式參數(shù)進(jìn)行描述。重新參數(shù)化的方程為:

該模型可用于描述雜草密度對產(chǎn)量損失的影響。因此需要使用無雜草的產(chǎn)量和以下方程來計(jì)算產(chǎn)量損失(百分比):

其中,YW是觀測到的產(chǎn)量,YWF是無雜草的產(chǎn)量。下面以日葵種植在增加密度的Sinapis arvensis雜草中的情況為例進(jìn)行說明。
{r}
competition$YL <- (Ywf - competition$Yield) / Ywf * 100# nls擬合summary(model)

{r}
# drm擬合summary(model)

{r}
plot(model, log="

上述擬合約束了當(dāng)雜草密度為0時(shí),產(chǎn)量損失為0。
確實(shí),從上述方程我們推導(dǎo)出:

和所示:

model <- drsummary(model)

plot(model

S 型曲線
S 型曲線具有 S 形狀,可以是遞增、遞減、對稱或非對稱的。它們有許多參數(shù)化方法,有時(shí)可能讓人困惑。因此,我們將展示一種常見的參數(shù)化方法,這在生物學(xué)方面非常有用。
邏輯曲線
邏輯曲線來源于累積邏輯分布函數(shù);曲線在拐點(diǎn)處對稱,并可以參數(shù)化為:

其中,d 是上漸近線,c 是下漸近線,e 是在 d 和 c 之間產(chǎn)生響應(yīng)的 X 值,而 b 是拐點(diǎn)附近的斜率。參數(shù) b 可以是正數(shù)或負(fù)數(shù),因此 Y 可以隨著 X 的增加而增加或減少。
邏輯函數(shù)非常有用,例如用于植物生長研究。
model <- dm(weightFree ~ DAE, fct =sum

plot(model, log="",

Gompertz 曲線
Gompertz 曲線有許多參數(shù)化方法。我們傾向于使用與邏輯函數(shù)相似的參數(shù)化方法:

其中參數(shù)的含義與邏輯函數(shù)中的參數(shù)相同。不同之處在于該曲線在拐點(diǎn)處不對稱。
另一種不對稱性
我們已經(jīng)看到,相對于邏輯函數(shù),Gompertz 函數(shù)在開始時(shí)呈現(xiàn)更長的延遲,但之后穩(wěn)步上升。我們可以通過以下方式更改 Gompertz 函數(shù)來描述不同的模式:

該函數(shù)的自啟動(dòng)函數(shù)尚不可用,至少在我所知道的范圍內(nèi)。此外,我也不知道這個(gè)函數(shù)的特定名稱。
通過在圖表中比較這三個(gè)邏輯函數(shù),我們可以看到它們在偏斜和對稱性方面的差異。
curve( E.fun(x, b, c, d, e), add = T, col = "blue" )legen

基于對數(shù)的 S 型曲線
在生物學(xué)中,測量的數(shù)值通常是嚴(yán)格為正的(時(shí)間、重量、高度、計(jì)數(shù))。因此,使用對非正數(shù)也定義的函數(shù)可能看起來不現(xiàn)實(shí)。因此,通常更傾向于使用獨(dú)立變量 X 被限制為正的函數(shù)。所有上述描述的 S 型曲線都可以基于 X 的對數(shù)進(jìn)行,這樣我們可以得到更現(xiàn)實(shí)的模型。
對數(shù)-邏輯曲線
在許多應(yīng)用中,S 型響應(yīng)曲線在 x 的對數(shù)上是對稱的,這需要一個(gè)對數(shù)-邏輯曲線(對數(shù)正態(tài)曲線實(shí)際上幾乎等效,但很少使用)。例如,在生物測定中(但也在萌發(fā)測定中),對數(shù)-邏輯曲線定義如下:
參數(shù)的含義與上述邏輯方程中的含義相同。很容易看出上述方程等價(jià)于:
另一種可能的參數(shù)化方法是所謂的 Hill 函數(shù):
確實(shí):
對數(shù)-邏輯函數(shù)用于作物生長、種子萌發(fā)和生物測定,它們可以具有與邏輯函數(shù)相同的約束條件。
我們展示了一個(gè)基于對數(shù)-邏輯擬合的示例,涉及到對一個(gè)除草劑處理的甘藍(lán)菜生物測定中不斷增加劑量的關(guān)系。
mde <- dm(FW ~ Doe, fc = LL.4), data = baca)smmay(moel)
plot(model, main = "對數(shù)-邏輯方程")
Weibull 曲線(類型 1)
類型 1 Weibull 曲線與替代 Gompertz 曲線的對數(shù)-邏輯曲線相似。方程如下:
參數(shù)與上述其他 S 型曲線的含義相同。
Weibull 曲線(類型 2)
類型 2 Weibull 曲線與 Gompertz 曲線的對數(shù)-邏輯曲線相似。方程如下:
參數(shù)與上述其他 S 型曲線的含義相同。
我們將對這些 Weibull 曲線擬合數(shù)據(jù)集。
plot(model, main = "Weibull functions")plo
最受歡迎的見解
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ù)測股票價(jià)格
9.R語言如何在生存分析與Cox回歸中計(jì)算IDI,NRI指標(biāo)