기술 통계와 분포
평균, 중앙값, 분산, 표준편차, 왜도, 첨도, 정규·이항·포아송 분포를 학습합니다.
기술 통계와 분포은(는) CoddyKit의 무료 Learn AI with Python 강의입니다. 이것은 4개 중 1번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Learn AI with Python 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Learn AI with Python 강의에는 총 4개의 강의가 포함되어 있습니다.
데이터 요약하기
기술 통계는 데이터셋의 중심, 산포, 형태를 설명하는 몇 가지 숫자로 데이터셋을 요약합니다. 새로운 데이터셋을 다룰 때 가장 먼저 계산하는 값입니다.
import numpy as np
data = np.array([4, 8, 6, 5, 3, 7, 9, 6])Mean과 Median
mean은 산술 평균이고 median은 가운데 값입니다. median은 이상치의 영향을 덜 받으므로 둘 사이의 차이가 크면 왜도가 있음을 의미합니다.
print(np.mean(data)) # 6.0
print(np.median(data)) # 6.0분산과 표준 편차
분산은 mean에서 벗어난 정도를 제곱한 값의 평균이고, 표준 편차는 그 제곱근이며 데이터와 같은 단위를 사용합니다.
print(np.var(data)) # population variance
print(np.std(data)) # standard deviation표본과 모집단(ddof)
NumPy는 기본적으로 N으로 나눕니다(모집단). SAMPLE 추정에서는 ddof=1을 사용해 N-1로 나누며, 이렇게 하면 편향이 보정됩니다.
print(np.std(data, ddof=0)) # population
print(np.std(data, ddof=1)) # sample (unbiased)백분위수와 IQR
백분위수는 정렬된 데이터를 나눕니다. 25번째와 75번째 백분위수(사분위수)는 가운데 50퍼센트를 감싸며, 두 값의 차이가 IQR입니다.
q1 = np.percentile(data, 25)
q3 = np.percentile(data, 75)
print(q1, q3, q3 - q1) # IQR왜도
왜도는 비대칭 정도를 측정합니다. 양의 왜도는 오른쪽 꼬리가 길고(소득 데이터), 음의 왜도는 왼쪽 꼬리가 깁니다. scipy.stats.skew로 계산할 수 있습니다.
from scipy import stats
print(stats.skew(data)) # near 0 -> symmetric첨도
첨도는 꼬리의 두꺼운 정도를 측정합니다. 첨도가 높으면 정규 곡선보다 극단적인 이상치가 더 많다는 뜻입니다. scipy는 초과 첨도를 보고하며(정규 분포 = 0),
print(stats.kurtosis(data)) # 0 means normal-like tails정규 분포
종 모양의 정규 분포는 mean과 표준 편차로 정의됩니다. 값의 약 68퍼센트는 표준 편차 1개 이내에, 95퍼센트는 2개 이내에 들어갑니다.
sample = stats.norm.rvs(loc=0, scale=1, size=1000, random_state=0)
print(np.mean(sample), np.std(sample)) # near 0 and 1이항 분포
이항 분포는 성공 확률이 p인 n회의 서로 독립적인 예/아니요 시행에서 성공 횟수를 셉니다. 동전 던지기에서 앞면이 나온 횟수가 그 예입니다.
print(stats.binom.pmf(k=3, n=10, p=0.5)) # P(exactly 3 heads in 10)푸아송 분포
푸아송 분포는 분당 도착 횟수처럼, 평균 발생률 람다가 주어졌을 때 고정된 구간에서 드물게 발생하는 사건의 횟수를 모델링합니다.
print(stats.poisson.pmf(k=2, mu=3)) # P(2 events when avg is 3)히스토그램
histogram은 값을 구간으로 나누어 분포의 형태를 보여 줍니다. np.histogram은 횟수와 구간 경계를 반환하고, matplotlib이 이를 그립니다.
counts, edges = np.histogram(sample, bins=10)
print(counts)
# import matplotlib.pyplot as plt; plt.hist(sample, bins=30)확인 문제
기술 통계 지식을 확인해 보십시오.
복습
기술 통계 도구 모음:
- 중심:
np.mean,np.median - 산포:
np.var,np.std(표본에는ddof=1사용), 백분위수를 통한 IQR - 형태:
scipy.stats.skew,scipy.stats.kurtosis - 분포:
scipy.stats의 정규, 이항, 푸아송 분포 - 형태를 시각화하는 히스토그램
자주 묻는 질문
“기술 통계와 분포” 강의는 무료인가요?
네 — “기술 통계와 분포” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Learn AI with Python 강의 전체를 잠금 해제할 수 있습니다. Learn AI with Python 강의에는 총 4개의 강의가 포함되어 있습니다.
“기술 통계와 분포”에서 뭘 배우나요?
평균, 중앙값, 분산, 표준편차, 왜도, 첨도, 정규·이항·포아송 분포를 학습합니다. 브라우저에서 직접 실행하는 실습 코드로 Learn AI with Python을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Learn AI with Python을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Learn AI with Python은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 1번째 강의입니다.
“기술 통계와 분포” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Learn AI with Python 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Learn AI with Python 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- 기술 통계와 분포
- 확률과 베이즈 정리
- 가설 검정
- 상관관계와 공분산