QCQA_1기

TIL_5W5D_통계학 기초 정리(3-6주차)

story3395 2025. 1. 20. 17:17
통계학 기초 정리 이어서,,,

3주차 유의성 검정

[수업목표]

  • 각각의 유의성 검정 방법들을 이해하고 특징을 파악
  • 신뢰구간과 가설검정의 관계
  • 제 1종 오류와 2종 오류

[목차]

  1. A/B 검정
  2. 가설검정
  3. t검정
  4. 다중검정
  5. 카이제곱검정
  6. 제 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))

[가설 검정 단계]

  1. 귀무가설(H0)과 대립가설(H1) 설정
  2. 유의수준(α) 결정 (*유의수준으로 많이 사용하는 값이 0.05)
  3. 검정통계량 계산
  4. p-값과 유의수준 비교
  5. 결론 도출

[신뢰구간]

  • 모집단의 평균이 특정 범위 내에 있을 것이라는 확률
  • 신뢰구간은 가설검정과 밀접하게 관련된 개념
  • 신뢰구간과 가설검정은 둘 다 데이터의 모수에 대한 정보를 구하고자 하는 것이지만 접근 방법이 다름
  • 일반적으로 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. 단순선형회귀
  2. 다중선형회귀
  3. 범주형 변수
  4. 다항회귀, 스플라인 회귀

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. 피어슨 상관계수
  2. 비모수 상관계수
  3. 상호정보 상관계수

1. 피어슨 상관계수(가장 대표적으로 많이 사용하는 상관계수)

가장 왼쪽에 있는 그래프!!

  • 피어슨 상관계수
  • 두 연속형 변수 간의 성형 관계를 측정하는 지표
  • -1 ~ 1 사이의 값 / 1: 완전한 양의 선형 , -1: 완전한 음의 선형, 0은 선형관계가 없음

 

2. 비모수 상관관계(데이터가 정규분포를 따르지 않을 때/ 순서형 데이터일 때)

중간에 있는 그래프(스피어만), 가장 오른쪽에 있는 그래프(켄달의 타우 비선형 상관계수)

  • 스피어만 상관계수/ 켄달의 타우 비선형 상관계수
  • 스피어만: 두 변수의 순위 간의 상관관계를 측정 / 켄달의 타우: 순위 간의 일치 쌍 및 불일치 쌍의 비율을 바탕으로 계산 측정(비선형 관계를 탐지)
  • 스피어만은 켄달의 타우 상관계수보다 데이터 내 편차와 에러에 민감

 

3. 상호정보 상관계수(두 변수가 범주형 변수일 때/ 비선형적이고 복잡한 관계를 탐지하고자 할 때)

  • 두 변수 간의 상호 정보를 측정
  • 변수 간의 정보 의존성을 바탕으로 비선형 관계를 탐지
  • 서로의 정보에 대한 불확실성을 줄이는 정도를 바탕으로 계산
  • 범주형 데이터에 대해서도 적용 가능

 


6주차 가설 검정의 주의점

1. 재현 가능성

  • 동일한 연구나 실험을 반복했을 때 일관된 결과가 나오는지 여부/ 연구의 신뢰성을 높이는 중요한 요소
  • 결과가 재현되지 않는다면 해당 가설의 신뢰도가 떨어짐

2. p-해킹(여러 가설 검정을 시도할 때 조심)

  • 데이터 분석을 반복하여 p-값을 인위적으로 낮추는 행위
  • 유의미한 결과를 얻기 위해 다양한 변수를 시도하거나, 데이터를 계속해서 분석하는 등의 방법을 포함
  • p-해킹은 데이터 분석 결과의 신뢰성을 저하시킴

3. 선택적 보고

  • 유의미한 결과만을 보고하고, 유의미하지 않은 결과는 보고하지 않는 행위
  • 이는 데이터 분석의 결과를 왜곡하고, 신뢰성을 저하시킴

4. 자료수집 중단 시점 결정

  • 데이터 수집을 시작하기 전에 언제 수집을 중단할지 명확하게 결정하지 않으면, 원하는 결과가 나올 때까지 데이터를 계속 수집할 수 있음
  • 이는 결과의 신뢰성을 떨어뜨림
  •