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