R 회귀분석 출력표,
숫자가 의미하는 것을 읽자
Cars93 다중회귀분석 → 계수·유의성·설명력 → ANOVA·자유도 → 기출 45·46·47번 문제 풀이
학습목표 1 · 회귀식 읽기
절편·회귀계수의 뜻을 이해하고, 변수값을 넣어 예측값을 계산한다.
학습목표 2 · 결과 판정
t, F, p-value, R², 수정 R²가 서로 무엇을 검정하는지 구분한다.
학습목표 3 · 기출 해결
ANOVA의 자유도와 제곱합, 상호작용, 모형 유의성 문제를 풀 수 있다.
자료: 사용자 제공 교재 내용(pp. 307–309). 일부 OCR 표기와 R 코드는 이해를 위해 바로잡았으며, 계산은 제시된 출력값을 기준으로 합니다.
무엇으로 자동차 가격을 설명할까?
MASS 패키지 Cars93의 93개 자동차 관측치를 이용한 다중선형회귀분석입니다.
종속변수 Y
Price
자동차 가격
단위: 천 달러
독립변수 X₁
EngineSize
엔진 배기량
단위: 리터(L)
독립변수 X₂
RPM
엔진 회전수
단위: rpm
독립변수 X₃
Weight
자동차 무게
단위: 파운드(lb)
R 코드: 모델 적합
# MASS의 Cars93 데이터 library(MASS) head(Cars93) fit <- lm(Price ~ EngineSize + RPM + Weight, data = Cars93) summary(fit)
기호 읽기
회귀식과 출력표를 실제로 읽어보기
Estimate는 크기와 방향, Std. Error는 추정의 불확실성, t value와 Pr(>|t|)는 개별 계수의 유의성을 보여줍니다.
| 설명변수 | Estimate | Std. Error | t value | Pr(>|t|) | 판정(5%) |
|---|---|---|---|---|---|
| 절편 (Intercept) | −51.793292 | 9.106309 | −5.688 | 1.62e−07 | 유의 *** |
| EngineSize | 4.305387 | 1.324961 | 3.249 | 0.00163 | 유의 ** |
| RPM | 0.007096 | 0.001363 | 5.208 | 1.22e−06 | 유의 *** |
| Weight | 0.007271 | 0.002157 | 3.372 | 0.00111 | 유의 ** |
⚙️ EngineSize +1L
다른 변수를 고정하면 예측가격 +약 4,305달러
🔄 RPM +1,000
다른 변수를 고정하면 예측가격 +약 7,096달러
⚖️ Weight +100lb
다른 변수를 고정하면 예측가격 +약 727달러
직접 움직여서 자동차 가격을 예측해 보세요
입력한 값과 제시된 회귀계수를 곱하여 합산
t 검정과 F 검정은 질문 자체가 다르다
t 검정은 ‘각 변수의 계수가 0인가?’, F 검정은 ‘설명변수 모두의 기울기가 0인가?’를 살펴봅니다.
t-test · 각 변수의 역할
H₀: βⱼ = 0 / H₁: βⱼ ≠ 0
예: EngineSize t = 4.305387 ÷ 1.324961 ≈ 3.249 / p = 0.00163
F-test · 전체 설명력 검정
H₀: β₁ = β₂ = β₃ = 0
H₁: 적어도 하나 ≠ 0
Cars93: F = 37.98, p = 6.746×10⁻¹⁶ → 모형 전체 유의
유의수준 5%에서 판단하는 순서
한 변수의 영향은 t 검정으로 확인!
0.05보다 작으니 계수가 0이란 가설 기각.
세 변수 전체의 효과는 F 검정으로 확인!
유의하다고 곧바로 높은 설명력을 뜻하지 않아요.
R² 0.5614는 왜 p-value와 다른가?
F 검정이 유의하더라도 예측오차가 작다는 보장은 없습니다. 유의성, 설명력, 예측성능을 구분합니다.
① 결정계수 R² = 0.5614
표본에서 자동차 가격의 변동 중 약 56%를 이 세 설명변수로 설명합니다.
② 수정 결정계수 = 0.5467
설명변수를 무분별하게 늘려 R²가 상승하는 문제를 일부 보정합니다.
F 검정
‘모형에 통계적인 신호가 있는가?’
Cars93: p ≈ 0 → 유의
R²
‘표본 내 변동을 얼마나 설명하는가?’
Cars93: 약 56.14%
예측성능
‘새 자료에서 얼마나 정확한가?’
검증 데이터 RMSE, MAE 등 별도 확인
ANOVA 표: 변동을 나누고 자유도를 세자
기출 45번의 핵심 계산입니다. 회귀 자유도 k, 잔차 자유도 n−k−1, 총 자유도 n−1을 구분하세요.
R `cars`: 분산분석 출력
| 요인 | Df | Sum Sq | Mean Sq | F |
|---|---|---|---|---|
| speed | 1 | 21,186 | 21,185.5 | 89.567 |
| Residuals | 48 | 11,354 | 236.5 | — |
| 전체 | 49 | 32,540 | — | — |
≈ 11,354 ÷ 48 = 236.5 (표의 값은 반올림된 결과)
기출에서 관측치 수 계산
n = 48 + 1 + 1 = 50
점 50개 = 관측치 50개 · 초록 1개: 절편 · 노랑 1개: 기울기 · 나머지 48개: 잔차 자유도(비유)
관측치 n은 50개예요.
모형이 추정하는 계수 2개를 고려합니다.
그래서 잔차 자유도가 48이에요.
잔차 자유도(48)와 총 자유도(49)는 달라요.
45번. R `cars`의 분산분석표 해석
관련 이론 → 실제 출력표 → 정답 선택 → 4컷 복습 순서로 풀어보세요.
📘 문제 위 이론 그림 · ANOVA를 해석하는 3개의 열쇠
예습: 슬라이드 05n = 잔차 Df + k + 1
MSE = SSE / (n−k−1)
R² = SSR / (SSR+SSE)
Pr(>F) < .05 → 유의
다음 설명 중 부적절한 것은?
out <- lm(dist ~ speed, data=cars)anova(out)48은 관측치가 아니라 잔차 자유도입니다.
독립변수 1개(k=1), 잔차 자유도 48이므로 n = 48 + 1 + 1 = 50입니다.
② MSE = 236.5; ④ R² = 21,186 ÷ (21,186+11,354) ≈ 0.6511; ① Pr(>F) = 1.49×10⁻¹² < 0.05입니다. 단순회귀에서 기울기 t 검정과 모형 F 검정은 동등한 검정입니다.
| Response: dist | Df | Sum Sq | Mean Sq | F value | Pr(>F) |
|---|---|---|---|---|---|
| speed | 1 | 21,186 | 21,185.5 | 89.567 | 1.49e−12 |
| Residuals | 48 | 11,354 | 236.5 | — | — |
잔차 Df는 표본 수가 아니다. 관측치 수는 항상 ‘절편 + 기울기들’을 더해서 복원하세요.
속도(speed)로 제동거리(dist)를 설명합니다.
이 값은 잔차 자유도이지 자료 개수가 아닙니다.
48에 2를 더하면 관측치가 50개.
R²와 p값도 검산하면 답이 확실해집니다.
46번. 나이·학력·임금과 상호작용
ANOVA 표만으로는 ‘관계의 존재 여부’와 ‘관계의 방향’을 똑같이 판단할 수 없습니다.
📘 문제 위 이론 그림 · 주효과(Main Effect)와 상호작용(Interaction)
핵심: F 값에는 방향(+, −) 없음실제 education은 범주형 변수이므로 기준집단 대비 더미계수 및 상호작용계수들로 표현됩니다.
다른 항을 고려한 연관성
학력별 age 기울기가 다를 수 있음
가상 개념도입니다. 실제 출력은 계수 방향을 제시하지 않으므로 두 직선의 실제 기울기를 뜻하지 않습니다.
5% 유의수준에서 가장 적절하지 않은 설명은?
F 및 p-value에는 기울기의 부호가 없습니다.
age:education의 p = 0.0133이므로 5%에서 상호작용이 유의합니다. 그러나 age 계수의 양·음 부호나 상관계수는 제시되지 않으므로 ③은 단정할 수 없습니다.
해석 주의: 이 ANOVA는 순차 제곱합(Type I)을 보여주며, 상호작용이 존재할 때 연령의 효과는 학력 수준에 따라 달라질 수 있습니다. ①과 ②의 문구도 엄밀하게 해석할 때 조건을 따져야 하지만, 교재가 의도한 명확한 오답은 ③입니다.
R `Wage` ANOVA 핵심 출력
| 요인 | Df | Sum Sq | F value | Pr(>F) |
|---|---|---|---|---|
| age | 1 | 199,870 | 155.155 | < 2e−16 |
| education | 4 | 1,154,224 | 224.000 | < 2e−16 |
| age:education | 4 | 16,289 | 3.161 | 0.0133 |
| Residuals | 2990 | 3,851,704 | — | — |
유의하다 ≠ 양(+)의 관계다. 방향은 회귀계수(Estimate의 ±) 또는 적절한 상관분석 결과가 있어야 판단할 수 있습니다.
모형: wage ~ age + education + age:education
education 5범주 → 범주 효과 Df 4, 상호작용 Df 4
학력집단별 나이-임금 관계를 살펴봐요.
집단에 따라 기울기가 달라질 수 있어요.
F 표에는 계수의 +/−가 보이지 않아요.
유의성과 방향을 구분하세요.
47번. 병아리 성장 모형: 단순회귀·유의성
기울기, 절편, R², F 검정 그리고 0.1% 유의수준을 한꺼번에 구분하는 문제입니다.
📘 문제 위 이론 그림 · 단순선형회귀와 p-value 판정
독립변수가 하나면 단순회귀시간 1단위 증가 → 예측 무게 +7.9879
α = 0.001, p < .001이어야 유의
위 점들은 설명을 위한 가상 그림입니다. 실제 관측치가 아닙니다.
아래 회귀출력 해석 중 가장 적절한 것은?
F 검정 p = 2.974×10⁻⁸ < 0.05
모형은 5%에서 유의합니다. Time 계수 p = 2.97×10⁻⁸로 유의하고, 설명력은 R² = 0.9588입니다.
④ 절편 p = 0.00456은 0.05보다 작지만 0.001보다 크므로 0.1% 수준에서는 유의하지 않습니다. 단순회귀식에 Time의 2차항은 없습니다.
회귀출력 핵심 숫자
| 계수 | Estimate | t | p-value |
|---|---|---|---|
| Intercept | 24.4654 | 3.636 | 0.00456 |
| Time | 7.9879 | 15.255 | 2.97e−08 |
R² · 설명된 변동 95.88%
F 값 · 모형 p=2.974e−08
0.00456 < 0.05(5%)이지만 > 0.001(0.1%)입니다. 퍼센트를 소수로 정확히 바꾸는 게 핵심입니다.
Time이 하나라서 단순선형회귀예요.
Time의 회귀계수는 5%에서 유의합니다.
따라서 전체 모형도 유의합니다.
0.00456은 0.1% 미만이 아니라는 함정도 주의.
회귀분석 결과 해석: 마지막 한 장 정리
기출 45~47번에서 반복되는 판단 순서를 5개의 질문으로 기억하세요.
① 회귀식 종류?
X가 1개면 단순회귀, 여러 개면 다중회귀. 상호작용은 X₁×X₂.
② 계수의 방향?
Estimate의 부호를 본다. F값만으로 +/−를 알 수 없다.
③ 무엇이 유의?
계수별 t/p, 전체 모형 F/p. α와 p를 비교.
④ 설명력은?
R²와 수정 R²를 본다. p가 낮아도 R²는 별도 문제.
⑤ 관측치 수?
잔차 자유도 + 변수 개수 + 1 (절편이 있는 선형모형).
기출 정답 요약
R 실습: 실제 결과 재현
# (1) MASS Cars93: 다중회귀 library(MASS) fit <- lm(Price ~ EngineSize + RPM + Weight, data = Cars93) summary(fit) anova(fit) # (2) 기본 내장 cars: 단순회귀 m <- lm(dist ~ speed, data = cars) summary(m) anova(m) nobs(m) # 50 # (3) Wage: ISLR2 또는 ISLR 패키지 # 사용 패키지 설치 여부·데이터 확인 필요 # lm(wage ~ age * education, data=Wage)
짧은 최종 확인
“계수는 방향, t는 개별, F는 전체, R²는 설명력, Df는 개수 복원!”
학습자료의 수치는 사용자 제공 교재 출력에서 옮겼습니다. OCR 오류를 교정했고, 실제 R 패키지 설치 버전에 따라 출력 형식은 다를 수 있습니다. ANOVA 효과의 인과적 해석 및 각 계수의 부호 판단은 별도 검토가 필요합니다.