R에서 lm() 함수를 사용하여 선형 모델을 맞추는 방법


R의 lm() 함수는 선형 회귀 모델을 맞추는 데 사용됩니다.

이 함수는 다음 기본 구문을 사용합니다.

lm(공식, 데이터, …)

금:

  • 공식: 선형 모델 공식(예: y ~ x1 + x2)
  • 데이터: 데이터가 포함된 데이터 블록의 이름

다음 예에서는 R에서 이 함수를 사용하여 다음을 수행하는 방법을 보여줍니다.

  • 회귀 모델 피팅
  • 회귀 모델 적합성 요약 보기
  • 모델 진단 플롯 보기
  • 적합 회귀 모델 플롯
  • 회귀 모델을 사용하여 예측

회귀 모델에 적합

다음 코드는 lm() 함수를 사용하여 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)

회귀 모델 요약 표시

그런 다음 summary() 함수를 사용하여 회귀 모델 적합도의 요약을 표시할 수 있습니다.

 #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

모델에서 가장 중요한 값을 해석하는 방법은 다음과 같습니다.

  • F-통계량 = 18.35, 해당 p-값 = 0.002675. 이 p-값은 0.05보다 작으므로 모델 전체가 통계적으로 유의합니다.
  • 다중 R 제곱 = 0.6964. 이는 반응 변수 y의 변동 중 69.64%가 예측 변수 x에 의해 설명될 수 있음을 나타냅니다.
  • x의 추정 계수 : 1.2780. 이는 x의 각 추가 단위 증가가 y의 평균 1.2780 증가와 연관되어 있음을 알려줍니다.

그런 다음 출력의 계수 추정을 사용하여 추정 회귀 방정식을 작성할 수 있습니다.

y = 11.1432 + 1.2780*(x)

보너스 : 여기에서 R의 각 회귀 출력 값을 해석하는 데 대한 완전한 가이드를 찾을 수 있습니다.

모델 진단 플롯 보기

그런 다음 회귀 모델의 진단 플롯을 플롯()하기 위해 플롯() 함수를 사용할 수 있습니다.

 #create diagnostic plots
plot(model) 

이 그래프를 통해 회귀 모델의 잔차를 분석하여 해당 모델이 데이터에 사용하기에 적합한지 결정할 수 있습니다.

R에서 모델의 진단 플롯을 해석하는 방법에 대한 전체 설명은 이 튜토리얼을 참조하세요.

적합 회귀 모델 플롯

abline() 함수를 사용하여 적합 회귀 모델을 그릴 수 있습니다.

 #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)

R에서 lm() 플롯

회귀 모델을 사용하여 예측하기

예측() 함수를 사용하여 새로운 관찰에 대한 응답 값을 예측할 수 있습니다.

 #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

모델은 이 새로운 관측값이 17.5332 의 반응 값을 가질 것이라고 예측합니다.

추가 리소스

R에서 단순 선형 회귀를 수행하는 방법
R에서 다중 선형 회귀를 수행하는 방법
R에서 단계적 회귀를 수행하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다