티스토리 뷰

Topological Data Analysis 방법에 대해 궁금한 사항은 Slideshare를 통해서 공개된 자료를 참고해 주시면 되고, 여러 논문들에서도 방법을 확인하실 수 있습니다. 뉴스타파는 제가 제일 신뢰하는 언론이기에 뉴스타파 홈페이지를 자주 방문하곤 합니다. 전국 242개 지방자치단체 토건예산, 복지예산, 자살률 자료가 공개 된지는 두어달 전이지만, 그동안 그냥 눈팅만 하다가 이제야 데이터를 직접 분석해 보기로 했습니다. Topological Data Analysis (이하 TDA)는 데이터 간의 거리 정보를 이용하여 데이터 간에 관계를 분석하는 기법으로 순수 수학인 '위상수학'에 뿌리를 두고 있습니다. 

데이터 분석을 위해서 사용한 데이터는 2009년 복지예산과 토건예산의 비율, 2012년 복지예산과 토건예산의 비율, 그리고 2012년 10만명당 자살자수(연령표준화) 데이터를 이용하여 242x3 의 크기를 갖는 데이터를 구성했고, 각 컬럼 단위로 데이터를 표준화 해서 사용했습니다. 표준화 한 후에는 자살률에 대한 효과를 극명하게 관찰하기 위해서 자살률 데이터에 x2를 하여 분석을 진행했습니다. TDA를 위해서는 거리 함수와 필터 함수가 필요한데, 거리는 각 데이터와 데이터 간의 L2-distance로 정의했고 필터 함수는 L-infinity eccentricity로 정의했습니다. 아래 그림에서 각 노드의 색깔은 필터 값을 의미합니다.

분석의 결과로 그래프가 생성되는데, 각 그래프의 노드에는 필터 값이 비슷하면서 거리가 가까운 데이터들이 몰려 있습니다. 가령 Group1에는 광주(북구), 전북(본청), 대구(북구) 가 비슷한 거리를 갖는 것으로 분석 되었는데, 아래 그림에서 볼 수 있듯이 Group1에 들어 있는 지방자치 단체의 경우에 자살률이 낮고, 2009년과 2012년의 복지예산이 토건예산보다 4배 이상 많은 것으로 나타났습니다. Group2도 자살률이 낮지만, 결과로 생성된 Topology에서는 Group1과는 다른 위치에 있습니다. 데이터를 자세히 살펴보니, Group2의 경우에는 2009년과 2012년에 모두 복지예산이 토건예산보다 많은 것은 물론이고, 3년 사이에 복지예산/토건예산의 비율이 거의 2배 이상 증가 했음을 알 수 있었습니다. Group2에 속한 지방자치 단체로는 서울(노원구), 대구(달서구), 대전(서구) 가 있습니다.


복지예산과 토건예산의 비율이 자살률과 관련이 있다는 것은 Group3의 결과를 보면 알 수 있는데요, Group3의 경우에는 자살률은 Group1과 Group2에 속한 지방자치단체보다 자살률이 2배로 높게 나타났지만, 2009년과 2012년의 복지예산과 토건예산의 비율이 자살률이 낮은 그룹에 비해서 현격하게 줄어들어 있음을 알 수 있었습니다. Group3에 포함된 지방자치단체로는 강원(홍천과 양양), 충북(단양), 전북(장수), 전남(함평), 경남(함양)이 있습니다.



Group4에 포함되어 있는 지방자치단체의 경우에는 인구 10만명당 자살률이 약 30명 정도 이고, 위의 그래프를 보면 복지예산의 비율을 점점 높여 가려는 노력을 기울이고 있다고 볼 수 있습니다.

