R - Nhiều hồi quy
Hồi quy bội là một phần mở rộng của hồi quy tuyến tính vào mối quan hệ giữa nhiều hơn hai biến. Trong quan hệ tuyến tính đơn giản, chúng ta có một biến dự báo và một biến phản hồi, nhưng trong hồi quy bội, chúng ta có nhiều hơn một biến dự báo và một biến phản hồi.
Phương trình toán học tổng quát cho hồi quy bội là:
y = a + b1x1 + b2x2 +...bnxn
Sau đây là mô tả về các tham số được sử dụng:
y là biến phản hồi.
a, b1, b2...bn là các hệ số.
x1, x2, ...xn là các biến dự báo.
Chúng tôi tạo mô hình hồi quy bằng cách sử dụng lm()hàm trong R. Mô hình xác định giá trị của các hệ số bằng cách sử dụng dữ liệu đầu vào. Tiếp theo, chúng ta có thể dự đoán giá trị của biến phản hồi cho một tập hợp các biến dự báo nhất định bằng cách sử dụng các hệ số này.
Hàm lm ()
Hàm này tạo ra mô hình mối quan hệ giữa yếu tố dự đoán và biến phản hồi.
Cú pháp
Cú pháp cơ bản cho lm() hàm trong hồi quy bội là -
lm(y ~ x1+x2+x3...,data)
Sau đây là mô tả về các tham số được sử dụng:
formula là một ký hiệu trình bày mối quan hệ giữa biến phản ứng và các biến dự báo.
data là vectơ mà công thức sẽ được áp dụng.
Thí dụ
Dữ liệu đầu vào
Hãy xem xét tập dữ liệu "mtcars" có sẵn trong môi trường R. Nó đưa ra so sánh giữa các mẫu xe khác nhau về số dặm trên mỗi gallon (mpg), dung tích xi lanh ("disp"), sức ngựa ("hp"), trọng lượng của xe ("wt") và một số thông số khác.
Mục tiêu của mô hình là thiết lập mối quan hệ giữa "mpg" như một biến phản hồi với "disp", "hp" và "wt" là các biến dự báo. Chúng tôi tạo một tập hợp con của các biến này từ tập dữ liệu mtcars cho mục đích này.
input <- mtcars[,c("mpg","disp","hp","wt")]
print(head(input))
Khi chúng tôi thực thi đoạn mã trên, nó tạo ra kết quả sau:
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
Tạo mô hình mối quan hệ và nhận Hệ số
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)
Khi chúng tôi thực thi đoạn mã trên, nó tạo ra kết quả sau:
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
Tạo phương trình cho mô hình hồi quy
Dựa trên các giá trị hệ số và hệ số chặn ở trên, ta lập phương trình toán học.
Y = a+Xdisp.x1+Xhp.x2+Xwt.x3
or
Y = 37.15+(-0.000937)*x1+(-0.0311)*x2+(-3.8008)*x3
Áp dụng phương trình để dự đoán các giá trị mới
Chúng ta có thể sử dụng phương trình hồi quy đã tạo ở trên để dự đoán quãng đường đi được khi cung cấp một bộ giá trị mới cho độ dịch chuyển, sức ngựa và trọng lượng.
Đối với một chiếc xe có disp = 221, hp = 102 và wt = 2,91, quãng đường dự đoán là -
Y = 37.15+(-0.000937)*221+(-0.0311)*102+(-3.8008)*2.91 = 22.7104