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