단위 4 / 11

탐색적 데이터 분석(EDA): 분포, 관계 및 초기 통찰력

이득:

  • 적절한 그래프(히스토그램, 상자 그림, 산점도)를 사용하여 변수의 분포, 중심, 산포 및 이상 현상을 탐색하는 기능.
  • 인과관계와 혼동하지 않고 상관관계를 정확하게 해석하고 산점도와 함께 읽어내는 능력
  • 요약 통계가 오해의 소지가 있을 수 있다는 점을 이해하고(Anscombe 수업) 모델링 방향을 결정하는 가설을 개발하는 능력.

모델을 만들기 전에 먼저 데이터를 알아야 합니다. 의사가 환자를 검사하지 않고 약을 처방하지 않는 것처럼, 데이터 과학자는 데이터를 "검사"하지 않고 모델을 구축하지 않습니다. 이 조사를 탐색적 데이터 분석(줄여서 EDA)이라고 합니다. 이는 데이터의 분포, 관계, 놀라움 및 함정을 시각적 및 그래픽적으로 발견하는 단계입니다. EDA의 목적은 가설을 생성하고, 오류를 잡아내고, 모델링 방향을 결정하는 것입니다. 인공 지능은 이 단계에서 매우 강력한 보조자입니다. 어떤 차트가 적합한지 제안하고, 코드를 작성하고, 분포를 해석합니다. 하지만 사람은 자신이 본 패턴이 실제인지 우연인지 자신의 현장 지식을 바탕으로 판단합니다.

EDA는 무엇을 찾나요?

EDA는 네 가지 질문에 대한 답을 찾고 있습니다. 분포: 각 변수는 어떻게 분포되어 있습니까? 대칭형입니까, 편향되어 있습니까, 아니면 2봉형입니까? 중심 경향 및 확산: 평균, 중앙값, 표준 편차는 무엇입니까? 관계: 변수는 서로 어떻게 관련되어 있습니까? 이상 현상: 예상치 못한 값, 격차, 그룹화가 있습니까? 이 네 가지 질문을 통해 어떤 기능이 작동하고 어떤 모델이 적합한지 결정합니다.

몇 가지 기본 개념을 정의해 보겠습니다. 히스토그램은 수치 변수의 값을 간격으로 나누고 각 간격에 얼마나 많은 관찰이 있는지 보여주는 그래프입니다. 분포를 보는 가장 빠른 방법입니다. 왜도는 분포가 한 방향으로 이동하는 것입니다. 소득과 같은 변수는 오른쪽으로 치우쳐 있습니다(대부분 낮음, 소수 매우 높음). 상자 그림은 중앙값, 사분위수, 이상값을 한 눈에 보여줍니다. 산점도는 두 개의 숫자 변수와 점 구름의 관계를 보여줍니다.

상관관계: 관계가 있지만 주의하세요.

상관관계 — 두 변수가 어떻게 함께 움직이는지에 대한 척도입니다. -1에서 +1 사이의 숫자는 EDA에서 가장 많이 사용되지만 가장 잘못 이해되는 도구입니다. +1은 완벽한 공동 증가를 의미하고, -1은 완벽한 역관계를 의미하며, 0은 선형 관계가 없음을 의미합니다. 두 개의 큰 함정이 있습니다. 첫째, 유명한 규칙: 상관관계는 인과관계가 아닙니다. 아이스크림 판매로 인해 질식 사례가 증가합니다. 하나가 다른 것으로 이어지기 때문이 아니라 여름(숨겨진 세 번째 변수)이 두 가지를 모두 유발하기 때문입니다. 둘째, 상관관계는 선형 관계만 측정합니다. 이는 강력하지만 0에 가까운 곡선 관계를 나타낼 수 있습니다. 따라서 상관 관계를 볼 때 산점도도 살펴봐야 합니다.

주의: AI가 상관관계 수치를 알려줄 때 “A는 B를 증가시킨다”와 같은 인과적 언어로 빠져들 수 있습니다. 이것은 위험합니다. 상관관계는 단지 함께 움직이는 것을 나타냅니다. 경험, 도메인 지식, 신중한 추론만이 이유를 확립합니다.

Anscombe Quartet: 숫자만 보면 어떨까요?

통계의 유명한 예가 바로 Anscombe Quartet입니다. 4개의 서로 다른 데이터 세트는 거의 동일한 평균, 동일한 분산 및 동일한 상관 관계(0.82)를 갖습니다. 그러나 그래프로 표현하면 완전히 다르게 보입니다. 하나는 직선, 하나는 곡선, 하나는 단일 이상치에 의해 끌어당겨진 구름입니다. 교훈은 분명합니다. 요약 통계는 오해의 소지가 있으므로 그래프를 보는 것이 필수입니다. AI는 평균과 상관관계를 제공할 수 있지만 그래프를 보지 않고 그 숫자를 신뢰하는 것은 Anscombe 함정에 빠지는 것입니다.

아래 표에는 어떤 차트가 어떤 질문에 적합한지 요약되어 있습니다.

질문

적합한 그래픽

무엇을 보여주나요?

단일 변수의 분포

히스토그램 / KDE

모양, 왜곡, 꼭지점 수

중심점과 특이점

박스 플롯

중앙값, 사분위수, 특이치

두 숫자의 관계

분산형 차트

방향, 강도, 곡률

카테고리 비교

막대 차트

그룹 간 차이

시간이 지남에 따라 변화

꺾은선형 차트

트렌드, 계절성

다변량 관계

상관 히트 맵

일반 관계 매트릭스

심슨의 역설: 집계된 데이터는 거짓말을 할 수 있다

EDA에서 알아야 할 교묘한 함정은 Simpson의 역설입니다. 즉, 모든 데이터를 함께 조사할 때 패턴은 한 방향을 보여줄 수 있지만 데이터가 의미 있는 하위 그룹으로 나누어지면 반대 방향을 나타낼 수 있습니다. 전형적인 예: 대학에서 여성 지원자의 전체 합격률은 남성 지원자보다 낮은 것으로 보입니다. 하지만 학과별로 살펴보면 대부분의 학과에서 여성의 합격률이 남성보다 높습니다. 어디서? 여성은 경쟁이 더 치열한(낮은 합격률) 부서에 지원했습니다. 결합된 숫자는 이 숨겨진 변수를 저장합니다. 교훈은 분명합니다. 전체 또는 평균을 볼 때 해당 숫자가 의미 있는 하위 그룹(세그먼트, 기간, 채널)으로 분류되었을 때 동일한 내용을 나타내는지 확인하십시오. AI가 합산 요율을 알려줄 때 “세분화해도 유효한지”라고 묻는다면 대부분의 오해의 소지가 있는 결과를 조기에 잡아낼 수 있습니다.

세 개의 미니 케이스

사례 1 - 두 개의 숨겨진 언덕. 한 분석가는 평균 고객 연령이 41세라는 사실을 발견하고 이를 "중년층"으로 보고했습니다. 그러나 히스토그램에는 22~28세 그룹과 55~62세 연령층이라는 두 가지 피크가 나타났습니다. 평균 41은 실제로 누구도 대표하지 않습니다. 교훈: 평균을 신뢰하기 전에 분포를 그려보세요.

사례 2 - 허위 상관 관계. 한 팀은 "광고 지출"과 "판매" 사이의 상관 관계가 0.78임을 발견하고 예산을 두 배로 늘렸습니다. 그러나 두 가지 모두를 촉발한 것은 시즌 캠페인이었습니다. 캠페인 외 기간에는 관계가 0.10으로 떨어졌습니다. 34만 TL 추가 광고는 기대한 만큼의 수익을 내지 못했습니다. 교훈: 인과관계를 착각하는 것은 비용이 많이 듭니다.

사례 3 — 고독한 반대자가 그린 선. 부동산 분석에 따르면 면적과 가격 사이에는 강한 관계가 있는 것으로 나타났습니다(r=0.80). 산점도를 그리면 거의 모든 관계가 1,200만 TL 럭셔리 빌라 한 채로 생성됩니다. 해당 점이 제거되자 상관관계는 0.31로 떨어졌습니다. 교훈: 항상 산점도와 함께 상관관계를 읽어보세요.

복사 가능한 템플릿 4개

1) 자동 EDA 요약:

팬더 df가 있습니다. (1) df.info() 및 df.describe(), (2) 각 숫자 열에 대한 히스토그램, (3) 각 범주 열에 대한 개수를 생성하는 코드를 작성합니다. 댓글을 달지 말고 검색 코드를 생성하세요. 나는 패턴을 해석한다.

2) 상관관계 + 시각적(인과관계 주의):

숫자 열에 대한 상관 행렬과 히트맵을 그리는 코드를 작성합니다. 또한 상관관계가 가장 높은 3개 쌍의 산점도를 그립니다. 상관 관계가 인과 관계를 암시하지 않는다는 점을 상기시켜 주는 주석 줄을 출력에 추가합니다. 인과적인 주장을 하지 마십시오.

3) 분포 진단:

