logo

기술 통계: 중심경향치

데이터를 대표하는 값: 중심경향치

  • 중심경향치: 여러 관측치가 어떤 값 주위로 집중되는지를 나타내는 척도
  • 전체 자료의 특징을 하나의 대표값으로 요약할 때 사용
  • 대표적인 중심경향치: 평균(mean), 중간값(median), 최빈값(mode)
🤖 AI 프롬프트
df에서 speed의 평균과 중간값을 구해줘. 

평균

  • 평균: 수치형 관측값의 합계를 관측값의 개수로 나눈 값
  • 모든 값의 크기를 반영하므로 극단적으로 크거나 작은 값의 영향을 크게 받음
xˉ=n1​i=1∑n​xi​
df["speed"].mean()  # 속도 평균
실행 결과
np.float64(18.305999999999997)
  • 전체 선박의 평균 속도: 약 18.306노트
  • mean()은 기본적으로 결측값을 제외. 이 파일의 speed에는 결측값이 없어 100개 값을 모두 사용

중간값

  • 중간값: 관측값을 크기 순으로 정렬했을 때 가운데 위치한 값. 중위수라고도 부름
    • 홀수 개: 가운데 값 하나
    • 짝수 개: 가운데 두 값의 평균
  • 속도 100개를 정렬한 뒤 50번째와 51번째 값의 평균으로 계산
df["speed"].median()  # 속도 중간값
실행 결과
np.float64(18.35)
  • 전체 선박의 속도 중간값: 18.35노트
  • median()도 기본적으로 결측값을 제외

평균과 중간값 비교

  • 원자료의 평균은 약 18.306노트, 중간값은 18.35노트로 비슷한 수준
  • 큰 값의 영향을 확인하기 위해 최대 속도 34.5노트를 가상 값 100노트로 변경
  • 비교용 복사본 changed_speed를 사용하므로 df의 원자료는 유지
changed_speed = df["speed"].copy()
changed_speed.loc[changed_speed.idxmax()] = 100  # 큰 값의 영향을 비교하기 위한 가상 속도(노트)
changed_speed.mean()
실행 결과
np.float64(18.961)
changed_speed.median()
실행 결과
np.float64(18.35)
  • 평균: 약 18.306노트에서 18.961노트로 증가
  • 중간값: 18.35노트로 유지. 가장 큰 값이 커져도 가운데 두 값은 그대로이기 때문
  • 평균은 모든 값의 크기를 반영하고, 중간값은 정렬한 자료의 가운데 위치를 나타냄. 목적에 맞게 선택하거나 함께 확인

평균 소득 vs. 중위 소득

20182020년 임금근로자 월평균 소득(297320만 원)이 중위소득(220~242만 원)보다 높고, 소득구간별 비율이 낮은 구간에 몰린 통계청 자료 인포그래픽

최빈값

🤖 AI 프롬프트
df의 ship_type에서 값별로 빈도를 구해주고 최빈값을 구해줘
  • 최빈값: 가장 자주 등장하는 값
  • 선종처럼 크기 순서를 정하기 어려운 범주형 자료에도 적용 가능
  • 최다 빈도가 같은 값이 여러 개면 최빈값도 여러 개일 수 있음
  • pandas의 mode()는 최빈값이 하나여도 Series를 반환
df["ship_type"].mode()  # 선종 최빈값
실행 결과
0    Container
Name: ship_type, dtype: object

선종별 빈도를 확인하면 다음과 같다.

df["ship_type"].value_counts()  # 선종별 빈도
실행 결과
ship_type
Container    78
Tanker       22
Name: count, dtype: int64
  • Container가 78척으로 가장 많으므로 선종의 최빈값은 Container
  • value_counts()는 각 값의 빈도, mode()는 최빈값을 반환

퀴즈

문제 1 / 7맞음: 0힌트: 0틀림: 0채점중: 0남음: 7

모든 관측값을 더한 뒤 관측값의 개수로 나누어 구하는 중심경향치는 무엇입니까?

  • ○평균
  • ○중간값
  • ○최빈값
  • ○최댓값

퀴즈를 풀려면 대화형 기능을 불러와야 합니다.

Previous
탐색적 데이터 분석 (EDA)