一、問題
有兩個向量,x和y,其中是成對的觀察:(x1, y1), (x2, y2), …, (xn, yn)。你覺得兩者間有某種線性關係,想構建兩者間的回歸模型。
二、解決方案
用lm函式做線性回歸,得到係數:
**> lm(y ~ x)
call: lm(formula = y ~ x)
coefficients:
(intercept) 17.72
三、討論
簡單的線性回歸涉及到兩個變數:乙個是**(predictor)變數,通常稱為x;另乙個是響應(response)變數,通常稱為y。回歸會用常見的最小二乘演算法擬合線性模型:
yi = β0 + β1xi + εi
其中β0和β1是回歸係數,εi表示誤差。
lm函式可以實現線性回歸。主要引數是模型公式,例如y ~ x。公式中波浪號(~)左側的是響應變數,右側是**變數。函式會估計回歸係數β0和β1,分別以截距(intercept)和x的係數表示:
**coefficients:
(intercept) x
17.72 3.25
這個例子中得到的回歸等式就是:yi = 17.72 + 3.25xi + εi。
資料經常會放在資料框中,這就需要對資料框中的兩列資料做回歸。這裡,x和y是資料框dfrm中的兩列資料:
**> dfrm x y
1 0.04781401 5.406651
2 1.90857986 19.941568
3 2.79987246 23.922613
4 4.46755305 32.432904
5 3.76490363 44.259268
6 5.92364632 61.151480
7 8.04611587 26.305505
8 7.11097986 43.606087
9 9.73645966 58.262112
10 9.19324543 57.631029
. (etc.)
在lm函式中可以用data引數指定資料框。如果設定了資料狂,lm函式就會從指定的資料框中取資料,而不是工作空間:
**> lm(y ~ x, data=dfrm)
call:
lm(formula = y~ x, data=dfrm)
coefficients:
(intercept) x
17.72 3.25
end.
R語言線性回歸
線性回歸模型 線性回歸模型的計算 lm 可以完成多元線性回歸函式的估計,回歸系統與回歸方程的檢驗的工作 summary 函式,返回列表內容 x1表示體重,x2表示年齡,y表示對應體重與年齡下的血壓 blood data frame x1 c 76.0,91.5,85.5,82.5,79.0,80.5...
R語言多元線性回歸
1 根據業務經驗挑選出可能對 目標變數有影響的指標 2 將這些指針對目標變數做相關性分析cor 挑選出相關係數較大的指標進一步分析 3 檢驗這些指標與目標變數是否線性關係,一般可以plot 檢驗,如果非線性,嘗試做平方或開方等方法使之變成線性 3 將相關係數較大的指標全部作為解釋變數做多遠線性回歸l...
R語言多元線性回歸
toothpaste data.frame x1 c 0.05,0.25,0.60,0,0.25,0.20,0.15,0.05,0.15,0.15,0.20,0.10,0.40,0.45,0.35,0.30,0.50,0.50,0.40,0.05,0.05,0.10,0.20,0.10,0.50,0...