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)
회귀 모델을 사용하여 예측하기
예측() 함수를 사용하여 새로운 관찰에 대한 응답 값을 예측할 수 있습니다.
#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에서 단계적 회귀를 수행하는 방법