기본 콘텐츠로 건너뛰기

SIMCA에서 Permutation Test를 통한 PLS, PLS-DA 모델의 유효성 검증

 이번 포스팅에서는 PLS, PLS-DA 모델을 Permutation Test를 통해서 유효성 검증을 해보려고 합니다. CV-ANOVA 포스팅에서 언급한 k-fold CV를 사용하며, 결과 그래프에서는 선택한 Y값에 대한 반복 계산 결과를 확인할 수 있습니다. 



 반복 계산은 어떤 의미를 가지고 있을까요? 통계에서는 이를 Resampling 이라고 얘기하고, 데이터의 양을 인위적으로 늘려서 보다 '의미'가 있는 분석을 하기 위함이라고 보시면 되겠습니다. 더 쉽게 표현하자면 주머니에 있는 100원짜리 동전을 10번 던졌을 때 10번 다 앞면이 나온 것과 100,000,000번을 던졌는데 전부 앞면이 나온 것을 비교하면 후자의 경우는 동전의 앞면과 뒷면에 뭔가 가공을 통해 뒤집었을 때 항상 앞면이 나오게끔 가공을 했다라고 생각을 할 수 있겠죠. Resampling은 동전을 10번만 던진 결과를 가지고 가상의 데이터를 더 만들어서 통계적 '의미'를 확인할 수 있게 해주는 기법이라고 보시면 됩니다. 




 그러면, Resampling을 통해서 만들어진 데이터는 어떻게 계산을 할까요? 다시 1번의 계산을 통해 R2, Q2 값을 구하면 그 것으로 유효성을 얘기할 수 있을까요? 여기에서 k-fold CV를 통해 Resampling된 데이터의 패턴을 제거해야 보다 유효한 결과물을 얻을 수 있게 됩니다. 패턴이라고 하면 동전을 7번 던질때마다 뒷면이 나오는 규칙이 존재한다던지, 이런 반복성을 띄는 현상을 의미하며 분석에 치명적인 결과를 가져오므로 이를 확인할 필요가 있습니다.


 SIMCA에서 k는 7이 기본값이며, 이는 전체 데이터를 랜덤한 길이의 7개 그룹으로 나눠서 1개를 선정하여 모델을 적합하고 이후 선택하지 않은 다른 1개의 그룹을 또 적합하고 이를 반복(Iteration)하여 모델의 유효성을 검증합니다. 랜덤하게 7개로 나눴기 때문에 원본 데이터에 비해서 R2가 당연히 낮게 나올 수 밖에 없고, 데이터의 반복성이 없기 때문에 반복을 더할수록 R2, Q2는 계속 낮게 나오게 됩니다. 만약에 반복성이 보여서 Iteration한 결과에서 R2, Q2가 낮아지지 않는다면, 유효성이 검증될 수 없는 데이터로 보여지게 됩니다. 다시 결과 그래프로 돌아오면 다음과 같은 숫자들의 의미가 보다 이해가 더 될거라 생각됩니다. 


 반복의 결과, R2는 0.0766, Q2는 -0.338이 나온 것을 보실 수 있습니다. SIMCA에서 Permutation Test는 k-fold CV를 통해 가능한한 Permuted Y-벡터가 0%로 도달할 때까지 반복해서 계산을 하며, 그래프의 제일 오른쪽에 위치하는 점은 원본 데이터의 R2, Q2로 볼 수 있습니다. 그래프에서 유효성이 있는 데이터의 경우는 아래와 같은 특징을 지닙니다. 

 1. Permuted R2값은 항상 Original R2 보다 낮아야 한다. 
 2. Permuted Q2와 Original Q2를 잇는 직선의 절편이 음수(negative)여야 한다. 

 이제 여러분의 데이터를 분석할 때 Permutation Test를 이용하여 유효성을 쉽게 검증해보실 수 있을거라 생각합니다. 다음에도 좋은 주제로 찾아 뵙겠습니다 ^^  







댓글

  1. 안녕하세요, PLS-DA permutation 결과에 대해서 검색하다가 선생님께서 정리해주신 글을 읽게 되었습니다. 혹시 괜찮으시다면 R2, Q2 값이 무엇인지, 그리고 Q2의 절편이 왜 음수여야하는지 알려주실 수 있으신가요? (제가 아는 건 R2가 모델의 적합성, Q2가 모델의 예측능력 정도입니다..)

    답글삭제
    답글
    1. 안녕하세요, 답변 확인이 늦어져서 죄송합니다! 문의 주신 사항에 대해서는 내일까지 답변 드릴 수 있도록 하겠습니다.

      삭제
    2. 알고 계시는 R2와 Q2 의미가 Permutation Test에서도 변하지는 않습니다. 해당 테스트는 샘플의 수가 부족한 데이터에 대한 명제 검증을 리샘플링 및 T-Test를 통해 알 수 있게 해주며, 무작위로 섞은 데이터가 무의미할 수록 (R2, Q2가 낮을수록) PLS-DA의 목표인 Discriminant (분류) 가 잘 되었다고 알 수 있습니다. Q2의 절편이 단 0.00001이라도 Positive라면 예측능력이 조금이라도 있다고 보기 때문에 Negative여야 합니다. 부족하지만 도움이 되셨으면 합니다.

      삭제
  2. 안녕하세요! 궁금한 점이 있습니다.
    permutation 결과에서 R2의 기울기가 0 이거나 negative 인 경우에 의미하는 것은 무엇인가요?
    답변부탁드리겠습니다:)

    답글삭제
    답글
    1. 답변이 다소 늦어져서 죄송합니다. ^^; 질문 주신 Permutation 기능에 대해 설명 드리겠습니다. 이는 테스트가 7-fold로 진행하면서 새롭게 Permuted된 Y와 Original Y와의 상관관계 정도를 나타내는 것으로, 대체적으로 부분(Permuted)이 전체(Original)와 유사하지 않음으로 과적합 혹은 유효성을 검증합니다. 수많은 반복 계산을 통해 얻어진 Permuted Y의 R2, Q2의 회귀선의 Y절편을 통해 보다 자세히 알 수 있습니다. R2의 경우는 0<R2<1의 범위를 갖고 회귀선의 Y절편이 100%때보다 낮으면되고, Q2의 경우는 음수이면 됩니다. 혹시 질문주신 negative가 Permuted Y가 Original Y보다 높다는 말씀인가요? 그렇게 나올 수 있을지는 저도 확신이 없지만, 만약 그런 경우라면 데이터가 과적합 혹은 유의미하지 않다고 볼 수 있습니다.

      삭제

댓글 쓰기