W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
當(dāng)模擬真實(shí)世界數(shù)據(jù)用于回歸分析時(shí),我們觀察到,很少情況下,模型的方程是給出線性圖的線性方程。大多數(shù)時(shí)候,真實(shí)世界數(shù)據(jù)模型的方程涉及更高程度的數(shù)學(xué)函數(shù),如3的指數(shù)或sin函數(shù)。在這種情況下,模型的圖給出了曲線而不是線。線性和非線性回歸的目的是調(diào)整模型參數(shù)的值,以找到最接近您的數(shù)據(jù)的線或曲線。在找到這些值時(shí),我們將能夠以良好的精確度估計(jì)響應(yīng)變量。
在最小二乘回歸中,我們建立了一個(gè)回歸模型,其中來自回歸曲線的不同點(diǎn)的垂直距離的平方和被最小化。我們通常從定義的模型開始,并假設(shè)系數(shù)的一些值。然后我們應(yīng)用R語言的nls()函數(shù)獲得更準(zhǔn)確的值以及置信區(qū)間。
在R語言中創(chuàng)建非線性最小二乘測(cè)試的基本語法是 -
nls(formula, data, start)
以下是所使用的參數(shù)的描述 -
formula是包括變量和參數(shù)的非線性模型公式。
data是用于計(jì)算公式中變量的數(shù)據(jù)框。
start是起始估計(jì)的命名列表或命名數(shù)字向量。
我們將考慮一個(gè)假設(shè)其系數(shù)的初始值的非線性模型。 接下來,我們將看到這些假設(shè)值的置信區(qū)間是什么,以便我們可以判斷這些值在模型中有多好。
所以讓我們考慮下面的方程為這個(gè)目的 -
a = b1*x^2+b2
讓我們假設(shè)初始系數(shù)為1和3,并將這些值擬合到nls()函數(shù)中。
xvalues <- c(1.6,2.1,2,2.23,3.71,3.25,3.4,3.86,1.19,2.21) yvalues <- c(5.19,7.43,6.94,8.11,18.75,14.88,16.06,19.12,3.21,7.58) # Give the chart file a name. png(file = "nls.png") # Plot these values. plot(xvalues,yvalues) # Take the assumed values and fit into the model. model <- nls(yvalues ~ b1*xvalues^2+b2,start = list(b1 = 1,b2 = 3)) # Plot the chart with new data by fitting it to a prediction from 100 data points. new.data <- data.frame(xvalues = seq(min(xvalues),max(xvalues),len = 100)) lines(new.data$xvalues,predict(model,newdata = new.data)) # Save the file. dev.off() # Get the sum of the squared residuals. print(sum(resid(model)^2)) # Get the confidence intervals on the chosen values of the coefficients. print(confint(model))
當(dāng)我們執(zhí)行上面的代碼,它產(chǎn)生以下結(jié)果 -
[1] 1.081935 Waiting for profiling to be done... 2.5% 97.5% b1 1.137708 1.253135 b2 1.497364 2.496484
我們可以得出結(jié)論,b1的值更接近1,而b2的值更接近2而不是3。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: