<< 6주차 Lecture Note 1번째>>
- Multivariate Linear Regression
- Least Square Principle of Multiple
- Evaluate of Multiple (Cross Validation)
Multivariate Linear Regression
2024.05.22 - [KOOC/DataScience Programming] - Linear Regression Basic <5-1>
Linear Regression Basic <5-1>
>Deterministic RelationEstimate of beta ( Least Square Principle )Evaluate of beta(R-Square)Deterministic Relation 2024.05.19 - [KOOC/DataScience Programming] - Multivariate Gaussian Distribution and Covariance" data-og-description=">Multivariate Gaussian
statfinance.tistory.com
이전에 우리는 Univariate Linear Regression에 대한 기초 이론을 배웠다.
하지만 실무에서 univariate 을 사용하는 경우는 거의 없고,
수많은 데이터들을 변수로 채택하고 다변량 모델링을 하는 경우가 대부분이다.
현실에서, 종속변수 \(Y\)와 관계되는 것은 특정한 하나의 \(X\)만이 아니다.
여러개의 독립변수 \(X\)가 각각 \(Y\)와 관계될 수 있다.
위 그림은 \(Y\)와 관계되는 여러 \(X\)들을 표현한 pairplot이다.
이렇게 \(Y\)와 관계되는 많은 \(X\)들에 대한 분석을 위해 Multivariate Linear Regression을 학습할 필요가 있다.
단변량(univariate)에서는 linear regression 이론을 하나의 \(Y\), 하나의 \(X\)를 기반으로 다룬다.
다변량(multivariate)에서는 여러개의 \(Y\), 여러개의 \(X\)를 다룬다.
다변량에서의 \(Y\) 나 \(X\)는 matrix로 표현되며, 사실 단변량은 다변량의 데이터 중 특정 1개의 데이터를 vector로 표현한 것일 뿐이다.
univariate과 multivariate의 차이는 아래와 같다.
위 식 중 Multiple에서 'D'는 \(X\)의 갯수이며, 이를 Dimension 이라고 한다.
보통 독립변수 \(X\)의 갯수로 데이터의 차원을 표현한다.
Multiple에서의 회귀모델 수식은 더 간단히 표현될 수 있다.
\(X\) 벡터의 집합으로 이루어진 행렬 Large \(X\)를 \( \mathrm{X} \) 로,
\( \beta \) 값들을 벡터로 나타낸 Large \( \beta \) 를 \( \mathrm{\beta} \) 로 나타낼 때,
\( \mathrm{X} = \begin{pmatrix} 1 & x^1_1 & \cdots & x^D_1 \\ \vdots & \vdots & \ddots & \vdots \\ 1 & x^D_n & \cdots & x^D_n \end{pmatrix} ,\begin{pmatrix} \beta_0 \\ \beta_1 \\ \beta_2 \\ \cdots \\ \beta_D \end{pmatrix} \)
위 식으로 표현 된다. 따라서,
\( \mathrm{Y} = \mathrm{X}\mathrm{\beta} \) 로 simple하게 표현할 수 있다.
Least Square Principle of Multiple
Multivariate Linear Regression의 \( mathrm{\beta} \) 추정은 Univariate과 동일하게 Least Square Principle이 적용된다.
상세한 추정 풀이는 하지 않을거고, 간단히 \( \mathrm{\hat\beta} \)를 계산하면 아래와 같다.
Evaluate of Multiple (Cross Validation)
최소제곱법에 의해 추정된 \( \mathrm{\beta} \)는 Univariate에서와 마찬가지로 검증이 필요한데,
Univariate 과 동일하게 R-sqaure를 사용할 수는 있다.
하지만, Multivariate에서는 2차원 평면에 모든 표현이 불가능하기때문에 R-square로만 검증하는 것은 적절하지 않으며,
Diagnostic plot을 이용해 \( \hat{y} \) 와 \( y \)의 관계가 어떻게 형성되어 있는지를 확인한다.
위 그림에서 \( y = \hat{y} \) 라면 각도가 45도인 일직선 상에 모든 점이 표현될 것이다.
또 우리는 Cross-Validation 을 적용해서 모델을 검증해볼 수 있다.
사실 모든 데이터에 대해 단 한번의 regression fitting을 적용한 모델은 그 데이터에 대해서만 검증이 가능한 것이다.
데이터가 조금씩 달라지더라도 fitting이 적정한지는 Cross-Validation을 통해 확인할 수 있다.
Cross-Validation 이란, 전체 데이터 중 일부(test)를 제외한 나머지 데이터(train)로만 fitting 하고,
추론된 \( \hat\beta \) 로 일부(test) 에 대해 반복 검증하는 방식이다.
이 때 일부(test)는 랜덤하게, 또는 임의로 잘라 지정하게 된다.
이런 cross validation 방식 중 가장 기초적으로 사용하는게 K-fold Cross Validation이다.
K-fold cross validation 은, 전체 데이터를 n 등분 하고 그 중 1개의 배치를 test set으로, n-1개의 배치를 train set으로 검증하며,
n 등분 된 각각의 배치를 test set으로 두고 iteration 하면서 검증하는 방식이다.
꼭 Linear Regression 모델이 아니더라도, 어떤 데이터에 특정 모델을 fitting 한 후 해당 모델이 적합한지 확인하기 위해서
k-fold cross validation 방식은 유의미하다. (모델이 적합하다면 여러번의 검증에서 모두 검증 metric이 잘 나올 것이므로)
2024.05.18 - [KOOC/DataScience Programming] - Confidence Interval and Bootstraping <3-2>
Confidence Interval and Bootstraping <3-2>
>Bootstrappingsimple methodBootstrapping 2024.05.14 - [KOOC/DataScience Programming] - Confidence Interval and Bootstraping " data-og-description=">Sample and PopulationCentral Limit TheoremSample and Population 앞선 강의에서 데이터로부터 mom
statfinance.tistory.com
앞에서 작성한 Bootstrapping 은 특정 데이터에서 샘플을 여러번 뽑아 검증하는 방식이었는데,
cross validation(CV)은 이와 유사한 방식이라 보면 된다.
CV는 iteration을 통해 산출되는 metric을 평균해서 그 최종 지표값을 결정한다.
이 말은, CV를 반복할 때 그 평균값, 분산, CI가 나온다는 것이고, 통계적 검정이 가능해진다는 것이다.
CV에 대한 코드는 직접 구현하진 않을거고, python 라이브러리 중 scikit-learn의 CrossValidation 클래스를 사용하면 된다.
강의에서 주어진 데이터에 대해 컬럼 3개를 임의로 선택 후 CV를 적용한 metric은 아래와 같이 나온다.
\( \quad \) train: 0.8598
\( \quad \) test: 0.2889
regression 모델링 후 구한 R-square metric을 보면,
train 데이터셋에 대해서는 0.8598로 높게 나오지만, test 셋에는 매우 저조한 수준으로 나온다.
이 말은, 우리가 모델링을 위한 변수로 선택한 것이 실제 패턴을 크게 캐치하지 못한 것으로 볼 수 있다.
즉, 변수를 추가하거나 다른 변수를 선택해야 한다는 것이다.
다음 글에서, 변수 선택에 대해 논의해보자.
'KOOC > DataScience Programming' 카테고리의 다른 글
Machine Learning Frameworks <7-1> (0) | 2024.06.02 |
---|---|
Linear Regression Advanced <6-2> (0) | 2024.05.25 |
Linear Regression Basic <5-1> (0) | 2024.05.22 |
Multivariate Gaussian Distribution and Covariance<4-1> (1) | 2024.05.19 |
Confidence Interval and Bootstrapping <3-2> (0) | 2024.05.18 |