품질관리(QAQC) 데이터 부트캠프(본캠프)

본캠프_7주차(월)_TIL(기초 통계 정리)

Wat_zy 2025. 10. 27. 09:08

✅ 오늘 한 것

기초 통계 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회차 세션 복습