Jak używać funkcji lm() w r, aby dopasować modele liniowe


Funkcja lm() w R służy do dopasowania modeli regresji liniowej.

Ta funkcja wykorzystuje następującą podstawową składnię:

lm(formuła, dane, …)

Złoto:

  • formuła: Formuła modelu liniowego (np. y ~ x1 + x2)
  • dane: nazwa bloku danych zawierającego dane

Poniższy przykład pokazuje, jak używać tej funkcji w R, aby wykonać następujące czynności:

  • Dopasuj model regresji
  • Wyświetl podsumowanie dopasowania modelu regresji
  • Zobacz wykresy diagnostyczne modelu
  • Narysuj dopasowany model regresji
  • Dokonuj prognoz za pomocą modelu regresji

Dopasuj model regresji

Poniższy kod pokazuje, jak użyć funkcji lm() w celu dopasowania modelu regresji liniowej w R:

 #define data
df = data. frame (x=c(1, 3, 3, 4, 5, 5, 6, 8, 9, 12),
                y=c(12, 14, 14, 13, 17, 19, 22, 26, 24, 22))

#fit linear regression model using 'x' as predictor and 'y' as response variable
model <- lm(y ~ x, data=df)

Pokaż podsumowanie modelu regresji

Możemy następnie użyć funkcji podsumowania() , aby wyświetlić podsumowanie dopasowania modelu regresji:

 #view summary of regression model
summary(model)

Call:
lm(formula = y ~ x, data = df)

Residuals:
    Min 1Q Median 3Q Max 
-4.4793 -0.9772 -0.4772 1.4388 4.6328 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) 11.1432 1.9104 5.833 0.00039 ***
x 1.2780 0.2984 4.284 0.00267 ** 
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 2.929 on 8 degrees of freedom
Multiple R-squared: 0.6964, Adjusted R-squared: 0.6584 
F-statistic: 18.35 on 1 and 8 DF, p-value: 0.002675

Oto jak interpretować najważniejsze wartości w modelu:

  • Statystyka F = 18,35, odpowiadająca wartość p = 0,002675. Ponieważ ta wartość p jest mniejsza niż 0,05, model jako całość jest istotny statystycznie.
  • Wielokrotne R do kwadratu = 0,6964. To mówi nam, że 69,64% zmienności zmiennej odpowiedzi y można wyjaśnić zmienną predykcyjną x.
  • Szacowany współczynnik x : 1,2780. To mówi nam, że każda dodatkowa jednostka wzrostu x jest powiązana ze średnim wzrostem y o 1,2780.

Możemy następnie wykorzystać szacunki współczynników z wyników do napisania oszacowanego równania regresji:

y = 11,1432 + 1,2780*(x)

Bonus : kompletny przewodnik dotyczący interpretacji każdej wartości wyniku regresji w R znajdziesztutaj .

Zobacz wykresy diagnostyczne modelu

Następnie możemy użyć funkcji plot() do wykreślenia wykresów diagnostycznych modelu regresji:

 #create diagnostic plots
plot(model) 

Wykresy te pozwalają nam przeanalizować reszty modelu regresji w celu ustalenia, czy model jest odpowiedni do wykorzystania w przypadku danych.

Pełne wyjaśnienie sposobu interpretacji wykresów diagnostycznych modelu w języku R można znaleźć w tym samouczku.

Narysuj dopasowany model regresji

Możemy użyć funkcji abline() do wykreślenia dopasowanego modelu regresji:

 #create scatterplot of raw data
plot(df$x, df$y, col=' red ', main=' Summary of Regression Model ', xlab=' x ', ylab=' y ')

#add fitted regression line
abline(model)

wykreśl lm() w R

Do prognozowania użyj modelu regresji

Możemy użyć funkcji przewidywania(), aby przewidzieć wartość odpowiedzi dla nowej obserwacji:

 #define new observation
new <- data. frame (x=c(5))

#use the fitted model to predict the value for the new observation
predict(model, newdata = new)

      1 
17.5332

Model przewiduje, że wartość odpowiedzi na tę nową obserwację wyniesie 17,5332 .

Dodatkowe zasoby

Jak wykonać prostą regresję liniową w R
Jak wykonać wielokrotną regresję liniową w R
Jak przeprowadzić regresję krokową w R

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *