데이터 생존 로그

01. 세상은 개발도상국과 선진국으로 나뉠까? 본문

📊 분석 한 스푼 🥄

01. 세상은 개발도상국과 선진국으로 나뉠까?

분석가 베어그릴스 2023. 2. 22. 22:29

이전글: 2023.02.21 - [📊 분석 한 스푼 🥄] - 00. 분석으로 진수성찬을 만들어보자🍚🍖

 

00. 분석으로 진수성찬을 만들어보자🍚🍖

배경 데이터 분석가로써 벌써 반 년을 일했다. 분석 취준 시절과 얼마 안되는 분석가로써의 업무를 경험하면서 내 성장은 항상 하드스킬에만 초점이 맞춰져있었다. 이제 조금씩 분석 업무도 진

analyst-ggom-chi-kim.tistory.com

 

세상은 개발도상국과 선진국으로 나뉠까?

책 [팩트풀니스]를 읽었다.

첫 챕터의 내용은 대충 이랬다.

 

다수의 사람들은 세상이 선진국과 개발도상국으로 나뉜다고 생각한다.
하지만 그건 오래 전의 일이고, 현재는 4단계로 나눌 수 있다.

 

위 내용을 읽으면서 다양하고 복잡한 호기심과 의심점이 생겼지만

크게 두 가지로 정리해보면 다음과 같다.

  • 저자가 제시한 지표 외에 다른 지표를 뜯어봐도 똑같은 결과가 나올까?
  • 실제 나라별 지표들을 거리 기반으로 군집화 해도 결과는 동일할까?

 

위 두 가지 궁금증을 해소하기 위해

분석의 주제를 조금 더 구체화해서 정리해보았다.

 

국민들의 삶의 수준을 나타낼 수 있는 지표를 활용하여

거리 기반으로 군집화하면 몇 개의 그룹으로 나눌 수 있을까?


📃데이터셋 구성

데이터셋은 갭마인더(바로가기)에서 가져왔다.

 

국민들의 삶의 수준을 나타낼 수 있는 feature로는 아래의 네 가지를 선정했다.

  • 1000명당 0~5세 영유아 사망율
  • 여성 1명당 아이 출생 수
  • 1인당 소득
  • 기대 수명

 

또한 과거와 현재는 1965년과 2020년으로 선정했다.

 

그래서 최종적으로 분석에 활용한 스키마는 다음과 같다.

컬럼명 설명 데이터 타입
country 국가명 string
1965_mort 1000명당 0~5세 영유아 사망율(1965년) float
1965_chil 여성 1명당 아이 출생 수(1965년) float
1965_income 1인당 소득(1965년) float
1965_life 기대 수명(1965년) float
2020_mort 1000명당 0~5세 영유아 사망율(2020년) float
2020_chil 여성 1명당 아이 출생 수(2020년) float
2020_income 1인당 소득(2020년) float
2020_life 기대 수명(2020년) float

 

1965년과 2020년 모두 4가지 feature를 가지고 있는 국가는 총 186개의 국가였고,

186개의 국가를 대상으로 분석을 진행했다.


📊EDA ①

총 4개의 feature 중 두 개를 뽑아서 plot을 찍어보았을 때,

국가 간의 군집 형성이 관찰되는지 확인해보았다. 

 

4개의 feature 중 2개를 뽑는 경우의 수는 4C2, 즉 연도별로 6가지 경우의 수가 나온다.

실제로 찍어보니 1965년의 경우,

첫 번째 plot(책에서 활용한 두 가지 지표이다)와 세 번째 plot은 두 가지 군집이 형성되는게 관찰되긴 한다.

 

반면 2020년은 어떠한 plot에서도 군집이 형성되어 보이진 않는다.


📊EDA ②

이번엔 네 가지 피처를 한 번에 보고 싶었다.

그래서 차원축소 방법을 활용했는데,

시각화에서 자주 활용하는 t-SNE와 PCA를 활용했다.

(그 전에 StandardScaling을 수행했다!)

 

먼저 t-SNE 결과다.

1965년이 2020년 보다는 조금 더 특정 부분에 몰리는게 보이긴 한다.

 

다음은 PCA인데,

t-SNE보다 이상치로 조금씩 튀는 녀석들이 보이는게 특징이다.

 

여기까지 EDA였고 일단 내 첫 번째 궁금증은 해결되었다.

다른 지표들도 같이 보니, 책에서 제시하는 기준(과거에는 두 가지 그룹, 현재에는 네 가지 그룹 형성)과는

조금 다른 결과가 조금씩 보이는 것 같다!

 

설레는 마음으로 군집화하러 가보자


🗺️군집화

군집화에 앞서, 군집을 형성하는 기준은 군집 내 거리 제곱합을 활용했다.

즉, 각 국가 그룹의 간의 지표 차이가 적당히 줄어든 최적의 군집을 찾고자 했다.

 

(좌측) 1965, (우측) 2020

위 그림을 참고해보니 최적의 군집은 1965년과 2020년 모두 4 근처에서 형성되는 것처럼 보였다.

 

그래서 k = 4로 k-means 군집화를 수행하였고,

그 결과를 t-SNE와 PCA를 통해 찍어보았다.

 

먼저 1965년이다.

 

막상 찍어보니, 남색으로 군집화된 4개의 나라가 눈에 띄었다.

군집의 개수를 줄여서(k = 3) 저 나라들을 다른 군집에 포함시켜보자

 

 

훨씬 군집화가 잘 된 것으로 보인다!

즉, 과거(1965년)에는 국민들의 삶의 수준에 따라 세 그룹의 국가군으로 군집화하여 볼 수 있다.

 

 

 

깔끔하다.

2020년은 4개의 국가군이 형성되는 것으로 보인다.

 


💡결과 정리

글의 첫 부분에 제시했던 내 궁금증(분석의 주제)로 돌아가보자

 

국민들의 삶의 수준을 나타낼 수 있는 지표를 활용하여

거리 기반으로 군집화하면 몇 개의 그룹으로 나눌 수 있을까?

 

 

결과는 생각보다 간단했다!

과거는 세 개의 군집,

현재는 네 개의 군집으로 나눌 수 있다.

 

저자가 제시한 기준(영유아 사망율과 여성당 아이 수를 시각화하여 판단)과는 아예 동일하진 않지만,

어느정도 일치는 했다.

 

 

마지막으로, 군집별 국가랑 지표들을 뒤져보고 이쁘게 지도에 표현도 해보고 싶은데,,

간단한 분석으로 마무리되지 않을 것 같아서 패스!

 

 

 

반응형
Comments