首先,繪製出原資料的散點圖。**試下如下:
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...