位置:首頁 > 大數據教學 > R語言教學 > R語言多元回歸

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