非線性模型(R語言)

2021-09-30 19:24:22 字數 1933 閱讀 8611

首先,繪製出原資料的散點圖。**試下如下:

data9.3

attach(data9.3)

plot(x,y)

輸出結果為:

可以看出,這時y

yy與x

xx之間呈現出非線性,因此需要對資料進行非線性回歸分析。

**實現如下:

nls9.3

summary(nls9.3)

eebar

sesse

prey

pybar

ybar

sstrsquare

輸出結果為:

由以上輸出結果可知,對引數的估計經過6步迭代計算後收斂,而且相關指數r2=

0.9986

r^=0.9986

r2=0.9

986,說明非線性回歸擬合效果很好。同時,上述結果中對引數的顯著性檢驗顯示引數均通過顯著性檢驗。

但是,在小樣本的情況下,不可線性化的非線性回歸的殘差通暢不滿足正態性,進而使用t

tt分布進行檢驗也是無效的,因此顯著性檢驗的結果並不具有重要意義。

另外,聽過對中間量的檢視,回歸的利差平方和ssr

=15156.55

ssr=15156.55

ssr=15

156.

55,而總離差平方和sst

=14917.89

rsst=14917.89ss

t=14

917.

89r,可見非線性回歸不再滿足平方和分解式。

該例項中殘差均值為0.2856≠0

0.2856\neq0

0.2856

̸​=0

,當然,如果回歸擬合的效果好,殘差均值會接近0.

通過上述分析可以認為,y

yy與x

xx符合下面的非線性回歸:

y ^=

99.541

−99.5411+

(x4.7996

)6.7613

\hat=99.541-\frac)^}

y^​=99

.541

−1+(

4.79

96x​

)6.7

6139

9.54

1​回歸實現的**如下:

data9.4yt
model

summary(model)ctt

ypt1=t+1979 # 計算對應的年份

t2plot(t1,y,type="o",ann=false,ylim=c(0,160),xlim=c(1975,2015))

lines(t2,yp)

輸出結果為:

擬合結果為:

這裡可以不用糾結這個模型是怎麼得到的,這是乙個計量經濟學上的模型,已經給出了確切的表示式為yt=

k⋅ab

ty_=k\cdot a^}

yt​=k⋅

abt。

舉這個例子的目的是了解由於回歸迭代中的引數超過範圍而導致**運算產生無限不收斂的情況時,如何對引數取值做出限定,並使用高斯-牛頓迭代演算法(設定引數algorithm=「port」)。

線性特徵與非線性特徵 線性模型與非線性模型

這是個見仁見智的問題,也就是說,它似乎沒有乙個確定的答案,因而我們不糾結於到底把這個模型稱作 線性model or 非線性model 從這麼僵化的論戰裡跳脫出來,好好掰扯一下這個問題 若我們的樣本是線性可分的,那麼我們直接使用線性model就可以解決分類問題,如lr。下圖是lr的決策邊界示意圖 最後...

R語言線性模型glm logistic回歸模型

r語言廣義線性模型glm 函式 glm formula,family family.generator,data,control list formula資料關係,如y x1 x2 x3 family 每一種響應分布 指數分布族 允許各種關聯函式將均值和線性 器關聯起來。常用的family bino...

非線性回歸模型 二

import tensorflow as tf import numpy as np import matplotlib.pyplot as plt 使用numpy生成200個隨機點 x data np.linspace 0.8,0.8,200 np.newaxis 200行1列矩陣 noise n...