R - 다중 회귀분석: 초보자 가이드
안녕하세요, 미래의 R 프로그래머 여러분! 오늘 우리는 R를 사용한 다중 회귀분석의 세계로 흥미로운 여정을 시작할 것입니다. 코드를 한 줄도 작성해 본 적이 없어도 걱정하지 마세요 - 나는 여러분의 친절한 안내자로서每一步을 함께할 것입니다. 이 튜토리얼의 끝을 맺을 때, 단 몇 줄의 R 코드로 무엇을 할 수 있는지 놀라게 될 것입니다!
다중 회귀분석이란?
코드로 뛰어들기 전에, 다중 회귀분석이 무엇인지 이해해 보겠습니다. 집의 가격을 예측하려고 상상해 보세요. 집의 크기만을 고려할까요? 그렇지 않죠. 방의 수, 동네, 그리고 집의 연령도 모두 역할을 할 수 있습니다. 다중 회귀분석은 여러 요인(독립 변수라고 부릅니다)이 결과(종속 변수라고 부릅니다)에 어떻게 영향을 미치는지 이해하는 통계 기법입니다.
lm() 함수: 당신의 새로운 최고 친구
R에서는 lm()
함수를 사용하여 다중 회귀분석을 수행합니다. "lm"은 "linear model"의 약자로, 통계 세계에서 당신의 새로운 최고 친구가 될 것입니다. 다음과 같이 사용합니다:
model <- lm(dependent_variable ~ independent_variable1 + independent_variable2 + ..., data = your_dataset)
처음에는 조금 무서울 수 있지만, 간단히 설명드리겠습니다:
-
model
은 우리가 회귀 결과를 저장하기 위해 부여한 이름입니다. -
dependent_variable
은 우리가 예측하려는 것입니다. -
~
은 R 언어에서 "이해됨"을 의미합니다. -
independent_variable1
,independent_variable2
, 등은 우리의 예측 변수입니다. -
data = your_dataset
는 R에게 변수를 어디에서 찾을지 알립니다.
단계별 예제
제가 실제 예제를 통해 함께 단계별로 설명해 드리겠습니다. R의 내장 데이터셋인 mtcars
(모터 트렌드 차량 도로 시험)을 사용할 것입니다. 이 데이터셋은 다양한 차 모델과 그 특성에 관한 것입니다.
단계 1: 데이터 탐색
먼저 데이터를 조금 살펴보겠습니다:
head(mtcars)
이 명령어는 데이터셋의 처음 몇 줄을 보여줍니다. mpg
(마일 당 갤런), cyl
(실린더 수), disp
(이동거리), hp
(마력)과 같은 열을 볼 수 있습니다.
단계 2: 모델 생성
우리는 차의 마일 당 갤런数 (mpg)을 그 무게 (wt
)와 마력 (hp
)을 기반으로 예측하려고 합니다. 이렇게 합니다:
car_model <- lm(mpg ~ wt + hp, data = mtcars)
단계 3: 결과 이해
이제 모델이告诉我们하는 것을 살펴보겠습니다:
summary(car_model)
이 명령어는 많은 정보를 제공합니다. 일부는 낯설 수 있지만, 중요한 부분에 집중하겠습니다:
- 계수: 각 변수가 mpg에 어떻게 영향을 미치는지 알려줍니다. 음수 값은 변수가 증가할수록 mpg가 감소함을 의미합니다.
- R-squared: 모델이 데이터에 얼마나 잘 맞는지 알려줍니다. 0에서 1 사이의 값을 가지며, 1이 완벽한 적합을 의미합니다.
- p-values: 결과가 통계적으로 유의미한지 알려줍니다. 일반적으로 0.05 이하의 값을 찾습니다.
단계 4: 예측
이제 재미있는 부분입니다 - 우리 모델을 사용하여 무게 3000 파운드와 150 마력을 가진 차의 mpg를 예측해 봅시다:
new_car <- data.frame(wt = 3, hp = 150)
predict(car_model, new_car)
그렇다면! 다중 회귀를 사용한 예측을 완료했습니다.
결과 시각화
그림 한 장은 천 마디 말이나 다름없습니다, 특히 데이터 과학에서는 그렇습니다. 우리는 간단한 그래프를 생성하여 모델을 시각화해 보겠습니다:
plot(mtcars$wt, mtcars$mpg, main = "Weight vs MPG", xlab = "Weight", ylab = "Miles Per Gallon")
abline(lm(mpg ~ wt, data = mtcars), col = "red")
이 그래프는 무게 대 mpg의 산점도를 생성하고 빨간색으로 회귀선을 추가합니다.
다중 회귀분석의 일반 방법
다음은 모델에서 사용할 수 있는 일반적인 방법 목록입니다:
방법 | 설명 |
---|---|
summary() | 회귀 모델의 상세 요약을 제공합니다 |
coefficients() | 모델의 계수를 반환합니다 |
residuals() | 관측치와 예측치 간의 차이를 보여줍니다 |
predict() | 모델을 사용하여 예측을 합니다 |
plot() | 여러 가지 진단 그래프를 생성합니다 |
anova() | 모델에 대한 분석을 수행합니다 |
결론
축하합니다! R를 사용한 다중 회귀분석의 첫 걸음을 냈습니다. 새로운 기술을 배우는 것은 실습이 왕이며, 두려워 말고 다양한 데이터셋과 변수를 실험해 보세요.
마무리하면서, 한 학생이 제게 말한 것을 떠올립니다. "저는 수학으로 무엇을 예측할 수 있다고 생각한 적이 없었습니다!" 그렇지만 지금은 여러 요인을 동시에 사용하여 예측할 수 있습니다. 이게 얼마나 멋진 초능력인지요?
계속 코딩하고, 배우고, R를 즐겨주세요!
Credits: Image by storyset