[R] - 통계데이터분석 - 회귀분석(regression analysis) , 한 개의 독립변수 , 최소자승법(least-squares method)

반응형

회귀분석 (regression analysis) 개요

변수(독립변수 및 종속변수) 간의 관계를 나타내는 선형회귀식(linear regression equation)을 도출하여 변수 간 연관성을 분석

  • 단순회귀 분석(simple regression analysis)

    • 한 개의 연속형 독립변수를 이용하여 한 개의 연속형 종속변수를 예측
  • 다항회귀분석(polynomial regression analysis)

    • 한 개의 연속형 독립변수를 이용하여 한 개의 연속형 종속변수를 예측
    • 선형관계는 독립변수의 n차 다항식(nth order polynomial)으로 모델링
  • 다중회귀분석(multiple regression analysis)

    • 두 개 이상의 연속형 독립변수를 이용하여 한 개의 연속형 종속변수를 예측

회귀식의 도출

**최소자승회귀선 : 관측값과 회귀선 간 거리제곱의 합이 가장 작게 되는 직선을 도출한다.

Screenshot from 2023-08-10 12-53-06

최소자승법(least-squares method)은 산점도상의 관측된 각 좌표점과 임의의 직선 사이의 수직거리를 제곱하여 합한 값이 가장 작게 되는 직선을 찾는 방법입니다.

최소자승법에 의해 구해진 직선을 최소자승회귀선(least-squares regrssion line) 또는 회귀선(regression line)이라고 합니다.

$$ y = B_{0} + B_{1}x $$

  • y는 종속변수 , x는 독립변수, B0은 절편(intercept), B1은 기울기(slope)

**선형회귀선

Screenshot from 2023-08-10 13-04-07

기대수명 = 41.0 + 0.48 x 도시인구비율

독립변수와 종속변수가 서로의 역할을 바꾸면 기울기와 절편의 값은 달라짐.


Screenshot from 2023-08-10 13-06-17

절편에 어떤 의미를 부여할 때는 주의를 기울일 필요가 있음.

R 프로그래밍


# 교육기관과 소득간의 관계 분석 education, income

Prestige.lm = lm(income ~ education , data=Prestige)
class(Prestige.lm)
Prestige.lm

plot(Prestige$income ~ Prestige$education, 
     col="cornflowerblue", pch=19,
     xlab= "Education(years)", ylab="Income(dollars)",
     main="Education and income")

abline(Prestige.lm, col="salmon", lwd=2)

산점도를 그리고 abline()함수로 회귀선 긋기

image

  • 회귀모델 분석 결과 추출 함수 정리 : 용도별 추출 함수를 이용하여 회귀모델 객체에 포함된 다양한 분석 결과를 추출할 수 있습니다.

Screenshot from 2023-08-10 13-19-49



 summary(Prestige.lm)

Call:
lm(formula = income ~ education, data = Prestige)

Residuals:
    Min      1Q  Median      3Q     Max 
-5493.2 -2433.8   -41.9  1491.5 17713.1 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)  -2853.6     1407.0  -2.028   0.0452 *  
education      898.8      127.0   7.075 2.08e-10 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 3483 on 100 degrees of freedom
Multiple R-squared:  0.3336,    Adjusted R-squared:  0.3269 
F-statistic: 50.06 on 1 and 100 DF,  p-value: 2.079e-10


summary 함수를 통해 회귀분석 결과를 살펴봅시다.

Residuals:
Min 1Q Median 3Q Max
-5493.2 -2433.8 -41.9 1491.5 17713.1

이 부분은 잔차(Resuduals)의 분포를 나타냅니다. 잔차란 관측값과 예측값의 차이를 의미합니다.
이상적인 회귀분포에서 잔차는 정규분포를 따릅니다. 잔차의 평균은 0이기 때문에 중위수의 부호를 통해서 분포의 치우침 정도를 확인할 수 있습니다.
여기서 중위수는 -41.9이기 때문에 평균 0을 중심으로 왼쪽에 있습니다.(왼쪽으로 꼬리가 긴 분포 )


Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -2853.6 1407.0 -2.028 0.0452 *
education 898.8 127.0 7.075 2.08e-10 ***


Coefficients는 회귀계수 추정치 및 그 회귀계수에 대한 유의성 검정 결과입니다.
회귀계수에 대한 t검정은 회귀계수가 0이라는 귀무가설을 검정합니다. 여기에서 독립변수 education에 대한 p값은 유의수준 0.05에 대해서 매우 작기 때문에 회귀계수의 추정치는 통계적으로 유의합니다.


Residual standard error: 3483 on 100 degrees of freedom
Multiple R-squared: 0.3336, Adjusted R-squared: 0.3269
F-statistic: 50.06 on 1 and 100 DF, p-value: 2.079e-10


Residual standard error(RSE)는 잔차표준오차를 의미합니다. 잔차의 표준오차는 회귀모델을 이용해서 독립변수로부터 종속변수를 예측할 때 발생하는 잔차의 표준편차입니다. 즉, RSE는 회귀선을 중심으로해서 상하로 변동하는 관측값의 평균변동성을 나타냅니다.
RSE는 모델에 의해서 설명되지 않는 데이터의 패턴을 보여주는 척도이기 때문에 작은 값을 가질수록 모델의 적합도가 좋다는 것을 의미합니다.


Multiple R-squared는 R-squared를 의미합니다. R-squared는 회귀 모델의 설명력을 나타냅니다. Multiple R-squared: 0.3336은 회귀 모델이 소득 변동성에 대해 33.36%를 설명함을 나타냅니다. 따라서 R-squared 값이 클수록 모델의 설명력이 높다는 것을 의미합니다.


F-statistic을 보시면 이 부분은 회귀식의 유의성을 검정한 것입니다. F 값을 통해 유의성 검정을 확인할 수 있습니다.


# 새로운 데이터에 대한 예측 

# 예측에 사용할 변수 생성
Prestige.new = data.frame(education=c(5,10,15))

predict(Prestige.lm, newdata = Prestige.new)

# 예측값에 대한 95% 신뢰구간
predict(Prestige.lm, newdata = Prestige.new, interval = "confidence")

반응형