[디스플레이센서 이상요인 분석] 2021/8/3 VIF계수를 이용한 컬럼제거 자동화

August 03 2021

오늘 한 것

  1. VIF계수를 이용한 컬럼 제거 자동화 구현

오늘은 VIF계수가 30이 될 때까지 컬럼을 제거하는 작업을 자동화하는 처리를 구현했습니다. 원래는 직접 일일히 VIF계수가 줄어드는 것을 직접 확인해보며 컬럼을 줄이려고 했는데 컬럼 수가 너무 많고 VIF계수의 크기도 너무 커서 한 눈에 값을 비교하기 힘들었습니다. 그리고 아직도 의문인게 같은 소스로 같은 DataFrame에 대해 VIF 계산을 하면 PC마다 결과가 다르게 도출되어 팀원간에 전처리 과정이 달랐던건지 확인을 하느라 (또한 VIF계수를 한번 구할때마다 많은 시간이 소비되기도 해서) 몇시간을 허비했습니다. 결국엔 PC환경이나 성능에 따라 연산 메모리가 달라서 그런 것은 아닐까 라는 결론을 내렸습니다. 왜냐하면 코랩에서의 결과끼리는 같았기 때문입니다.

아무튼 직접 하나씩 컬럼을 비교해보는 것은 너무 무리인 것 같아 VIF계수가 높은 것부터 순차적으로 컬럼을 하나씩 제거하는 함수, 두개씩 제거하는 함수, 세개씩 제거하는 함수를 만들어 어느 일정 개수까지 하나씩 제거해도 VIF계수가 낮아지지 않으면 두개씩 지워보고 그래도 VIF계수가 낮아지지 않으면 세개씩 제거…반복하도록 구현했습니다. 아직은 테스트 중이긴 한데 제발 세개씩 제거하는 단계에서 잘 마무리가 되었으면 좋겠습니다.

그리고 내일은 VIF계수를 자동으로 구하는 동안에 PCA주성분분석에 대해 공부를 해볼 것입니다.

Leave a comment