-
[4장]ISL with R : LDA(선형판별분석)기초지식/ISL with R(통계학) 2023. 7. 8. 07:25반응형
로지스틱회귀 분석과 선형판별분석(LDA: Linear Discriminant Analysis)
ISL with R 4 장에서는 로지스틱 회귀분석 외에 선형판별분석(LDA)라는 분류 분석을 소개한다. 로지스틱 회귀분석은 어떤 분포에 대한 가정없이 우도함수의 경사하강법을 통해서 회귀계수를 찾고 오즈(Odds)와 로짓(Logit)을 통한 판별을 했다. LDA 는 데이터의 분포가 정규분포를 따르며, 클래스별 공분산 행렬이 동일할 때 독립변수(x)를 여러 클래스(k 개의 클래스) 중 어디에 속하는지를 판별하는 방식이다. LDA는 추가적인 가정을 필요로 하지만 여러 클래스가 있는 경우, 표본이 작고 분포가 정규분포인 경우에는 로지스틱 회귀분석보다 효과가 좋다.
독립변수가 하나일 때(p=1)
LDA는 확률에서 베이즈 정리에서 시작한다. 베이즈 정리는 아래 식 1의 왼쪽과 같은 사후확률을 식 1의 오른쪽 부분과 같은 사전확률을 통해서 구할 수 있다는 정리이다.
우리가 구하고자 하는 것은 "확률변수 X가 x 일 때, k 라는 클래스에 속하는 확률"인 식 2와 같은 사후확률이다.
베이즈 정리를 통해서 식 2를 "k 라는 클래스가 나올 확률 * k 클래스일 때 확률변수 X가 x일 확률(사전확률) / x 가 특정 클래스에 속할 모든 확률"이라는 식으로 바꿔 쓸 수 있다. "k 클래스일 때 확률변수 X가 x일 확률"인 사전확률은 아래 식 3과 같다.
LDA 분석을 진행하기 위해서는 추가적인 가정이 필요한데, 데이터의 분포는 정규분포를 따르고, 각 클래스의 공분산 행렬은 동일하다는 것이다. 정규분포를 따른다는 점을 고려하여 사전확률을 아래와 같은 형식으로 표현할 수 있다.
독립변수가 하나일 때는 공분산행렬이 같다는 가정을 추가적으로 사용해서 사후확률은 아래와 같이 정의할 수 있다.(모든 클래스에 대해서 분산은 동일하다)
위 식 5를 정리하면 판별함수를 아래 식 6과 같이 구할 수 있다.
이 때 판별함수가 가장 큰 값을 갖는 클래스가 x 가 속하는 클래스가 된다. 판별함수를 통해서 각 판별함수끼리 만나는 선을 찾을 수 있는데, 이를 결정경계(Decision Boundary)라고 한다. 클래스1과 클래스2가 있다면, 각 클래스의 판별함수가 일치하는 선을 아래 식 7처럼 찾을 수 있는 것이다.
독립변수가 두 개 이상일 때(p>1)
독립변수가 두 개 이상일 때(p>1) 사전확률은 식 8의 과정을 거쳐서 구할 수 있다.
결과적으로 독립변수가 두 개 이상일 때(p>1) 사후확률은 아래와 같이 정의할 수 있다.
위 식 8을 정리하면 p>1 일 때의 판별함수를 아래 식 10과 같이 구할 수 있다.
반응형'기초지식 > ISL with R(통계학)' 카테고리의 다른 글
[4장]ISL with R : 로지스틱회귀 LDA QDA 실습 in R(재무지표를 통한 상승주 분류) (0) 2024.03.14 [4장]ISL with R : QDA(이차판별분석) (0) 2023.07.20 [4장]ISL with R : 로지스틱 회귀(회귀계수의 계산2: 최적해 도출) (1) 2023.04.09 [4장]ISL with R : 로지스틱 회귀(회귀계수의 계산1: 우도함수와 경사하강법) (0) 2023.04.05 [4장]ISL with R : 로지스틱 회귀(로지스틱 함수) (0) 2023.04.04