티스토리 뷰

R Language

[R] 5. 회귀분석

OManager 2020. 4. 22. 03:41

 

 

1. 회귀분석(Regression Analysis)

- 하나의 변수를 설명하는데 있어 이에 영향을 주는 다른 변수들과의 관계를 함수식으로 표현

- 각 변수의 영향력을 조사하여 영향 변수들의 변화에 따른 관심변수의 변화를 예측하는데 사용

- 영국의 우생학자 Francis Galton(1985) 아들의 키는 아버지의 키에 비례하여 자란다. 

- 원인의 역할을 하는 변수를 독립변수(Independent variable) 또는 (Predictor variable)

- 결과를 관측하는 변수를 종속변수(Dependent variable) 또는(Response variable)

 

2. 다중회귀 모형(Multiple liner regression)

- 종속 변수 \(Y\)를 설명하는데 \(k\)개의 독립변수인 \( x_1, x_2, \cdots, x_k \)를 사용할때 다중회귀 모형은 아래와 같이 정의 된다. 

$$Y_i = \beta_0 + \beta_1x_{i1} + \beta_2x_{i2} + \cdots + \beta_kx_{ik} + \varepsilon_i $$

$$ i = 1, 2, \cdots, n $$

 

- 다중 회귀 모형은 행렬로 표현함으로써 간단한 형태로 표현 가능 

$$ Y_i = \beta_0 + \beta_1x_{11} + \beta_2x_{12} + \cdots + \beta_kx_{1k} + \varepsilon_1 $$

$$ Y_i = \beta_0 + \beta_1x_{21} + \beta_2x_{22} + \cdots + \beta_kx_{2k} + \varepsilon_2 $$

$$ \vdots $$

$$ Y_i = \beta_0 + \beta_1x_{n1} + \beta_2x_{n2} + \cdots + \beta_kx_{nk} + \varepsilon_n $$

 

- \(Y\)항, \(x\)항, 회귀계수, 오차항을 벡터와 행렬로 정의 

$$ X = \begin {pmatrix} 1 & x_{11} & x_{12} & \cdots & x_{1k} \\  1 & x_{21} & x_{22} & \cdots & x_{2k} \\  \vdots & \vdots & \vdots & \ddots & \vdots \\ 1 & x_{n1} & x_{n2} & \cdots & x_{nk}  \end {pmatrix} $$

 

$$ Y = \begin {pmatrix} Y_1 \\ Y_2 \\ \vdots \\ Y_n \end {pmatrix} $$

$$ \beta = \begin {pmatrix} \beta_0 \\ \beta_1 \\ \vdots \\ \beta_k \end {pmatrix} $$

$$ \varepsilon = \begin {pmatrix} \varepsilon_1 \\ \varepsilon_2 \\ \vdots \\ \varepsilon_n \end {pmatrix} $$

 

-  행렬을 기초한 회귀 모델 

$$ Y= X\beta + \varepsilon $$

 

- 오차항 \(\varepsilon \sim \) 정규 분포 : \(N(0, \sigma^2)\)

$$ Var[\varepsilon] = \begin {pmatrix} \sigma^2 & 0 & \cdots & 0 \\ 0 & \sigma^2 & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & \sigma^2 \end {pmatrix} = \sigma^2I $$

 

3. 회귀 계수의 추정

- 회귀 계수의 \( \beta \)의 추정은 최소자승법(Least square Method)을 기초로 하여 계산 

$$ Min Q = \sum [Y_i - \hat{Y_i}]^2 = \sum [Y_i - (\beta_0 + \beta_1x_{i1} + \beta_2x_{i2} + \cdots + \beta_kx_{ik})]^2 $$

 

- 최소 자승법에 의한 회귀 계수의 추정은 제곱합 \(Q\)를 각 \(\beta_j\)에 대하여 편미분하고 이를 0으로 하는 연립방정식을 풀면 \( \hat{\beta_j}\) 값을 구할 수 있음 

$$ { \partial Q \over \partial \beta_0 } = -2 \sum [ Y_i - (\beta_0 + \beta_1x_{i1} + \beta_2x_{i2} + \cdots + \beta_kx_{ik})] = 0 $$

$$ { \partial Q \over \partial \beta_1 } = -2 \sum x_{i1}[ Y_i - (\beta_0 + \beta_1x_{i1} + \beta_2x_{i2} + \cdots + \beta_kx_{ik})] = 0 $$

$$ \vdots $$

