✅ 오늘 한 것
기초 통계 1,2주차 강의 정리
✏️ 오늘 배운 점
기초 통계
- 데이터의 종류: 수치형 데이터/범주형 데이터
- 수치형 데이터(사칙 연산이 가능한 데이터)
연속형 데이터(키, 몸무게)
이산형 데이터(과일 개수, 책의 페이지 수)
- 범주형 데이터(범주로 나누어지는 데이터)
순서형 데이터(학점, 순위(랭킹))
명목형 데이터(성별, 음식 종류, 우편 번호)
Mean(평균): 값들이 고르게 분포된 경우(정규 분포)
Median(중앙값): 이상치가 있는 경우
Mode(최빈값): 데이터가 범주형(카테고리형)
편차(Deviation): 개별 값이 평균에서 얼마나 떨어져 있는가
분산(Variance): 편차를 제곱하여 평균을 낸 값
표준편차(Standard Deviation): 분산의 제곱근 --> np.std(data)
변동 계수(Coefficient Variable, CV): 표준편차를 평균으로 나눈 값
사분위수: 데이터를 4등분했을 때 각각 25%, 50%, 75% 위치에 해당하는 값
Q1(제1사분위수): 25% --> np.percentile(data, 25)
Q2(제2사분위수): 50% --> np.percentile(data, 50)
Q3(제3사분위수): 75% --> np.percentile(data, 50)
사분위 범위(IQR) = Q3 - Q1 --> 데이터의 가운데 50%가 분포하는 범위, 주로 이상치 탐지에 활용
outliers = [x for x in data if x < lower_bound or x > upper_bound] = data[(data < lower_bound) | (data > upper_bound)]
왜도: 분포의 좌우 비대칭성(skew(data))
왜도 > 0: 최빈값>중앙값>평균값
왜도 = 0: 정규분포와 같음
왜도 < 0: 평균값<중앙값<최빈값
첨도: 분포의 뾰족한 정도(kurtosis(data))
첨도 > 3: 정규분포보다 뾰족함
첨도 = 3: 정규분포와 유사
첨도 < 3: 정규분포보다 평평함
커널 밀도 함수(KDE): 데이터의 분포를 매끄럽고 연속적인 확률 밀도 함수로 추정하는 통계적 방법(히스토그램의 계단식 형태를 부드러운 곡선으로 표현)
sns.kdeplot(data, color='', linewidth=n, label='')
확률변수 = P(X)
이산형 확률변수: 셀 수 있는 값만 가지는 확률변수
np.random.choice(a, size=None, replace=True, p=None)
a = 뽑을 값들의 집합(리스트, 배열 등)
size = 뽑을 개수
replace = 복원추출 여부(기본 True)
p = 각 값이 선택될 확률의 리스트(합이 반드시 1이어야 함.)
연속형 확률변수: 실수 값처럼 무한히 많은 값 중 하나를 가질 수 있는 변수
np.random.normal(loc=100, scale=5, size=100)
loc = 평균
scale = 표준편차
size = 생성할 데이터 개수
확률분포: 가로축에 확률 변수(X), 세로 축에 그 확률 변수의 발생 가능성(P(X))을 표시한 분포
모든 확률의 합은 1이어야 함.
확률질량함수(PMF: Probability Mass Function): 이산형 확률변수의 각 값에 대한 확률 정의
각 가능한 값에 대해 딱 그 값이 나올 확률 제공
from scipy.stats import binom
pmf = binom.pmf(data, n=횟수, p=성공 확률)
plt.bar(data, pmf)
확률밀도함수(PDF: Probability Density Function): 연속형 확률변수의 확률 정의
특정한 값의 확률은 0이고, 구간을 설정해야 확률값이 정의됨.
--> 확률 변수가 1~2까지의 범위에 들어갈 확률을 알고싶다면 적분을 하여 CDF로 나타내야 함.
from scipy.stats import norm
x = np.linspace(평균(loc), 표준편차(scale), 데이터 개수)
pdf = norm.pdf(x, loc=100, scale=5)
plt.plot(x, pdf)
누적분포함수(CDF: Cumulative Distribution Function): 어떤 확률 변수 X가 x보다 작거나 같은 확률을 누적해서 나타내는 함수
커널 밀도 측정(KDE, Kernel Density Estimation): PDF가 주어지지 않았을 때 샘플 데이터만 가지고 PDF를 추정하는 방법
PDF처럼 연속형 변수의 분포를 추정하지만, 실제 데이터를 기반으로 비모수적으로 추정(비모수적 --> 특정 분포를 가정하지 않는다.)
sns.kdeplot()
이항분포: n번의 독립된 시행에서 성공 확률 p인 사건이 k번 발생할 확률.
베르누이 시행: 단 한 번의 실험에서 두 가지 결과(성공/실패) 중 하나만 나오는 시행
from scipy.stats import binom
x = np.arange(0, 11) # 0~10의 정수 배열 생성
y = binom.pmf(x, n=10, p=0.1)
plt.bar(x, y)
포아송분포: 일정한 단위 시간, 공간에서 발생하는 이벤트의 수의 확률분포
from scipy.stats import poisson
x = np.arange(0, 11) # 0~10의 정수 배열 생성
y = poisson.pmf(x, mu=2)
plt.bar(x, y)
정규분포: 연속형 변수의 대표 분포. 품질 특성 대부분이 이 분포를 가정
베르누이 분포: 하나의 시행에 대한 성공(1)/실패(0)
기하분포: 첫 성공까지 시도한 횟수
균일분포: 일정 구간에서 균등한 확률
| 구분 | 분포 이름 | 확률변수 의미 | 주요 조건 / 특징 | 다른 분포와의 관계 | 예시 |
| 이산확률분포 | 베르누이분포 (Bernoulli) | 한 번의 시행에서 성공(1) 또는 실패(0) | 시행 1회, 성공확률 p | 이항분포의 특수한 경우 (n=1) | 동전 한 번 던지기 |
| 이항분포 (Binomial) | n번 시행 중 성공 횟수 | 각 시행 독립, 성공확률 p 일정, 복원추출 | 베르누이분포 확장형포아송·정규분포로 근사 가능 | 동전 n번 던질 때 앞면 횟수 | |
| 초기하분포 (Hypergeometric) | 비복원추출에서의 성공 횟수 | 모집단 크기 N, 성공항목 K, 비복원추출 | 복원추출의 이항분포와 대비 | 불량품 샘플 검사 | |
| 포아송분포 (Poisson) | 단위시간(공간) 내 사건 발생 횟수 | n→∞, p→0, np=λ (희귀사건) | 이항분포의 극한형, λ=np | 시간당 콜센터 전화 수 | |
| 기하분포 (Geometric) | 첫 성공이 나올 때까지 시행 횟수 | 시행 독립, 성공확률 p 일정 | 음이항분포의 특수형 (r=1) | 첫 합격이 나올 때까지 응시 횟수 | |
| 음이항분포 (Negative Binomial) | r번째 성공이 나올 때까지 시행 횟수 | 시행 독립, 성공확률 p 일정 | r→∞, p→1, r(1−p)=λ → 포아송 근사 | r번째 합격자까지 걸린 횟수 | |
| 다항분포 (Multinomial) | 여러 범주의 성공 횟수 | k개 범주, 각 확률 p₁, p₂,…,pₖ | 이항분포의 일반화 | 주사위 n번 던졌을 때 눈의 횟수 |
| 구분 | 분포 이름 | 확률변수 의미 | 주요 조건/ 특징 | 다른 분포와의 관계 | 예시 |
| 연속확률분포 | 균등분포 (Uniform) | 구간 [a, b] 내 실수값 | 모든 구간에서 동일한 확률밀도 | — | 버스가 0~10분 사이에 올 확률 |
| 정규분포 (Normal) | 평균 μ, 분산 σ²인 연속변수 | 좌우대칭, 중심극한정리 기반 | 이항·포아송 근사, t·χ²·F분포의 기초 | 키, 몸무게, 측정오차 | |
| 지수분포 (Exponential) | 사건 간 시간 간격 | λ=발생률, 감마분포의 특수형 | 감마분포의 특수형 | 고장까지 걸린 시간 | |
| 감마분포 (Gamma) | 여러 사건까지 걸린 시간 | 지수분포 일반화 | 지수분포(r=1), χ²분포와 관련 | 여러 고장 발생까지 걸린 시간 | |
| 라플라스분포 (Laplace) | 평균 기준의 절대편차 | 두 지수분포의 차 | 지수분포의 응용형 | 소득, 오차의 절댓값 분포 | |
| 베타분포 (Beta) | 0~1 사이의 확률 | 두 모수 α, β로 모양 결정 | 이항분포의 사전분포로 사용 | 확률, 비율, 신뢰도 | |
| 카이제곱분포 (χ²) | 표준정규²의 합 | 자유도 k, 검정용 통계량 | 정규분포에서 유도 | 분산 검정, 적합도 검정 | |
| t분포 (t) | 표본평균의 표준화값 | 표본 작을 때 사용, 대칭형 | 정규·χ² 결합으로 구성 | 두 집단간 평균에 대한 t검정 | |
| F분포 (F) | 두 분산의 비 | 항상 양수, 비대칭 | χ²분포의 비 | 분산분석(ANOVA) | |
| 코시분포 (Cauchy) | 위치모수 중심, 척도모수 폭 | 평균·분산이 존재하지 않음 | 표준정규 조작으로 생성 | 이상치 분석, 로버스트 통계 | |
| 로지스틱분포 (Logistic) | S자 확률모형 | 정규분포 유사, 꼬리 두꺼움 | 로지스틱 회귀 기초 | 로지스틱 회귀, 신경망 활성함수 |
정규분포: 연속 확률분포의 일종으로, 평균을 중심으로 좌우가 대칭인 종형 곡선을 형성하는 분포
정규분포를 정의하는 단위: 평균(μ), 표준편차(σ)
data = np.random.normal(mu, sigma, 1000)
sns.histplot(data, kde=True)
정규분포에서의 확률 분포 범위
- 평균 ± 1σ: 약 68.3%의 데이터 포함
- 평균 ± 2σ: 약 95.4%의 데이터 포함
- 평균 ± 3σ: 약 99.7%의 데이터 포함
3시그마 법칙 or 68-95-99.7 규칙이라 부름.
→ 정규분포에서 데이터가 평균으로부터 1σ, 2σ, 3σ 이내에 각각 약 68%, 95%, 99.7% 포함된다는 경험적 규칙
6Sigma: 품질관리에서 프로세스가 ±6σ 범위 안에 거의 모든 데이터가 포함되도록 관리
PPM(Parts Per Million): 백만 개 중 몇 개가 불량인지를 나타내는 불량률 단위
1ppm = 1/1,000,000 = 0.0001% 100만 개 중 1개 불량
from scipy.stats import norm
x = np.linspace(mu - 4*sigma, mu + 4*sigma, 1000)
y = norm.pdf(x, mu, sigma)
plt.plot(x, y, label='정규분포')
colors = ['#a6cee3', '#1f78b4', '#b2df8a']
for i, s in enumerate([1, 2, 3]):
plt.fill_between(x, y, where=(x >= mu - s*sigma) & (x <= mu + s*sigma),
color=colors[i], alpha=0.3, label=f'±{s}σ 영역')
# 3시그마 수직선 표시
for s in [1, 2, 3]:
plt.axvline(mu + s*sigma, color='red', linestyle='--')
plt.axvline(mu - s*sigma, color='red', linestyle='--')
공정 능력 지수(CP, Process Capability Index): 공정이 주어진 *공차 내에서 얼마나 일관되게 생산되는지를 수치로 표
*공차: 제품의 치수가 설계된 목표값(명목값, 기준값)에서 허용될 수 있는 오차의 범위

