본문 바로가기
11. 회귀분석/선형회귀분석

[R통계] 선형회귀분석 간단 예제와 결과 해석 (p값이 왜 이렇게 여러개?)

by makhimh 2021. 6. 15.
반응형

1. 데이터

독립변수는 키, 종속변수는 몸무게입니다. 10명의 데이터입니다. 

 

#data
height=c(158, 163, 142, 198, 172, 155, 165, 168, 175, 182)
weight=c(53, 77, 58, 101, 73, 58, 78, 71, 68, 79)

 


2. 회귀분석

lm함수를 이용하여 아래와 같이 입력합니다. (종속변수~독립변수) 형식으로 입력합니다. 결과를 변수 result 에 저장합니다. 

 

#linear regression
result=lm(weight~height)

3. 그래프

그래프를 그리면 아래와 같습니다. 

 

plot(height,weight)
abline(result)
text(mean(height),mean(weight)*1.1,
     paste("y=",round(result$coefficients[1],2),"x+", round( result$coefficients[2] ,2),
           '  ','adj_r^2=',round(summary(result)$adj.r.squared,2) )  ,col='red')

 


3. 결과

result 를 콘솔창에 입력하면 아래와 같이 출력됩니다. 

 

> result

Call:
lm(formula = weight ~ height)

Coefficients:
(Intercept)       height  
   -56.7204       0.7647 

 

계산된 모델을 수식으로 표현하면 아래와 같습니다. x는 독립변수, y는 종속변수입니다. 

 

$y=0.7647x-56.7204$

 

summary 함수를 이용하면 더 자세한 결과가 출력됩니다. 

 

> summary(result)

Call:
lm(formula = weight ~ height)

Residuals:
    Min      1Q  Median      3Q     Max 
-11.106  -3.723  -1.282   6.261   9.071 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)   
(Intercept) -56.7204    27.8860  -2.034  0.07638 . 
height        0.7647     0.1656   4.619  0.00171 **
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 7.658 on 8 degrees of freedom
Multiple R-squared:  0.7273,	Adjusted R-squared:  0.6932 
F-statistic: 21.34 on 1 and 8 DF,  p-value: 0.001712

 

p 값이 여러개 나옵니다. (Intercept)에도 p값이 있고, height 에도 p값이 있고, 맨 아랫줄에도 p값이 있습니다. 

 

Intercept 의 p값은 y절편에 대한 검정 결과입니다. y절편이 0인지 아닌지를 검정하며, p가 0.05보다 작을 경우 y절편이 0이 아닌 것입니다. height는 기울기에 대한 검정입니다. 기울기가 0인지 아닌지를 검정합니다. 

 

마지막으로 F통계량은 추정된 회귀식의 유효성을 검정하는데 사용합니다. 기울기와 y절편이 0이 아닐지라도, 회귀식이 데이터를 잘 설명하지 못할 수도 있습니다. 

반응형

댓글