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 - 即:y ~ x1+x2+x3...是呈現回應變數和預測變數之間關係的符號。
  • data - 是應用公式的向量。

示例

輸入數據

考慮R環境中可用的數據集mtcars,它比較不同的車型,每加侖里程(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
## 或者

Y = 37.15+(-0.000937)*x1+(-0.0311)*x2+(-3.8008)*x3

應用公式來預測新值

當提供一組新的位移,馬力和重量值時,我們可以使用上面創建的回歸方程來預測里程。

對於具有disp = 221hp = 102wt = 2.91的汽車,預計里程預測為 -

Y = 37.15+(-0.000937)*221+(-0.0311)*102+(-3.8008)*2.91 = 22.7104

上一篇: R語言線性回歸 下一篇: R語言基礎語法