R - regresja wielokrotna
Regresja wieloraka to rozszerzenie regresji liniowej na zależność między więcej niż dwiema zmiennymi. W prostej relacji liniowej mamy jeden predyktor i jedną zmienną odpowiedzi, ale w regresji wielorakiej mamy więcej niż jedną zmienną predykcyjną i jedną zmienną odpowiedzi.
Ogólne równanie matematyczne dla regresji wielorakiej to -
y = a + b1x1 + b2x2 +...bnxn
Poniżej znajduje się opis użytych parametrów -
y jest zmienną odpowiedzi.
a, b1, b2...bn są współczynnikami.
x1, x2, ...xn są zmiennymi predykcyjnymi.
Tworzymy model regresji za pomocą lm()funkcja w R. Model wyznacza wartości współczynników na podstawie danych wejściowych. Następnie możemy przewidzieć wartość zmiennej odpowiedzi dla danego zestawu zmiennych predykcyjnych za pomocą tych współczynników.
Funkcja lm ()
Ta funkcja tworzy model relacji między predyktorem a zmienną odpowiedzi.
Składnia
Podstawowa składnia lm() funkcja w regresji wielorakiej to -
lm(y ~ x1+x2+x3...,data)
Poniżej znajduje się opis użytych parametrów -
formula to symbol przedstawiający związek między zmienną odpowiedzi a zmiennymi predykcyjnymi.
data jest wektorem, na którym zostanie zastosowana formuła.
Przykład
Dane wejściowe
Rozważ zestaw danych „mtcars” dostępny w środowisku R. Daje porównanie między różnymi modelami samochodów pod względem przebiegu na galon (mpg), pojemności skokowej cylindra („disp”), mocy (KM), masy samochodu („wt”) i kilku innych parametrów.
Celem modelu jest ustalenie związku między „mpg” jako zmienną odpowiedzi, przy czym „disp”, „hp” i „wt” są zmiennymi predykcyjnymi. W tym celu tworzymy podzbiór tych zmiennych ze zbioru danych mtcars.
input <- mtcars[,c("mpg","disp","hp","wt")]
print(head(input))
Kiedy wykonujemy powyższy kod, daje on następujący wynik -
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
Utwórz model relacji i uzyskaj współczynniki
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)
Kiedy wykonujemy powyższy kod, daje on następujący wynik -
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
Utwórz równanie dla modelu regresji
Na podstawie powyższego punktu przecięcia z osią i wartości współczynników tworzymy równanie matematyczne.
Y = a+Xdisp.x1+Xhp.x2+Xwt.x3
or
Y = 37.15+(-0.000937)*x1+(-0.0311)*x2+(-3.8008)*x3
Zastosuj równanie do przewidywania nowych wartości
Możemy użyć utworzonego powyżej równania regresji, aby przewidzieć przebieg, gdy zostanie dostarczony nowy zestaw wartości przemieszczenia, mocy w koniach mechanicznych i masy.
Dla samochodu o disp = 221, hp = 102 i wt = 2,91 przewidywany przebieg to -
Y = 37.15+(-0.000937)*221+(-0.0311)*102+(-3.8008)*2.91 = 22.7104