"income_tl" 열의 경우: 히스토그램, 상자 그림, 왜곡도 값 및 중앙값/평균 비교를 생성하는 코드를 작성합니다. 분포가 치우쳐 있는지 여부를 해석하겠습니다. 그냥 코드를 알려주세요.

4) 세그먼트 비교:

"채널"(웹/모바일)별로 고객 비교: 각 채널의 평균 금액, 중간 금액, 주문 수 및 금액 분포에 대한 상자 그림을 생성하는 코드를 작성합니다. 두 채널 간의 차이에 대한 통계적 유의성을 확인하기 위해 어떤 테스트가 적절한지 제안해 주세요. 하지만 결정은 본인에게 달려 있습니다.

약한 프롬프트 / 강한 프롬프트

약한 프롬프트:

이 데이터에서 흥미로운 점을 찾아보세요.

"흥미롭다"는 정의되지 않았습니다. AI는 데이터를 보지 않기 때문에 데이터를 만들어내거나 일반적인 진술을 합니다. 방향도 없고, 변수도 없고, 목적도 없습니다.

강력한 프롬프트:

귀하의 역할: EDA 보조자. df 열: 연령(int), 수입_tl(float), 도시(카테고리), 채널(웹/모바일), 금액(float). 목적: "금액"에 영향을 미치는 요인을 찾아내는 것입니다. 작업: (1) 금액 분포를 나타내는 코드, (2) 금액과 연령 및 소득_tl 사이의 분포 그래프, (3) 채널 분석 금액의 상자 그림. 인과관계 주장 확립 검색 코드를 생성하시면 제가 패턴을 해석해 드리겠습니다.

여기서 '인과관계 주장'의 목적과 변수, 한계는 명확하다.

일반적인 실수

  • 요약 통계에만 의존합니다. Anscombe 4중주가 보여주듯이 동일한 평균은 매우 다른 분포를 숨깁니다. 차트를 참조하세요.
  • 인과관계를 혼동하는 상관관계. 협력은 하나가 다른 것으로 이어진다는 것을 의미하지 않습니다. 숨겨진 변수에 주의하세요.
  • 산점도 없이 상관관계를 살펴봅니다. 단일 이상값이나 곡선이 숫자를 잘못 표시합니다.
  • 평균을 사용하여 2개의 정점/비뚤어진 분포를 요약합니다. 평균은 누구도 대표하지 않을 수 있습니다.
  • EDA를 건너뛰고 바로 모델로 이동합니다. 인식되지 않은 데이터는 블라인드 모델을 의미합니다.
팁: 새로운 데이터 세트가 나올 때마다 처음 30분은 그래프(각 숫자의 히스토그램, 중요한 쌍의 산점도, 범주 막대 차트)를 그리는 데 사용하세요. 이 30분은 앞으로 며칠 동안의 모델링 오류를 방지합니다.

요약하면

EDA는 모델을 구축하기 전에 데이터를 알아가는 단계로, 분포, 중앙 확산, 관계, 이상치라는 네 가지 질문에 대한 답을 구합니다. 요약 통계는 오해의 소지가 있을 수 있습니다. 그래프를 보는 것은 필수입니다 (Anscombe 강의). 상관관계는 강력한 도구이지만 인과관계는 그렇지 않으며 반드시 산점도와 함께 읽어야 합니다. AI는 그래픽을 제안하고 코드를 작성하는 데 탁월한 가속기입니다. 하지만 사람들은 자신이 보는 패턴이 실제인지 우연인지 현장 지식을 바탕으로 해석합니다.

응용과제

데이터 세트를 선택하고 EDA를 수행하세요. 최소 3개 수치 변수의 히스토그램, 두 쌍의 변수에 대한 산점도, 상관 히트 맵을 추출합니다. 최소한 하나의 "놀라운 점"(예: 두 개의 피크가 있는 분포, 허위 상관 관계의 후보, 단일 이상치가 끌어당기는 관계)을 찾아 한 문장으로 설명하십시오. 인과관계를 주장하지 않고 글을 쓰세요.

체크리스트

  • [ ] 각 수치변수의 분포를 그래프로 나타내었나요?
  • [ ] 산점도와의 상관관계를 살펴보았나요?
  • [ ] 인과관계와 상관관계를 별도로 유지했습니까?
  • [ ] 치우친 분포 또는 두 개의 정점 분포를 발견하고 맹목적으로 평균을 신뢰하지 않았습니까?
  • [ ] EDA 조사 결과에서 하나 이상의 모델링 측면/가설을 도출했습니까?