$$ { \partial Q \over \partial \beta_k } = -2 \sum x_{ik}[ Y_i - (\beta_0 + \beta_1x_{i1} + \beta_2x_{i2} + \cdots + \beta_kx_{ik})] = 0 $$

 

- 위 연립 방정식을 풀면 \( \hat{\beta} \) 값들이 추정이 될 수 있음 

$$ \hat{\beta_0}n + \hat{\beta_1}\sum x_{i1} + \cdots + \hat{\beta_k}\sum x_{ik} = \sum Y_i $$

$$ \hat{\beta_0}\sum x_{i1} + \hat{\beta_1}\sum x_{i1}^2 + \cdots + \hat{\beta_k}\sum x_{i1}x_{ik} = \sum x_{i1}Y_i $$

$$ \vdots $$

$$ \hat{\beta_0} x_{k1} + \hat{\beta_1}\sum x_{ik}x_{i1} + \cdots + \hat{\beta_k}\sum x_{ik}^2 = \sum x_{ik}Y_i $$

 

- 위 정규 방정식을 벡터 - 행렬식으로 표현하면 

$$ X'X = \begin {pmatrix} n & \sum x_{i1} & \sum x_{i2} & \cdots & \sum x_{ik} \\  \sum x_{i1} & \sum x_{i1}^2 & \sum x_{i1}x_{i2} & \cdots & \sum x_{i1}x_{ik} \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ \sum x_{ik} & \sum x_{ik}x_{i1} & \sum x_{ik}x_{i2} & \cdots & \sum x_{ik}^2 \end {pmatrix} $$

 

- \( Y=X\hat{\beta} \) 식으로 \( \hat{\beta} \)공식 유도

- 양변에 \(X'\)을 곱하라

$$ X'Y = X'X\hat{\beta} $$

- 양변에 \(X'X \)에 대한 역행렬을 곱하라 

$$ (X'X)^{-1}X'Y = (X'X)^{-1}(X'X) \hat{\beta}$$

- 따라서 

$$ \hat{\beta} = (X'X)^{-1}X'Y $$

- 우측에 있는 행렬\(X\)와 열벡터\(Y\)는 이미 알고 있는 값 

단, 역행렬(Inverse matrix)가 존재한다고 가정 

- 변수들 간의 선형 관계가 존재한다면 역행력이 존재하지 않을 수 도 있음 ( 변수간 독립이어야 한다. )

 

3. 단순 회귀 모형

$$ Y_i = \beta_0 + \beta_1x_i + \varepsilon,   i=1,2, \cdots, n $$

$$ X = \begin {pmatrix} 1 & x_1 \\ 1 & x_2 \\ \vdots & \vdots \\ 1 & x_n \end {pmatrix} $$

$$ \beta = \begin {pmatrix} \beta_0 \\ \beta_1 \end {pmatrix} $$

$$ X'X = \begin {pmatrix} n & \sum x_i \\ \sum x_i & \sum x_i^2 \end {pmatrix} $$

$$ (X'X)^{-1} = {1 \over \sum(x_i - \bar x)^2} \begin {pmatrix} {1 \over n} \sum x_i^2 & - \bar x \\ - \bar x & 1 \end {pmatrix} $$

$$ X'Y = \begin {pmatrix} \sum Y_i \\ \sum X_iY_i \end {pmatrix} $$

 

따라서 

$$ \hat{\beta} = \begin {pmatrix} \hat{\beta_0} \\ \hat{\beta_1} \end {pmatrix}  = {1 \over \sum(x_i - \bar x)^2} \begin {pmatrix} {1 \over n}\sum x_i^2 & - \bar{x} \\ - \bar{x} & 1 \end {pmatrix} \begin {pmatrix} \sum Y_i \\ \sum x_iY_i\end {pmatrix} = {1 \over \sum(x_i -\bar{x})^2} \begin {pmatrix} \bar{Y} \sum x_i^2 - \bar{x} \sum x_iYi \\ \sum x_iY_i - n \bar{x} \bar{y}\end {pmatrix}$$

 

따라서 

$$ \hat{\beta_0} = \bar{Y} - \hat{\beta_1\bar{X}} $$

$$ \hat{\beta_1} = { \sum x_iY_i - n \bar{x} \bar{y} \over \sum (x_i - \bar{x} )^2 }$$

'R Language' 카테고리의 다른 글

[R] 4. 행렬 기초 이론  (0) 2020.04.19
[R] 3. R을 이용한 데이터 관리  (0) 2020.03.31
[R] 2. R 데이터 구조  (0) 2020.03.29
[R] 1. R Program Install  (0) 2020.03.29
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함