R語言多元回歸
多元回歸是線性回歸成多於兩個變量之間關係的延伸。在簡單的線性關係,我們有一個預測值和一個響應變量,但在多元回歸我們有一個以上的預測值變量和一個響應變量。
對於多元回歸的一般數學方程為:
y= a+b1x1+b2x2+...bnxn
對於多元回歸的一般數學方程為:...
- y - 是響應變量
- a,b1,b2...bn - 是係數
- x1,x2,...xn - 是預測變量
我們創建一個使用在 R 中的 lm() 函數的回歸模型,模型確定使用輸入數據的係數的值。接下來,我們可以預測響應變量的值對於給定的使用這些係數預測變量。
lm() 函數
這個函數創建來預測和響應變量之間的關係模型。語法
這是 lm()函數的多元回歸的基本語法:
lm(y ~ x1+x2+x3...,data)
以下是所使用的參數的說明:
- formula 是一個符號呈現所述響應變量和預測變量之間的關係。
- data 是在其上式將被應用的向量。
示例
輸入數據
考慮數據集“mtcars”在R環境中可用。它提供了不同車型之間的每加侖(mpg)裡程計汽車和一些參數的比較,氣缸容量(“disp”),馬力(“hp”),汽車(“wt”)的重量。
該模型的目標是建立“mpg”與"disp","hp" 和“wt”作為預測變量的響應變量之間的關係。我們從 mtcars 數據創建用於此目的設置這些變量的子集。
input <- mtcars[,c("mpg","disp","hp","wt")] print(head(input))
當我們上麵的代碼執行時,它產生以下結果:
mpg disp hp wt Mazda RX4 21.0 160 110 2.620 Mazda RX4 Wag 21.0 160 110 2.875 Datsun 710 22.8 108 93 2.320 Hornet 4 Drive 21.4 258 110 3.215 Hornet Sportabout 18.7 360 175 3.440 Valiant 18.1 225 105 3.460
創建關係模型及獲得係數
input <- mtcars[,c("mpg","disp","hp","wt")] # Create the relationship model. model <- lm(mpg~disp+hp+wt, data=input) # Show the model. print(model) # Get the Intercept and coefficients as vector elements. cat("# # # # The Coefficient Values # # # ","\n") a <- coef(model)[1] print(a) Xdisp <- coef(model)[2] Xhp <- coef(model)[3] Xwt <- coef(model)[4] print(Xdisp) print(Xhp) print(Xwt)
當我們上麵的代碼執行時,它產生以下結果:
Call: lm(formula = mpg ~ disp + hp + wt, data = input) Coefficients: (Intercept) disp hp wt 37.105505 -0.000937 -0.031157 -3.800891 # # # # The Coefficient Values # # # (Intercept) 37.10551 disp -0.0009370091 hp -0.03115655 wt -3.800891
創建方程回歸模型
基於以上和截距係數值,我們創建的數學方程。
Y = a+Xdisp.x1+Xhp.x2+Xwt.x3 or Y = 37.15+(-0.000937)*x1+(-0.0311)*x2+(-3.8008)*x3
應用公式預測新的值
我們可以使用上麵創建的回歸方程來預測裡程,在提供了一組新的排量,馬力和重量的值。
對於汽車, disp = 221, hp = 102 及 wt = 2.91 預測的裡程是:
Y = 37.15+(-0.000937)*221+(-0.0311)*102+(-3.8008)*2.91 = 22.7104