2차 판별 분석 소개


일련의 예측 변수가 있고 응답 변수를 두 클래스 중 하나로 분류하려는 경우 일반적으로 로지스틱 회귀를 사용합니다.

그러나 반응 변수에 가능한 클래스가 2개 이상인 경우 일반적으로 LDA라고 불리는 선형 판별 분석을 사용합니다.

LDA는 (1) 각 클래스의 관측치가 정규 분포를 따르고 (2) 각 클래스의 관측치가 동일한 공분산 행렬을 공유한다고 가정합니다. 이러한 가정을 사용하여 LDA는 다음 값을 찾습니다.

  • μ k : k 번째 클래스의 모든 훈련 관측치의 평균입니다.
  • σ 2 : k 개 클래스 각각에 대한 표본 분산의 가중 평균입니다.
  • π k : k 번째 클래스에 속하는 훈련 관측값의 비율입니다.

그런 다음 LDA는 이 숫자를 다음 공식에 연결하고 공식이 가장 큰 값을 생성하는 클래스에 각 관측값 X = x를 할당합니다.

d k (x) = x * (μ k2 ) – (μ k 2 /2σ 2 ) + log(π k )

LDA는 이름에 선형(linear)이라는 뜻이 있는데, 이는 위 함수에 의해 생성된 값이 x의 선형 함수 결과에서 나오기 때문입니다.

선형 판별 분석의 확장은 종종 QDA라고 불리는 2차 판별 분석 입니다.

이 방법은 LDA와 유사하며 각 클래스의 관측값이 정규 분포를 따른다고 가정하지만 각 클래스가 동일한 공분산 행렬을 공유한다고 가정하지는 않습니다. 대신 QDA는 각 클래스에 자체 공분산 행렬이 있다고 가정합니다.

즉, k 번째 클래스의 관측값이 X ~ N(μ k , Σ k ) 형식이라고 가정합니다.

이 가정을 사용하여 QDA는 다음 값을 찾습니다.

  • μ k : k번째 클래스의 모든 훈련 관찰의 평균입니다.
  • Σ k : k번째 클래스의 공분산 행렬입니다.
  • π k : k 번째 클래스에 속하는 훈련 관측값의 비율입니다.

그런 다음 QDA는 이 숫자를 다음 공식에 연결하고 각 관측값 X = x를 공식이 가장 큰 값을 생성하는 클래스에 할당합니다.

D k (x) = -1/2*(x-μ k ) T Σ k -1 (x-μ k ) – 1/2*log|Σ k | + 로그( πk )

위 함수에 의해 생성된 값은 x의 2차 함수 결과에서 나오므로 QDA 이름에 2 함수가 있다는 점에 유의하세요.

LDA 대 QDA: 둘 중 하나를 사용해야 하는 경우

LDA와 QDA의 주요 차이점은 LDA는 각 클래스가 공분산 행렬을 공유한다고 가정하므로 QDA보다 분류기의 유연성이 훨씬 떨어진다는 것입니다.

이는 본질적으로 분산이 낮다는 것을 의미합니다. 즉, 다른 훈련 데이터세트에서 동일한 성능을 발휘한다는 의미입니다. 단점은 K 클래스가 동일한 공분산을 갖는다는 가정이 거짓인 경우 LDA가 높은 편향으로 인해 어려움을 겪을 수 있다는 것입니다.

일반적으로 다음과 같은 상황에서는 QDA가 LDA보다 선호됩니다.

(1) 훈련 세트가 크다.

(2) K 클래스가 공통 공분산 행렬을 공유할 가능성은 거의 없습니다.

이러한 조건이 충족되면 QDA는 더 유연하고 데이터에 더 잘 적응할 수 있기 때문에 더 나은 성능을 발휘하는 경향이 있습니다.

QDA를 위한 데이터 준비 방법

QDA 모델을 적용하기 전에 데이터가 다음 요구 사항을 충족하는지 확인하세요.

1. 반응 변수는 범주형입니다 . QDA 모델은 분류 문제 , 즉 반응 변수를 클래스나 범주에 배치할 수 있는 경우에 사용하도록 설계되었습니다.

2. 각 클래스의 관측값은 정규 분포를 따릅니다 . 먼저, 각 클래스의 값 분포가 대략 정규 분포를 따르는지 확인합니다. 그렇지 않은 경우 먼저 데이터를 변환하여 분포를 보다 정규화하도록 선택할 수 있습니다.

3. 극단적인 특이치를 설명합니다. LDA를 적용하기 전에 데이터세트에서 극단적인 이상값이 있는지 확인하세요. 일반적으로 상자 그림 이나 산점도를 사용하여 이상값을 시각적으로 확인할 수 있습니다.

R 및 Python의 QDA

다음 자습서에서는 R 및 Python에서 2차 판별 분석을 수행하는 방법에 대한 단계별 예를 제공합니다.

R의 2차 판별 분석(단계별)
Python의 2차 판별 분석(단계별)

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다