| 구분 | 용어 | 영어명 | 의 |
| USL | 상한 허용값 | Upper Specification Limit | 제품 특성치(예: 길이, 무게 등)가 넘지 말아야 하는 최대값 |
| LSL | 하한 허용값 | Lower Specification Limit | 제품 특성치가 이보다 작아서는 안 되는 최소값 |
- 해석:
- Cp > 1.33 → 공정이 허용 범위 내에 안정적으로 들어감
- Cp < 1 → 공정이 허용 오차를 자주 벗어남
- Cp 또는 Cpk < 1.0: 불량률 높음
- Cp = 1.33 이상: 적정 수준
- Cp = 2.0 이상: 6시그마 수
공정 성능 지수(Cpk: Process Capability Performance)

- Cp와의 차이점:
- Cp는 중심에서 얼마나 벗어났는지 고려 안 함 (여기서 “중심”이란 공정의 평균(μ, mean) 을 의미함)
- Cpk는 실제 공정 평균이 허용 기준 내에서 얼마나 중앙에 위치해 있는지를 반영. 공정의 평균이 중심에서 얼마나 치우쳐 있는지 고려
- 해석:
- Cpk > 1.33 → 안정적이고 중심 정렬된 공정
- Cp > 1.33, Cpk < 1 → 정밀하나 중심이 어긋난 공정
표준정규분포: 평균 0, 표준편차 1인 정규분포
Z-score: 어떤 값이 평균보다 큰지 작은지, 그리고 얼마나 멀리 떨어져 있는지를 숫자로 표현한

