추론 통계 베이직
[녹화본 확인]
[수업 목표]
- 생산·품질 데이터를 활용하여 통계적 실험(공정 비교, 개선 효과 검증 등)을 이해한다.
- 대표적인 통계적 실험 기법(예: 공정 전·후 비교)을 통해 가설 설정과 p-value 개념을 익힌다.
- 실제로 t-검정, 카이제곱검정 같은 통계적 검정 방식을 숙지한다.
- Python 라이브러리를 활용하여 검정통계량과 p-value를 계산하는 방법을 배운다.
📕
- 통계적 실험이란?
1) 정의
- 통계적 실험: 특정 개선 목적(“불량률 저감” 등)을 가지고, 표본으로부터 얻은
측정값(데이터)을 통계적으로 해석하여 결과(개선 효과가 유의한지)를 판단하는 과정
2) 목적
- 제한된 표본으로부터 전체(모집단)의 특징을 확률적으로 추론하기 위함
- 모든 제품을 전수검사하기 어렵거나, 모든 조건을 전부 테스트할 수 없을 때, 표본 검사를 통해 “진짜”(모집단) 상태를 추정하는 원리
3) 쉬운 예시
- “새 공정을 적용하면 불량률을 2% 이하로 내릴 수 있다.”
- 모든 제품을 전수검사하기 어려우므로, 일부만 뽑아 실제로 개선 효과가 ‘우연이 아닌지’ 판단
📕
- 품질관리자의 통계적 실험
DOE(실험설계), 제조업 현장에서 자주 활용
- 가설 설정
- 예: “개선 공정 도입 시 생산시간이 단축된다” (대립가설)
- 반대: “차이가 없다” (귀무가설)
- 실험 설계
- 공정 전(기존 방식)과 공정 후(개선된 방식)을 비교하기 위해, 시료·측정 방식·기간 등을 결정
- 데이터 수집
- 일정 개수의 제품을 무작위로 추출하거나, 일정 기간 생산 데이터를 수집
- 결과 해석
- 검정통계량과 p-value를 사용하여 “이 차이가 우연인지, 통계적으로 유의한 차이인지” 확인
📕
- 분석 기법 선택하기
데이터 유형(범주형 vs. 연속형)에 따라 적절한 통계검정을 고른다.
- 연속형(시간, 무게, 길이 등)
- 2개 집단 평균 비교: t-검정, z-검정
- 3개 이상 집단 평균 비교: ANOVA(F-검정)
- 범주형(불량/양품, 합격/불합격 등)
- 2개 이상의 집단에서 비율(또는 빈도) 비교: 카이제곱검정()
예시
- T 검정: 공정 전/후의 평균 불량 개수, 평균 생산시간 등(연속형)을 비교할 때
- 카이제곱검정: 공정 전/후의 불량률(범주형)을 비교할 때
📕
- 평가 : 유의수준(α)과 신뢰수준(1−α)
1) 유의수준(α)
- “실제로는 차이가 없는데(귀무가설이 맞는데), 우연으로 기각해버릴 확률”
- 보통 0.05(5%) 사용 → 신뢰수준은 95%
2) 예시 해석
- 일 때, 만약 p-value < 0.05면 →
“이 정도 차이는 우연이라 보기 힘들다”= 통계적으로 유의미 - p-value ≥ 0.05면 →
“우연일 가능성이 높아” = 귀무가설(차이 없음)을 기각할 근거가 부족
📕
- 가설 채택 : p-value
1) p-value(확률값)
- “지금 관측한 차이가 우연히 발생할 확률”
- p-value < α → 대립가설 채택(차이 있음)
- p-value ≥ α → 귀무가설 채택(차이 없음)
📕
- 공정 전/후 비교 실습 예시 (Python)
import scipy.stats as st
import numpy as np
# 예: 공정 전/후 불량 개수(범주형) → 카이제곱검정 or 이항검정 적합.
# 하지만 여기선 간단히 t검정으로 예시:
before = [0, 1, 0, 0, 2, 1, 1, 1, 0, 2] # 공정 전 불량 개수(10번 측정)
after = [0, 0, 0, 1, 0, 1, 0, 0, 0, 1] # 공정 후 불량 개수(10번 측정)
t_stat, p_val = st.ttest_ind(before, after)
print("검정통계량(t):", t_stat, ", p-value:", p_val)
alpha = 0.05
if p_val < alpha:
print("→ 귀무가설 기각 (개선 효과 유의미)")
else:
print("→ 귀무가설 채택 (개선 효과 통계적으로 확인 어려움)")
**주의 ** 불량 개수는 범주형 특성이 강해 카이제곱검정이나 Fisher의 정확검정이 실제론 더 적절할 수 있습니다.
핵심은 p-value 해석이며, =0.05와 비교해 결론을 내린다는 점은 동일합니다.
📕
- 오늘의 요약
- 통계적 실험: 공정 개선 여부(효과 유무)를 표본 데이터로 확인
- 가설 설정:
- 귀무가설(H0) = “차이 없음”, 대립가설(H1) = “차이 있음”
- 유의수준(α=0.05)과 p-value 개념
- p-value < 0.05 → “통계적으로 의미 있는 차이”
- 검정 방식:
- t-검정: 연속형 데이터(2집단) 비교
- 카이제곱검정: 범주형(불량/양품 등) 비교
- ANOVA(F-검정): 3개 이상 그룹 평균 비교 등
- Python 라이브러리 활용
scipy.stats를 사용하여 검정통계량과 p-value를 쉽게 계산
결론적으로, 업무에서 “새로운 설비/방법이 정말 효과 있는가?”를 객관적으로 판단하기 위해 통계적 검정(t검정, 카이제곱검정 등)을 활용하며, 그 결과를 p-value와 유의수준을 통해 해석한다는 점이 핵심입니다.
📕
- 실습으로 다지기
1. 실습 목표 정의
- 가설 설정: 연구 문제를 바탕으로 가설을 설정합니다.
- 예: “주중 평균 출근 시간은 8시간 이상이다.”
- 통계적 유의성: 데이터를 통해 가설을 검증하고 신뢰 수준(예: 95%)을 설정합니다.
- 가설검정: 데이터를 바탕으로 귀무가설과 대립가설을 검정합니다.
2. 데이터 준비
예제 데이터: 직원들의 하루 평균 출근 시간(단위: 시간)
| 직원 ID | 평균 출근 시간 (시간) |
|---|---|
| 1 | 8.1 |
| 2 | 7.8 |
| 3 | 8.2 |
| 4 | 7.9 |
| 5 | 8.0 |
3. 가설 설정
- 귀무가설 (H₀): 주중 평균 출근 시간은 8시간이다.
- 대립가설 (H₁): 주중 평균 출근 시간은 8시간이 아니다.
4. 통계적 유의성 설정
- 유의수준(α): 0.05 (95% 신뢰 수준)
5. 가설검정 절차
(1) 데이터의 기초 통계량 확인
- 평균: 데이터의 평균 출근 시간을 계산합니다.
- 표준편차: 데이터의 변동성을 측정합니다.
(2) 검정 방법 선택
- t-검정: 모집단의 표준편차를 모를 때, 평균에 대한 단일표본 t-검정을 사용합니다.
(3) 검정 수행
- 단일표본 t-검정을 사용하여 실제 평균이 8시간과 유의하게 다른지 판단합니다.
6. Python 실습 코드
import numpy as np
from scipy.stats import ttest_1samp
# 데이터
data = [8.1, 7.8, 8.2, 7.9, 8.0]
# 귀무가설: 평균 = 8
population_mean = 8
# t-검정 수행
t_stat, p_value = ttest_1samp(data, population_mean)
# 결과 출력
print("t-통계량:", t_stat)
print("p-값:", p_value)
# 유의 수준 비교
alpha = 0.05
if p_value < alpha:
print("귀무가설을 기각합니다: 평균 출근 시간이 8시간과 다릅니다.")
else:
print("귀무가설을 채택합니다: 평균 출근 시간이 8시간과 통계적으로 유의미한 차이가 없습니다.")
7. 결과 해석
- t-통계량: 귀무가설과 실제 데이터 평균의 차이를 정량적으로 나타냄.
- p-값: 귀무가설이 맞다는 전제 하에, 관찰된 데이터보다 극단적인 데이터가 나올 확률.
- : 귀무가설을 기각.
- : 귀무가설을 채택.
8. 실습 확장
- 다른 검정 적용:
- 두 집단 간 비교 → 독립표본 t-검정
- 분포가 정규분포가 아닐 경우 → 비모수 검정(Mann-Whitney U Test)
- 데이터 확장:
- 모집단이 더 큰 경우, 샘플링 및 데이터 시각화.
- 실제 사례 적용:
- 제조 공정 데이터, A/B 테스트 데이터, 고객 설문조사 데이터 등. 필요하다면 데이터를 더 준비하거나 가설 설정을 확장해보세요! 😊
실습 참고자료 1 : https://colab.research.google.com/drive/1AqG9YVXEU9sLCnLgh1sTZfluC7hAcORn?usp=sharing 실습 참고자료 2 : https://colab.research.google.com/drive/1tdBgmMsHfHUqHjMWaILcWrV9b39Si4de?usp=sharing
Copyright ⓒ RazielLabs All rights reserved.