관리 메뉴

Bull

[Statistics] 가설(Hypothesis) | study book 본문

Math/Statistics

[Statistics] 가설(Hypothesis) | study book

Bull_ 2024. 8. 10. 09:34

가설(Hypothesis)

어떤 사실을 설명하거나 증명하기 위한 가정으로 두 개 이사으이 변수의 관계를 검증 가능한 형태로 기술하여 변수 간의 관계를 예측하는 것이다. 연구가설, 귀무가설, 대립가설 등이 있지만 학교에서 중심적으로 다뤘던 내용은 귀무가설과 대립가설이 있다.

 

귀무가설은 처음부터 버릴 것을 예상하는 가설이다. 변수 간 차이나 관계가 없을을 증명하려는 가설이다. 가설에 대해서 크게 다르지 않은 효과가 나타날 거 같을 때 귀무가설을 사용한다. 대립가설은 귀무가설을 반대를 일컫는다.

머신러닝에서 가설

머신러닝에서 가설은 통계적 가설 검정을 말한다.x와 y의 관계를 가장 잘 근사시키기 위해 사용된다.그래프에서 선형회귀를 생각하면된다.

통계적 가설 검정 사례

대표적인 통계적 가설 검정은 t-검정을 쌍체 t-검정, 비쌍체 t-검정으로 나눌 수 있다.

쌍체 t-검정은 동일 항목 또는 그룹을 2번 테스트할 때 사용한다. 쉽게 생각하면 공을 뽑을 확률을 구하기 위해 1개의 박스에서 2번 시행한다.


비쌍체 t-검정은 등분산성을 만족하는 2개의 독립적인 그룹 간의 평균을 비교하는데 사용한다. 위의 예를 이어서 보면 표본이 같은 서로 다른 두 박스에서 공을 뽑을 확률을 구하기 위해 각각의 박스에서 시행한다.

 

머신러닝에서 통계적 가설을 적용한다면 비쌍체 t-검정을 사용한다.

import numpy as np
import pandas as pd
import seaborn as sns
from scipy import stats
from matplotlib import pyplot as plt


# stat.norm.rvs 는 특정 평균(loc)과 표준편차(scale)를 따르른 분포에서 데이터 샘플링 해주는 메소드
# 평균 170, 표준편차 10, 500개 데이터, 랜덤 시드 1
man_height = stats.norm.rvs(loc=170, scale=10, size=500, random_state=1)
# 평균 150, 표준편차 10, 500개 데이터, 랜덤 시드 1
woman_height = stats.norm.rvs(loc=150, scale=10, size=500, random_state=1)

# 각 배열을 합쳐줌, [~500는 man 데이터, 501~1000 woman] 배열
X = np.concatenate([man_height, woman_height])
# Y는 라벨링하는 다른 변수 ['man','man','man',...,'woman','woman','woman','woman']
Y = ["man"] * len(man_height) + ["woman"] * len(woman_height)

# zip으로 (X,Y) 튜플리스트로 짝지어줌
df = pd.DataFrame(list(zip(X, Y)), columns=["X", "Y"])
# kdeplot
fig = sns.displot(data=df, x="X", hue="Y", kind="kde")
fig.set_axis_labels("cm", "count")
# plot 을 통해 시각화
plt.show()

비쌍체 t-검정 CODE

# scipy 라이브러리를 통해 비쌍체 t-test 결과를 설정, 통계를 배우면 알겠지만 모분산의 경우에 따라 공식이 달라짐. 따라서 모분산은 같다고 설정.
statistic, pvalue = stats.ttest_ind(man_height, woman_height, equal_var=True)

#통계량
print("statistic:", statistic)
# p-value
print("pvalue :", pvalue)
# true면 채택역 : 유의미하다
print("*:", pvalue < 0.05)
print("**:", pvalue < 0.001)
결과
statistic: 31.96162891312776
pvalue : 6.2285854381989205e-155
*: True
**: True

참고 자료

https://product.kyobobook.co.kr/detail/S000209621433

 

파이토치 트랜스포머를 활용한 자연어 처리와 컴퓨터비전 심층학습 | 윤대희 - 교보문고

파이토치 트랜스포머를 활용한 자연어 처리와 컴퓨터비전 심층학습 | 트랜스포머는 딥러닝 분야에서 성능이 우수한 모델로 현대 인공지능 분야의 핵심 기술입니다. 트랜스포머와 비전 트랜스

product.kyobobook.co.kr