상관과 회귀

예측 분석의 기본이 되는 상관과 회귀의 개념을 알아봅니다


수강중

8. 회귀분석 실습 1

실습하기 전에

  • 회귀 분석에서 모든 x에서 동일한 y가 나온다는 보장이 없기 때문에 오차가 존재
  • 회귀 선: 각각의 x에 대해서 나와야 하는 y를 나타낸 것
  • 오차: 회귀 선과 자료 사이의 거리

최소 자승법

  • 오차를 최소화하는 선을 찾는 방법
  • 거리
    • 거리를 구할 때 일반적인 거리를 구하면 위로 떨어져 있는 값은 양의 값이 나오고 아래로 떨어져 있는 값은 음의 값이 나오기 때문에 상쇄될 수 있어 거리의 총합을 구할 수 없음
    • 절댓값을 취하는 방법
    • 제곱하는 방법(총제곱합오차)
  • 총제곱합오차가 최소화하는 값을 찾으면 됨

$$ \sum_{i=1}^{n}(y_i - (bx_i + a))^2 $$

결과를 살펴볼 때 봐야 할 것들

  • 모형의 유의성
  • 회귀 계수
  • r-square
  • 간단한 예측 해보기
    -> 오늘 강의해서는 모형의 유의성과 회귀 계수를 살펴볼 예정

실습

자료 불러오기

library(corrgram)
vars2 <- c("Assists","Atbat","Errors","Hits", "Homer", "logSal", "Putouts","RBI","Runs","Walks","Years")
cor.data <- baseball[,vars2]
Registered S3 methods overwritten by 'ggplot2':
  method         from 
  [.quosures     rlang
  c.quosures     rlang
  print.quosures rlang
Registered S3 method overwritten by 'seriation':
  method         from 
  reorder.hclust gclus

예측을 위한 자료 하나 빼기

pred.data <- cor.data[100,]
train.data <- cor.data[-100,]

야구 선수의 타점을 이용해 연봉 예측하는 회귀분석

lm.model = lm(logSal ~ RBI, data = train.data)
lm.model
Call:
lm(formula = logSal ~ RBI, data = train.data)

Coefficients:
(Intercept)          RBI  
   2.232388     0.006629  
  • 계수에 대한 정보

더 많은 정보 얻기

summary(lm.model)
Call:
lm(formula = logSal ~ RBI, data = train.data)

Residuals:
     Min       1Q   Median       3Q      Max 
-0.81573 -0.25592  0.04475  0.25880  1.09538 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) 2.2323885  0.0477620   46.74  < 2e-16 ***
RBI         0.0066289  0.0008286    8.00 4.12e-14 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.3471 on 260 degrees of freedom
  (59 observations deleted due to missingness)
Multiple R-squared:  0.1975,	Adjusted R-squared:  0.1944 
F-statistic:    64 on 1 and 260 DF,  p-value: 4.125e-14
  • Residuals: 오차(직선과 자료 사이가 얼마나 떨어져 있는가)
    • 양의 값은 위로 떨어져 있는 것이고 음의 값은 아래로 떨어져 있는 것 $$y = a + bx$$
  • RBI Estimate: 타점에 의한 연봉 상승을 나타내는 값($a$)
    • 타점이 1만큼 증가할 때 연봉이 0.0066만큼 증가함
  • Intercept Estimeate: y 절편, 타점이 하나도 없을 때 연봉을 얼마나 받는가($b$)
  • P값: 회귀 계수들이 0인지 아닌지 알려줌
    • *가 있으면 유의미하다는 뜻
    • 즉, 0.05보다 작기 때문에 회귀 계수들은 0이라고 보기 힘듦