# 기존 약물(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("귀무가설을 기각하지 않습니다. 통계적으로 유의미한 차이가 없습니다.")
# 학생 점수 데이터 scores_method1 = np.random.normal(70, 10, 30) scores_method2 = np.random.normal(75, 10, 30) # 독립표본 t검정 t_stat, p_val = stats.ttest_ind(scores_method1, scores_method2) print(f"T-Statistic: {t_stat}, P-value: {p_val}")
import numpy as np import scipy.stats as stats # 세 그룹의 데이터 생성 np.random.seed(42) group_A = np.random.normal(10, 2, 30) group_B = np.random.normal(12, 2, 30) group_C = np.random.normal(11, 2, 30) # 세 그룹 간 평균 차이에 대한 t검정 수행 p_values = [] p_values.append(stats.ttest_ind(group_A, group_B).pvalue) p_values.append(stats.ttest_ind(group_A, group_C).pvalue) p_values.append(stats.ttest_ind(group_B, group_C).pvalue) # 본페로니 보정 적용 alpha = 0.05 adjusted_alpha = alpha / len(p_values) # 결과 출력 print(f"본페로니 보정된 유의 수준: {adjusted_alpha:.4f}") for i, p in enumerate(p_values): if p < adjusted_alpha: print(f"검정 {i+1}: 유의미한 차이 발견 (p = {p:.4f})") else: print(f"검정 {i+1}: 유의미한 차이 없음 (p = {p:.4f})")
# 적합도 검정 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 함수는 카이제곱 적합도 검정을 수행하여 관찰된 빈도 분포가 기대된 빈도 분포와 일치하는지 평가합니다. 이 검정은 주로 단일 표본에 대해 관찰된 빈도가 특정 이론적 분포(예: 균등 분포)와 일치하는지 확인하는 데 사용됩니다.scipy.stats.chi2_contingency 함수는 카이제곱 검정을 수행하여 두 개 이상의 범주형 변수 간의 독립성을 검정합니다. 이 함수는 관측 빈도를 담고 있는 교차표(contingency table)를 입력으로 받아 카이제곱 통계량, p-값, 자유도, 그리고 기대 빈도(expected frequencies)를 반환합니다.귀무가설이 참인데 기각
잘못된 긍정을 의미
위양성
유의수준이 0.05라면 100번 중 5번 정도 일어날 수 있는 제 1종 오류는 감수하겠다는 것.
❓다중 검정시 제 1종 오류가 증가하는 이유?