Programming/R
R 언어에서 선형회귀와 다항회귀 수행 및 분석 방법 정리
사족보행 개발자
2025. 2. 7. 00:57
728x90
1. 선형회귀 (Linear Regression)
선형회귀는 독립 변수(X)와 종속 변수(Y) 간의 선형 관계를 찾는 방법이다. R에서는 lm()
함수를 사용하여 선형회귀 모델을 생성한다.
1.1 선형회귀 모델 생성
# 데이터 생성
x <- c(1, 2, 3, 4, 5)
y <- c(2, 4, 5, 4, 5)
# 선형회귀 모델 생성
model <- lm(y ~ x)
# 모델 요약
summary(model)
1.2 모델 요약 분석
summary(model)
의 결과는 다음과 같다.
- Residuals: 잔차의 요약 통계를 제공한다.
- Coefficients: 회귀 계수와 p-value를 포함한다.
- Residual standard error: 잔차의 표준 오차를 나타낸다.
- Multiple R-squared: 결정계수(R²) 값으로, 모델의 설명력을 나타낸다.
- Adjusted R-squared: 자유도를 보정한 R² 값이다.
- F-statistic: 회귀 모델의 유의성을 검정하는 지표이다.
결정계수(R²)가 1에 가까울수록 모델의 설명력이 높다.
2. 다항회귀 (Polynomial Regression)
다항회귀는 독립 변수와 종속 변수 간의 비선형 관계를 표현하는 방법이다. R에서는 poly()
함수를 사용하거나 직접 다항 항을 추가하여 모델을 생성할 수 있다.
2.1 다항회귀 모델 생성
# 데이터 생성
x <- c(1, 2, 3, 4, 5)
y <- c(2, 4, 5, 4, 5)
# 2차 다항회귀 모델 생성
model_poly <- lm(y ~ poly(x, 2))
# 모델 요약
summary(model_poly)
또는 직접 다항항을 추가하여 회귀 모델을 만들 수도 있다.
# 2차항을 직접 추가한 다항회귀
model_poly2 <- lm(y ~ x + I(x^2))
summary(model_poly2)
2.2 모델 요약 분석
summary(model_poly)
의 결과는 선형회귀와 유사하지만, 다항항이 추가된 회귀 계수들을 확인할 수 있다.
- Coefficients: 다항식의 각 항목별 회귀 계수를 제공한다.
- Multiple R-squared: 다항회귀 모델의 설명력을 나타낸다.
- F-statistic: 모델의 유의성을 평가한다.
3. 시각화
회귀 모델을 시각화하여 확인할 수 있다.
# 선형회귀 시각화
plot(x, y, main="선형회귀")
abline(model, col="red")
# 다항회귀 시각화
x_seq <- seq(min(x), max(x), length.out=100)
y_pred <- predict(model_poly2, newdata=data.frame(x=x_seq))
lines(x_seq, y_pred, col="blue")
4. 결론
R에서 선형회귀는 lm()
함수를 사용하여 수행하며, summary()
함수를 통해 모델의 유의성을 평가할 수 있다. 다항회귀는 poly()
함수나 직접 다항항을 추가하여 구현할 수 있으며, 결정계수(R²)와 p-value를 확인하여 모델의 적합성을 판단한다. 시각화를 통해 회귀 모델의 적합성을 직관적으로 확인할 수도 있다.
728x90