이번 데이터 분석을 진행하면서 TDA를 통해 데이터의 insight를 찾을 수 있음에 대한 더욱 큰 확신이 들었고, 실제로 복지예산과 토건예산의 비율이 자살률과 크게 관련 있다는 결과를 지방자치단체장님들께서 인지하시어 전국 각지에 좋은 복지 정책들이 제공되었으면 좋겠다. 그래서 떠나고 싶은 나라. 살기 싫은 나라. 가 아니고, 내가 국가로부터 받은 (복지 등) 혜택을 어떻게 다 보상해야 할까? 를 고민하는 국민이 늘어나는 나라가 되었으면 좋겠다. Group1,2와 Group3에 속한 지방자치단체장의 정당 구성까지 살펴보고 싶었는데, 그렇게 하면 거의 논문 수준이 될꺼 같아서 여기까지만!

여담으로 국가수리과학연구소에서 3년간 근무하면서 얻은 가장 큰 수확은 인성의 뇌신경 상관성 연구 논문을 출판한 것이고, 두번째로 큰 수확은 Topological Data Analysis에 대한 수학적 이론과 방법을 터득하여 실제 데이터 분석에 활용할 수 있는 수준이 되었다는 것이다. 아직 해결하지 못한 부분은 필터 함수를 2차원으로 적용하는 방법인데... 음, 올해 안에 해결할 수 있도록 해야지.


작성자: 데이터과학자 경성현



댓글
  • 프로필사진 김치찌개 차트가 스토리를 받혀주기에 불편하게 되어있어서 아쉽네요. 문제의 중심이 자살률과 예산의 관계를 보여주는것이 목적이면, 스캐터 플랏으로 두 디멘션을 동시에 올려서 찍고, 트렌드만 리그레션으로 보여주셨으면 좋았을텐데, 파이쏜으로 애널러시스 하신건 좋은데, 차트는 타블루로 찍어보세요. 2014.07.26 04:42 신고
  • 프로필사진 경성현 좋은 의견 감사합니다. 이 분석의 목적은 단순히 예산과 자살자수를 비교하는 것이 아닙니다. 그게 목적이었다면 말씀하신것처럼, 토건예산과 자살자수 사이의 상관성 계수와 복지예산과 자살자수 사이의 상관성 계수를 계산하면 되겠지요. 혹은 다변량 분석을 통한 방법도 있겠습니다. 그래프로 제시한 것은 TDA의 결과로 확인된 4개의
    그룹에 대한 기본적인 통계량을 제공하기 위한 목적이 전부였습니다. 그렇다 해도 \'김치찌개\'님의 조언데로 Scatter plot등을 통해서 두 변수 간의 관련성을 보여줬으면 조았을걸... 하는 아쉬움이 남네요.
    2014.07.26 07:44 신고
  • 프로필사진 야옹이 멋진 분석 잘 보았습니다. 떠나고 싶은 나라에서 기여하고 싶은 나라로 바뀌었으면 좋겠습니다. 2014.08.04 11:00 신고
  • 프로필사진 경성현 답글 감사합니다 8-) \'이땅에서 과연 정의가 승리하는 날이 올까?\' 라는 의심을 늘 하고 있지만, 무언가 제가 할 수 있는 일들을 하려고 합니다. 2014.08.04 11:15 신고
  • 프로필사진 name 잘 읽었습니다 유용한 정보 감사드려요~
    2015.07.12 06:03 신고
  • 프로필사진 경성현 잘 읽어주셔서 감사합니다^^ 2015.07.14 07:03 신고
  • 프로필사진 하태준 안녕하세요! 몇일전부터 여기와서 TDA 대해서 공부하고 있습니다. 좋은 글 및 논문 추천 정말 감사합니다.

    저는 파이썬으로 TDA를 구현해보고 있는데,

    궁금한 사항이 있어서 이렇게 글 남깁니다.

    projection, distance_matrix, interval, intervals overlap 설정값을 둘 때에
    어떤식으로 진행되는지 궁금합니다.

    projection과 distance_matrix는 데이터의 분포와 관련이 있는거 같은데, interval에 관한 변수는 어떤식으로 설정하셨는지 궁금합니다.
    2017.08.13 15:29 신고
댓글쓰기 폼