z_scores = zscore(data)
정규화(Normalization): 데이터의 범위를 0과 1 사이로 압축하는 스케일링 기법(MinMaxScaler())
정규화 후 모든 값은 [0, 1] 범위에 존재
이상치(Outlier)에 매우 민감
표준화(Standardization): 데이터의 평균(μ)을 0, 표준편차(σ)를 1로 맞추는 스케일링 기법(StandardScaler())
데이터가 평균을 기준으로 얼마나 떨어져 있는지를 측정하는 방식
이상치(Outlier)에 덜 민감
| 구분 | 정규화 (Normalization) | 표준화 (Standardization) |
| 목적 | 값의 범위를 0~1로 압축 | 평균 중심으로 데이터 표준화 |
| 공식 | (x - min) / (max - min) | (x - mean) / std |
| 특징 | 극단값에 민감함 | 이상치에 상대적으로 강건함 |
| 주 사용처 | KNN, SVM 등 거리 기반 알고리즘 | 선형회귀, 로지스틱 회귀 등 통계 기반 모델 |
이상치(Outliers) 탐지 방법
1. IQR: 비정규적이거나 한쪽으로 치우친 경우
2. Z-score: 정규분포에 가까울 때
분포 시각화
1. 히스토그램: 분포의 형태 시각화
2. 박스플롯: 중앙값, IQR, 이상치 시각화
3. 바이올린플롯: 분포 + 밀도 결합 시각화
표본분포: 같은 모집단에서 동일한 크기의 표본을 여러 번 추출할 때 계산되는 통계량의 분포
충분한 표본 수가 있을 경우 표본 평균은 정규분포를 따른다.(중심극한정리)
모수: 모집단의 특성(전수조사)
통계량: 표본의 특성(표본조사)
단순 랜덤 추출: 무작위 샘플링
계통 추출: 모집단을 일정 간격(k)으로 나누고, 첫 번째 표본을 무작위로 선택한 후 그 간격마다 표본을 뽑는 방법
집락 추출: 특정 구역에서만 샘플링 // 집단 내 이질적, 집단 간 동질적
층화 추출: 특정 상품군에서 샘플링 // 집단 내 동질적, 집단 간 이질적
| 구분 | 큰 수의 법칙(LLN) | 중심극한정리(CLT) |
| 초점 | 표본평균이 참 평균에 가까워짐 | 표본평균의 분포가 정규분포로 근사 |
| 다루는 대상 | 한 값(평균) | 분포(모양) |
| 결과 | “수렴한다 (Stabilizes)” | “정규화된다 (Normalizes)” |
| 모집단 분포 조건 | 아무 분포나 가능 | 아무 분포나 가능 (단, 분산은 유한해야 함) |
| 활용 예시 | 확률의 근사, 평균 추정 | 관리도, 신뢰구간, 가설검정 등 |
표준오차(SE, Standard Error): 표본통계량의 표준편차로서, 표본평균이 얼마나 흔들리는지를 측정하는 지표(평균들이 얼마나 흩어져 있는가를 수치로 표현한 것)
표본 크기(n)가 커질수록 SE는 작아진다.(평균 추정의 신뢰도가 높아진다는 의미)

