통계학 기초 정리 이어서,,,
3주차 유의성 검정
[수업목표]
- 각각의 유의성 검정 방법들을 이해하고 특징을 파악
- 신뢰구간과 가설검정의 관계
- 제 1종 오류와 2종 오류
[목차]
- A/B 검정
- 가설검정
- t검정
- 다중검정
- 카이제곱검정
- 제 1종 오류와 제 2종 오류
1. A/B 검정
- A/B 검정은 두 버전 중 어느 것이 더 효과적인지 평가하기 위해 사용되는 검정 방법
- 사용자들을 두 그룹으로 나누고, 각 그룹에 다른 버전을 제공한 후, 반응을 비교
- 목적: 두 그룹 간의 변화가 우연이 아니라 통계적으로 유의미한지를 확인
import numpy as np
import scipy.stats as stats
# 가정된 전환율 데이터
group_a = np.random.binomial(1, 0.30, 100) # 30% 전환율
group_b = np.random.binomial(1, 0.45, 100) # 45% 전환율
# t-test를 이용한 비교
t_stat, p_val = stats.ttest_ind(group_a, group_b)
print(f"T-Statistic: {t_stat}, P-value: {p_val}")
[stats.ttest_ind]
- stats.ttest_ind() 함수는 독립표본 t-검정을 수행하여 두 개의 독립된 집단 간의 평균의 차이가 유의미한지 평가
- t-통계량(statistic) : t-검정 통계량/ 두 집단 간 평균 차이의 크기와 방향을 나타냄
- p-값(p-value) : 귀무 가설이 참일때, 현재 데이터보다 극단적인 결과가 나올 확률 (유의수준보다 작으면 귀무가설을 기각/ 유의수준보다 크면 귀무가설을 기각하지 않음)
2. 가설 검정
- 표본 데이터를 통해 모집단의 가설을 검증하는 과정
- 데이터가 특정 가설을 지지하는지 평가하는 과정
- 귀무가설(H0)과 대립가설(H1)을 설정하고, 귀무가설을 기각할지를 결정
- 데이터 분석 전략(1. 확증적 자료분석 2. 탐색적 자료분석( EDA))
[가설 검정 단계]
- 귀무가설(H0)과 대립가설(H1) 설정
- 유의수준(α) 결정 (*유의수준으로 많이 사용하는 값이 0.05)
- 검정통계량 계산
- p-값과 유의수준 비교
- 결론 도출
[신뢰구간]
- 모집단의 평균이 특정 범위 내에 있을 것이라는 확률
- 신뢰구간은 가설검정과 밀접하게 관련된 개념
- 신뢰구간과 가설검정은 둘 다 데이터의 모수에 대한 정보를 구하고자 하는 것이지만 접근 방법이 다름
- 일반적으로 95% 신뢰구간이 사용
# 기존 약물(A)와 새로운 약물(B) 효과 데이터 생성
A = np.random.normal(50, 10, 100)
B = np.random.normal(55, 10, 100)
# 평균 효과 계산
mean_A = np.mean(A)
mean_B = np.mean(B)
# t-검정 수행
t_stat, p_value = stats.ttest_ind(A, B)
print(f"A 평균 효과: {mean_A}")
print(f"B 평균 효과: {mean_B}")
print(f"t-검정 통계량: {t_stat}")
print(f"p-값: {p_value}")
# t-검정의 p-값 확인 (위 예시에서 계산된 p-값 사용)
print(f"p-값: {p_value}")
if p_value < 0.05:
print("귀무가설을 기각합니다. 통계적으로 유의미한 차이가 있습니다.")
else:
print("귀무가설을 기각하지 않습니다. 통계적으로 유의미한 차이가 없습니다.")
3. t검정
- 두 집단 간의 평균 차이가 통계적으로 유의미한지 확인하는 검정 방법
- 독립표본 t 검정(두 독립된 그룹의 평균을 비교) / 대응표본 t 검정(동일한 그룹의 사전/사후 평균을 비교)
4. 다중검정
- 여러 가설을 동시에 검정하면 문제가 발생(각 검정마다 유의수준을 조정하지 않으면 1종 오류 발생확률이 증가)
- 보정 방법: 본페로니 보정, 튜기 보정, 던넷 보정...
* 1종 오류: 귀무가설이 참인데 기각하는 오류 (차이가 없는데 차이가 있다고 하는 것)
5. 카이제곱검정 - 범주형 데이터에 사용
- 범주형 데이터의 표본 분포가 모집단 분포와 일치하는지 검정하거나 두 범주형 변수 간의 독립성을 검정(적합도 검정, 독립성 검정)
- 적합도 검정: 관찰된 분포와 기대된 분포가 일치하는지
- 독립성 검정: 두 범주형 변수간의 독립성 검정
# 적합도 검정
observed = [20, 30, 25, 25]
expected = [25, 25, 25, 25]
chi2_stat, p_value = stats.chisquare(observed, f_exp=expected)
print(f"적합도 검정 카이제곱 통계량: {chi2_stat}, p-값: {p_value}")
# 독립성 검정
observed = np.array([[10, 10, 20], [20, 20, 40]])
chi2_stat, p_value, dof, expected = stats.chi2_contingency(observed)
print(f"독립성 검정 카이제곱 통계량: {chi2_stat}, p-값: {p_value}")
# 성별과 흡연 여부 독립성 검정
observed = np.array([[30, 10], [20, 40]])
chi2_stat, p_value, dof, expected = stats.chi2_contingency(observed)
print(f"독립성 검정 카이제곱 통계량: {chi2_stat}, p-값: {p_value}")
- scipy.stats.chisquare 함수는 카이제곱 적합도 검정을 수행하여 관찰된 빈도분포가 기대된 빈도분포와 일치하는지를 평가/ 반환값: chi2(카이제곱 통계량), p_value(관찰된 데이터가 귀무 가설 하에서 발생할 확률)
- scipy.stats.chi2_contingency 함수는 카이제곱 검정을 수행하여 두 개 이상의 범주형 변수 간의 독립성을 검정/ 교차표(contingency table)를 입력으로 받아 카이제곱 통계량, p-값, 자유도, 그리고 기대 빈도(expected frequencies)를 반환
6. 제 1종 오류와 제 2종 오류
- 제 1종 오류(위양성): 아무런 영향이 없는데 영향이 있다고 하는 것 / α만큼 발생
- 제 2종 오류(위음성): 영향이 있는데 영향이 없다고 하는 것 / 일어날 확률은 β로 정의
4주차 회귀(Regression)
[수업 목표]
- 회귀가 무엇인지에 대해 이해
- 다양한 회귀의 종류에 대해서 설명
[목차]
- 단순선형회귀
- 다중선형회귀
- 범주형 변수
- 다항회귀, 스플라인 회귀
1. 단순선형회귀
- 하나의 독립변수(X)와 하나의 종속 변수(Y) 간의 관계를 직선으로 모델링하는 방법
- Y = β0 + β1X, 여기서 β0는 절편, β1는 기울기 (1차 함수를 생각!)
- ex) 현재의 광고비를 바탕으로 예상되는 매출을 예측 가능
2. 다중선형회귀
- 두 개 이상의 독립변수(X1, X2, ..., Xn)와 하나의 종속 변수(Y) 간의 관계를 모델링하는 방법
- Y = β0 + β1X1 + β2X2 + ... + βnXn
- ex) 다양한 광고비(TV, Radio, Newspaper)과 매출 간의 관계 분석
3. 범주형 변수
- 수치형 데이터가 아닌 주로 문자형 데이터로 이루어져 있는 변수
- ex) 성별(남, 여), 지역(도시, 시골) 등
- 순서가 있는 범주형, 순서가 없는 범주....
4. 다항회귀, 스플라인 회귀
- 다항회귀: 독립변수와 종속변수 간의 관계가 선형이 아닐 때 사용/ 독립 변수의 다항식을 사용하여 종속 변수를 예측
- 스플라인 회귀: 독립 변수의 구간별로 다른 회귀식을 적용하여 복잡한 관계를 모델 / 데이터의 복잡한 비선형적 관계를 모델링 하기 위해
5주차 상관관계
[수업 목표]
- 상관관계
- 다양한 상관관게 계산의 특징과 차이점
[목차]
- 피어슨 상관계수
- 비모수 상관계수
- 상호정보 상관계수
1. 피어슨 상관계수(가장 대표적으로 많이 사용하는 상관계수)
- 피어슨 상관계수
- 두 연속형 변수 간의 성형 관계를 측정하는 지표
- -1 ~ 1 사이의 값 / 1: 완전한 양의 선형 , -1: 완전한 음의 선형, 0은 선형관계가 없음
2. 비모수 상관관계(데이터가 정규분포를 따르지 않을 때/ 순서형 데이터일 때)
- 스피어만 상관계수/ 켄달의 타우 비선형 상관계수
- 스피어만: 두 변수의 순위 간의 상관관계를 측정 / 켄달의 타우: 순위 간의 일치 쌍 및 불일치 쌍의 비율을 바탕으로 계산 측정(비선형 관계를 탐지)
- 스피어만은 켄달의 타우 상관계수보다 데이터 내 편차와 에러에 민감
3. 상호정보 상관계수(두 변수가 범주형 변수일 때/ 비선형적이고 복잡한 관계를 탐지하고자 할 때)
- 두 변수 간의 상호 정보를 측정
- 변수 간의 정보 의존성을 바탕으로 비선형 관계를 탐지
- 서로의 정보에 대한 불확실성을 줄이는 정도를 바탕으로 계산
- 범주형 데이터에 대해서도 적용 가능
6주차 가설 검정의 주의점
1. 재현 가능성
- 동일한 연구나 실험을 반복했을 때 일관된 결과가 나오는지 여부/ 연구의 신뢰성을 높이는 중요한 요소
- 결과가 재현되지 않는다면 해당 가설의 신뢰도가 떨어짐
2. p-해킹(여러 가설 검정을 시도할 때 조심)
- 데이터 분석을 반복하여 p-값을 인위적으로 낮추는 행위
- 유의미한 결과를 얻기 위해 다양한 변수를 시도하거나, 데이터를 계속해서 분석하는 등의 방법을 포함
- p-해킹은 데이터 분석 결과의 신뢰성을 저하시킴
3. 선택적 보고
- 유의미한 결과만을 보고하고, 유의미하지 않은 결과는 보고하지 않는 행위
- 이는 데이터 분석의 결과를 왜곡하고, 신뢰성을 저하시킴
4. 자료수집 중단 시점 결정
- 데이터 수집을 시작하기 전에 언제 수집을 중단할지 명확하게 결정하지 않으면, 원하는 결과가 나올 때까지 데이터를 계속 수집할 수 있음
- 이는 결과의 신뢰성을 떨어뜨림
'QCQA_1기' 카테고리의 다른 글
TIL_6W2D_머신러닝 기초(2) (0) | 2025.01.21 |
---|---|
TIL_6W1D_머신러닝 기초(1) (0) | 2025.01.20 |
TIL_5W3D~4D_통계학 기초 정리(1-2주차) (0) | 2025.01.17 |
TIL_5W2D_첫번째 프로젝트 시작과 끝 (0) | 2025.01.15 |
TIL_5W1D_지금까지 푼 데일리 루틴 정리(알고리즘_프로그래머스) (0) | 2025.01.13 |