
- R 教程
- R - 首頁
- R - 概述
- R - 環境設定
- R - 基本語法
- R - 資料型別
- R - 變數
- R - 運算子
- R - 決策
- R - 迴圈
- R - 函式
- R - 字串
- R - 向量
- R - 列表
- R - 矩陣
- R - 陣列
- R - 因子
- R - 資料框
- 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 是將公式應用到的向量。
示例
輸入資料
考慮 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 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
廣告