공분산: 두 변수가 함께 어떻게 움직이는가를 수치로 표현한 개념
공분산 > 0: X가 증가할 때 Y도 증가할 때(양의 상관)
공분산 < 0: X가 증가할 때 Y는 감소할 때(음의 상관)
공분산 ≈ 0: X와 Y가 서로 관련 없이 움직일 때
상관계수: 두 변수 간 선형 관계의 강도와 방향을 -1부터 1 사이의 값으로 나타냄.
+1: 완전한 양의 상관관계
-1: 완전한 음의 상관관계
0: 선형 관계 X
피어슨 상관계수: 선형관계 --> method = 'pearson'
스피어만 순위 상관계수: 순서형 변수 분석 가능, 비선형 관계 --> method = 'spearman'
켄달 타우: 순위 간 일관성 측정 --> method = 'kendall'
회귀분석: 독립변수(X)가 종속변수(Y)에 어떤 영향을 미치는지 예측하기 위한 통계 기법
from sklearn.linear_model import LinearRegression
model = LinearRegression()
model.fit(X, Y)
plt.scatter(X, Y, label='data')
해석:
- 회귀계수(a): X가 1만큼 증가할 때 Y가 얼마나 증가하는지
- 절편(b): X=0일 때 Y의 값
- 결정계수(R²): 모델의 설명력 (0~1)

- SSR (Sum of Squared Residuals): 실제값과 예측값의 차이 제곱합
- SST (Total Sum of Squares): 실제값과 평균의 차이 제곱합
상관관계: 변수 간 동조 현상(같이 움직임)
인과관계: 한 변수가 다른 변수에 영향을 줌
✏️ 오늘의 핵심
데이터의 ‘종류와 분포’를 정확히 파악하고, 그에 맞는 요약 지표·분포·스케일링·검정·모델을 선택할 때 분석이 견고해진다.
즉, 정확한 분류 → 올바른 도구 선택 → 신뢰할 수 있는 해석이 오늘의 핵심이다.
📌추가로 해야할 점
머신러닝 1~3회차 세션 복습
'품질관리(QAQC) 데이터 부트캠프(본캠프)' 카테고리의 다른 글
| 본캠프_7주차(수)_TIL(라이브러리 기초 정리) (0) | 2025.10.29 |
|---|---|
| 본캠프_7주차(화)_TIL(머신러닝 기초 정리) (0) | 2025.10.28 |
| 본캠프_6주차(금)_TIL (0) | 2025.10.24 |
| 본캠프_6주차(목)_TIL (0) | 2025.10.23 |
| 본캠프_6주차(수)_TIL (0) | 2025.10.22 |