logo

가설 테스트 이해

가설 테스트에는 표본 통계를 기반으로 모집단 매개변수에 대한 가정을 공식화하고 경험적 증거에 대해 이러한 가정을 엄격하게 평가하는 작업이 포함됩니다. 이 기사에서는 가설 테스트의 중요성과 프로세스와 관련된 중요한 단계에 대해 설명합니다.

가설 테스트란 무엇입니까?

가설 검정은 실험 데이터를 사용하여 통계적 결정을 내리는 데 사용되는 통계적 방법입니다. 가설 검정은 기본적으로 모집단 매개변수에 대해 가정하는 것입니다. 모집단에 대해 상호 배타적인 두 가지 진술을 평가하여 표본 데이터가 가장 잘 뒷받침하는 진술을 결정합니다.



예: 반의 평균 키가 30세이거나 남자 아이가 여자 아이보다 크다고 하더군요. 이 모든 것은 우리가 가정하고 있는 가정이며, 이를 증명하려면 통계적인 방법이 필요합니다. 우리가 참이라고 가정하는 것은 무엇이든 수학적 결론이 필요합니다.

가설 정의

  • 귀무가설(H 0 ): 통계에서 귀무가설은 측정된 두 사례 간에 관계가 없거나 그룹 간에 관계가 없다는 일반적인 진술 또는 기본 입장입니다. 즉, 기본 가정이거나 문제지식을 바탕으로 만들어진 것이다.
    : 한 회사의 평균 생산량은 50개/일 H입니다.0: mu= 50.
  • 대립가설(H 1 ): 대립 가설은 귀무 가설에 반대되는 가설 검정에 사용되는 가설입니다.
    예: 회사의 생산량은 하루 50개 단위와 동일하지 않습니다. 즉, H1: mu N 오십.

가설 검정의 주요 용어

  • 유의성 수준 : 귀무가설을 받아들이거나 기각하는 유의 정도를 말합니다. 가설을 채택하는 데 100% 정확도는 불가능하므로 일반적으로 5%의 유의 수준을 선택합니다. 이는 일반적으로 다음과 같이 표시됩니다. 알파일반적으로 이는 0.05 또는 5%입니다. 이는 각 샘플에서 유사한 결과를 제공하려면 출력이 95% 신뢰해야 함을 의미합니다.
  • P-값: 그만큼 P 값 , 또는 계산된 확률은 연구에서 주어진 문제의 귀무가설(H0)이 참일 때 관찰/극단 결과를 찾을 확률입니다. P-값이 선택한 유의 수준보다 작으면 귀무 가설을 기각합니다. 즉, 표본이 대립 가설을 뒷받침한다고 주장하는 것을 받아들입니다.
  • 테스트 통계: 검정 통계량은 가설 검정 중 표본 데이터로부터 계산된 수치로, 귀무 가설의 기각 여부를 결정하는 데 사용됩니다. 관찰된 결과의 통계적 유의성에 대한 결정을 내리기 위해 임계값 또는 p-값과 비교됩니다.
  • 결정적인 가치 : 통계에서 임계값은 가설 검정에서 귀무가설의 기각 여부를 결정하는 데 사용되는 임계값 또는 구분점입니다.
  • 자유도: 자유도는 매개변수를 추정할 때 갖는 가변성 또는 자유도와 관련이 있습니다. 자유도는 표본 크기와 관련이 있으며 모양을 결정합니다.

가설 테스트를 사용하는 이유는 무엇입니까?

가설검정은 통계학에서 중요한 과정이다. 가설 검정은 상호 배타적인 두 개의 모집단 설명을 평가하여 표본 데이터가 가장 잘 뒷받침하는 설명을 결정합니다. 가설 테스트 덕분에 결과가 통계적으로 유의하다고 말할 수 있습니다.

단측 및 양측 테스트

단측 테스트는 지정된 값보다 크거나 작은 한 방향에 초점을 맞춥니다. 우리는 사전 지식이나 이론을 바탕으로 명확한 방향성 기대가 있는 경우 단측 검정을 사용합니다. 임계 영역은 분포 곡선의 한쪽에만 위치합니다. 표본이 이 임계 영역에 속하면 대립 가설을 위해 귀무 가설이 기각됩니다.



단측 테스트

단측 검정에는 두 가지 유형이 있습니다.

  • 왼쪽 꼬리(왼쪽) 테스트: 대립 가설은 실제 모수 값이 귀무 가설보다 작다고 주장합니다. 예: H0​: mu geq 50그리고 H1:
  • 그리고 H1: mu>50

양측 테스트

양측 테스트는 지정된 값보다 크거나 작은 두 방향을 모두 고려합니다. 특정 방향 기대치가 없고 중요한 차이를 감지하려는 경우 양측 테스트를 사용합니다.

예: H0: in =50과 H1: mu 
eq 50



가설 검정에서 유형 1 오류와 유형 2 오류는 무엇입니까?

가설검정에서는 제1종 오류와 제2종 오류 연구자들이 데이터 샘플을 기반으로 모집단에 대한 결론을 도출할 때 범할 수 있는 두 가지 오류는 다음과 같습니다. 이러한 오류는 귀무가설과 대립가설에 관한 결정과 관련이 있습니다.

  • 제1종 오류: 우리가 귀무가설을 기각할 때, 그 가설은 사실이었지만. 제1종 오류는 알파( 알파).
  • 제2종 오류: 귀무가설을 받아들였으나 거짓인 경우. 제2종 오류는 베타( 베타).


귀무가설은 참이다

귀무가설은 거짓이다

귀무가설이 참(수용)

올바른 결정

제2종 오류(거짓음성)

대립가설이 참(기각)

제1종 오류(거짓양성)

올바른 결정

가설 테스트는 어떻게 작동하나요?

1단계: 귀무 가설과 대립 가설 정의

귀무가설을 기술합니다( H_0), 효과가 없음을 나타내고 대립 가설( H_1​), 효과나 차이를 암시합니다.

우리는 먼저 우리의 가정이 서로 모순되어야 한다는 점을 염두에 두고 가정하고 싶은 문제를 식별합니다. 정규 분포 데이터.

2단계 - 유의수준 선택

유의 수준을 선택합니다( 알파), 일반적으로 0.05로 귀무 가설을 기각하기 위한 임계값을 결정합니다. 이는 가설 테스트에 타당성을 제공하여 주장을 뒷받침할 충분한 데이터가 있음을 보장합니다. 일반적으로 테스트 전에 유의 수준을 결정합니다. 그만큼 p-값 유의미한 값을 계산하는 데 사용되는 기준입니다.

3단계 데이터를 수집하고 분석합니다.

관찰이나 실험을 통해 관련 데이터를 수집합니다. 테스트 통계를 얻기 위해 적절한 통계 방법을 사용하여 데이터를 분석합니다.

4단계 - 테스트 통계 계산

테스트를 위한 데이터를 평가하는 단계로, 데이터의 특성에 따라 다양한 점수를 구합니다. 검정 통계량의 선택은 수행되는 가설 검정 유형에 따라 다릅니다.

다양한 가설 검정이 있으며, 각각은 검정을 계산하기 위한 다양한 목표에 적합합니다. 이것은 Z-테스트 , 카이제곱 , T-테스트 , 등등.

  1. Z-테스트 : 모집단 평균과 표준편차를 알고 있는 경우. Z-통계량이 일반적으로 사용됩니다.
  2. t-테스트 : 모집단 표준편차를 알 수 없는 경우. 표본 크기가 t-검정 통계보다 작은 것이 더 적합합니다.
  3. 카이제곱 검정 : 카이제곱 검정은 범주형 데이터 또는 분할표의 독립성 검정에 사용됩니다.
  4. F-검정 : F-검정은 분산 분석(ANOVA)에서 분산을 비교하거나 여러 그룹 간의 평균 동일성을 테스트하는 데 자주 사용됩니다.

우리는 더 작은 데이터 세트를 가지고 있으므로 T-test가 가설을 테스트하는 데 더 적합합니다.

T-통계량은 각 그룹 내 변동성을 기준으로 두 그룹 평균 간의 차이를 측정한 것입니다. 이는 표본 평균 간의 차이를 차이의 표준 오차로 나누어 계산됩니다. t-값 또는 t-점수라고도 합니다.

5단계 – 테스트 통계 비교:

이 단계에서는 귀무가설을 채택할지, 귀무가설을 기각할지를 결정합니다. 귀무가설을 어디에서 받아들일지 기각할지 결정하는 방법에는 두 가지가 있습니다.

방법 A: 중요한 값 사용

우리가 가지고 있는 테스트 통계와 표로 만들어진 임계값을 비교하면,

  • 검정통계량>임계값인 경우: 귀무가설을 기각합니다.
  • 검정 통계치≤임계 값인 경우: 귀무 가설을 기각하지 못합니다.

메모: 임계값은 가설 검정에서 결정을 내리는 데 사용되는 미리 결정된 임계값입니다. 결정 중요한 가치 가설 검정을 위해 우리는 일반적으로 정규 분포 또는 t-분포 테이블과 같은 통계 분포 테이블을 참조합니다.

방법 B: P-값 사용

p-값을 사용하여 결론을 내릴 수도 있습니다.

  • p-값이 유의 수준보다 작거나 같은 경우, 즉 ( pleq알파), 귀무가설을 기각합니다. 이는 관찰된 결과가 우연히 발생했을 가능성이 거의 없으며 대립 가설을 지지하는 증거를 제공한다는 것을 나타냅니다.
  • p-값이 유의 수준보다 큰 경우, 즉 ( pgeq알파), 귀무 가설을 기각하지 못합니다. 이는 관찰된 결과가 귀무가설 하에서 예상되는 결과와 일치함을 시사합니다.

메모 : p-값은 귀무가설이 참이라고 가정할 때 표본에서 관찰된 것과 같거나 더 극단적인 검정 통계량을 얻을 확률입니다. 결정 p-값 가설 검정을 위해 우리는 일반적으로 정규 분포 또는 t-분포 테이블과 같은 통계 분포 테이블을 참조합니다.

7단계 - 결과 해석

마지막으로 방법 A 또는 B를 사용하여 실험을 마무리할 수 있습니다.

테스트 통계 계산

모집단 매개변수에 대한 가설을 검증하기 위해 우리는 통계 함수 . 우리는 z-점수, p-값, 유의 수준(알파)을 사용하여 다음 가설에 대한 증거를 만듭니다. 정규 분포 데이터 .

1. Z-통계:

모집단 평균과 표준 편차가 알려진 경우.

z = frac{ar{x} - mu}{frac{sigma}{sqrt{n}}}

어디,

  • ar{x}표본평균이고,
  • μ는 모집단 평균을 나타내고,
  • σ는 표준편차
  • n은 표본의 크기입니다.

2. T-통계

T 테스트는 n<30일 때 사용되며,

t-통계량 계산은 다음과 같이 제공됩니다.

t=frac{x̄-Μ}{s/sqrt{n}}

어디,

  • t = t-점수,
  • x̄ = 표본 평균
  • μ = 모집단 평균,
  • s = 표본의 표준편차,
  • n = 표본 크기

3. 카이제곱 검정

다음을 사용하여 독립 범주형 데이터(비정규 분포)에 대한 카이제곱 검정:

chi^2 = sum frac{(O_{ij} - E_{ij})^2}{E_{ij}}

어디,

  • 오_{ij}셀에서 관찰된 빈도입니다. {ij}
  • i,j는 각각 행과 열 인덱스입니다.
  • E_{ij}셀의 예상 빈도입니다. {ij}, 다음과 같이 계산됩니다.
    frac{{	ext{{행 합계}} 	imes 	ext{{열 합계}}}}{{	ext{{총 관측치}}}}

실제 가설 테스트 예시

두 가지 실제 상황을 사용하여 가설 검정을 살펴보겠습니다.

사례 A: 신약이 혈압에 영향을 미치나요?

한 제약회사가 고혈압 환자의 혈압을 효과적으로 낮출 수 있다고 믿는 신약을 개발했다고 상상해 보십시오. 약물을 시장에 출시하기 전에 혈압에 미치는 영향을 평가하기 위한 연구를 수행해야 합니다.

데이터:

  • 치료 전 : 120, 122, 118, 130, 125, 128, 115, 121, 123, 119
  • 치료 후: 115, 120, 112, 128, 122, 125, 110, 117, 119, 114

1 단계 : 가설 정의

  • 귀무 가설 : (시간0)신약은 혈압에 영향을 미치지 않습니다.
  • 대체 가설 : (시간1)신약은 혈압에 영향을 미칩니다.

2 단계: 유의성 수준 정의

귀무가설을 기각하는 유의수준을 0.05로 가정해 보겠습니다.

증거에 따르면 무작위 변동으로 인해 결과를 관찰할 확률이 5% 미만인 경우.

3단계 : 검정 통계량을 계산합니다.

사용 쌍을 이루는 T-검정 데이터를 분석하여 검정 통계량과 p-값을 얻습니다.

테스트 통계(예: T-통계)는 치료 전후 혈압 측정치의 차이를 기반으로 계산됩니다.

t = m/(s/√n)

어디:

  • = 차이의 평균, 즉 엑스 후에, 엑스 ~ 전에
  • 에스 = 차이의 표준편차(d) 즉 ​= 엑스 후에, ​− 엑스 전에,
  • N = 표본 크기,

그러면 m= -3.9, s= 1.8, n= 10입니다.

우리는 paired t test의 공식을 바탕으로 T-statistic = -9를 계산합니다.

4단계: p-값 찾기

계산된 t-통계량은 -9이고 자유도는 df = 9이면 통계 소프트웨어나 t-분포표를 사용하여 p-값을 찾을 수 있습니다.

따라서 p-값 = 8.538051223166285e-06

알파벳을 숫자로

5단계: 결과

  • p-값이 0.05보다 작거나 같으면 연구자는 귀무가설을 기각합니다.
  • p-값이 0.05보다 크면 귀무 가설을 기각하지 못합니다.

결론: p-값(8.538051223166285e-06)이 유의 수준(0.05)보다 작기 때문에 연구자들은 귀무 가설을 기각합니다. 신약 투여 전과 후의 평균 혈압이 다르다는 통계적으로 유의미한 증거가 있습니다.

가설 테스트의 Python 구현

신약이 혈압에 영향을 미치는지 여부를 테스트하는 Python을 사용하여 가설 테스트를 만들어 보겠습니다. 이 예에서는 대응 T-검정을 사용합니다. 우리는 scipy.stats> T-test를 위한 라이브러리입니다.

우리는 Python을 통해 첫 번째 실제 문제를 구현하겠습니다.

파이썬3

import> numpy as np> from> scipy>import> stats> # Data> before_treatment>=> np.array([>120>,>122>,>118>,>130>,>125>,>128>,>115>,>121>,>123>,>119>])> after_treatment>=> np.array([>115>,>120>,>112>,>128>,>122>,>125>,>110>,>117>,>119>,>114>])> # Step 1: Null and Alternate Hypotheses> # Null Hypothesis: The new drug has no effect on blood pressure.> # Alternate Hypothesis: The new drug has an effect on blood pressure.> null_hypothesis>=> 'The new drug has no effect on blood pressure.'> alternate_hypothesis>=> 'The new drug has an effect on blood pressure.'> # Step 2: Significance Level> alpha>=> 0.05> # Step 3: Paired T-test> t_statistic, p_value>=> stats.ttest_rel(after_treatment, before_treatment)> # Step 4: Calculate T-statistic manually> m>=> np.mean(after_treatment>-> before_treatment)> s>=> np.std(after_treatment>-> before_treatment, ddof>=>1>)># using ddof=1 for sample standard deviation> n>=> len>(before_treatment)> t_statistic_manual>=> m>/> (s>/> np.sqrt(n))> # Step 5: Decision> if> p_value <>=> alpha:> >decision>=> 'Reject'> else>:> >decision>=> 'Fail to reject'> # Conclusion> if> decision>=>=> 'Reject'>:> >conclusion>=> 'There is statistically significant evidence that the average blood pressure before and after treatment with the new drug is different.'> else>:> >conclusion>=> 'There is insufficient evidence to claim a significant difference in average blood pressure before and after treatment with the new drug.'> # Display results> print>(>'T-statistic (from scipy):'>, t_statistic)> print>(>'P-value (from scipy):'>, p_value)> print>(>'T-statistic (calculated manually):'>, t_statistic_manual)> print>(f>'Decision: {decision} the null hypothesis at alpha={alpha}.'>)> print>(>'Conclusion:'>, conclusion)>
>
>

산출:

T-statistic (from scipy): -9.0 P-value (from scipy): 8.538051223166285e-06 T-statistic (calculated manually): -9.0 Decision: Reject the null hypothesis at alpha=0.05. Conclusion: There is statistically significant evidence that the average blood pressure before and after treatment with the new drug is different.>

위 예에서 T-통계량이 약 -9이고 p-값이 매우 작은 경우 결과는 유의 수준 0.05에서 귀무 가설을 기각하는 강력한 사례를 나타냅니다.

  • 결과는 새로운 약물, 치료 또는 개입이 혈압을 낮추는 데 상당한 영향을 미친다는 것을 시사합니다.
  • 음의 T-통계량은 치료 후 평균 혈압이 치료 전 가정된 모집단 평균보다 상당히 낮음을 나타냅니다.

사례 B : 인구의 콜레스테롤 수치

데이터: 25명의 표본을 채취하여 콜레스테롤 수치를 측정했습니다.

콜레스테롤 수치(mg/dL): 205, 198, 210, 190, 215, 205, 200, 192, 198, 205, 198, 202, 208, 200, 205, 198, 205, 210, 192, 205, 198, 205, 210, 192, 205.

모집단 평균 = 200

인구 표준 편차(σ): 5mg/dL(이 문제에 대해 제공됨)

1 단계: 가설 정의

  • 귀무가설(H 0 ): 한 인구의 평균 콜레스테롤 수치는 200mg/dL입니다.
  • 대립 가설(H 1 ): 한 인구의 평균 콜레스테롤 수치는 200mg/dL과 다릅니다.

2 단계: 유의성 수준 정의

편차의 방향이 주어지지 않으므로 양측 검정을 가정하고 정규분포표를 기반으로 유의수준 0.05(양측)에 대한 임계값을 다음을 통해 계산할 수 있다. z-테이블 대략 -1.96과 1.96입니다.

3단계 : 검정 통계량을 계산합니다.

검정 통계량은 z 공식을 사용하여 계산됩니다. 와 함께 = (203.8 - 200) / (5 div sqrt{25})​ 그리고 우리는 그에 따라, 와 함께 =2.039999999999992.

4단계: 결과

검정 통계량의 절대값(2.04)이 임계값(1.96)보다 크기 때문에 귀무가설을 기각합니다. 그리고 인구의 평균 콜레스테롤 수치가 200mg/dL과 다르다는 통계적으로 유의미한 증거가 있다고 결론을 내립니다.

가설 테스트의 Python 구현

파이썬3

import> scipy.stats as stats> import> math> import> numpy as np> # Given data> sample_data>=> np.array(> >[>205>,>198>,>210>,>190>,>215>,>205>,>200>,>192>,>198>,>205>,>198>,>202>,>208>,>200>,>205>,>198>,>205>,>210>,>192>,>205>,>198>,>205>,>210>,>192>,>205>])> population_std_dev>=> 5> population_mean>=> 200> sample_size>=> len>(sample_data)> # Step 1: Define the Hypotheses> # Null Hypothesis (H0): The average cholesterol level in a population is 200 mg/dL.> # Alternate Hypothesis (H1): The average cholesterol level in a population is different from 200 mg/dL.> # Step 2: Define the Significance Level> alpha>=> 0.05> # Two-tailed test> # Critical values for a significance level of 0.05 (two-tailed)> critical_value_left>=> stats.norm.ppf(alpha>/>2>)> critical_value_right>=> ->critical_value_left> # Step 3: Compute the test statistic> sample_mean>=> sample_data.mean()> z_score>=> (sample_mean>-> population_mean)>/> > >(population_std_dev>/> math.sqrt(sample_size))> # Step 4: Result> # Check if the absolute value of the test statistic is greater than the critical values> if> abs>(z_score)>>max>(>abs>(critical_value_left),>abs>(critical_value_right)):> >print>(>'Reject the null hypothesis.'>)> >print>(>'There is statistically significant evidence that the average cholesterol level in the population is different from 200 mg/dL.'>)> else>:> >print>(>'Fail to reject the null hypothesis.'>)> >print>(>'There is not enough evidence to conclude that the average cholesterol level in the population is different from 200 mg/dL.'>)>
>
>

산출:

Reject the null hypothesis. There is statistically significant evidence that the average cholesterol level in the population is different from 200 mg/dL.>

가설 검정의 한계

  • 유용한 기술이지만 가설 검정은 연구 중인 주제에 대한 포괄적인 이해를 제공하지 않습니다. 현상의 복잡성이나 전체 맥락을 완전히 반영하지 않고 특정 가설과 통계적 중요성에 집중합니다.
  • 가설 검정 결과의 정확성은 이용 가능한 데이터의 품질과 사용된 통계 방법의 적절성에 따라 달라집니다. 부정확한 데이터나 잘못 구성된 가설은 잘못된 결론을 초래할 수 있습니다.
  • 가설 테스트에만 의존하면 분석가가 테스트 중인 특정 가설에 의해 포착되지 않는 데이터의 중요한 패턴이나 관계를 간과할 수 있습니다. 이러한 제한은 다른 분석 접근법으로 가설 검정을 보완하는 것의 중요성을 강조합니다.

결론

가설 테스트는 통계 분석의 초석으로, 데이터 과학자가 불확실성을 탐색하고 샘플 데이터에서 신뢰할 수 있는 추론을 도출할 수 있도록 해줍니다. 귀무 가설과 대립 가설을 체계적으로 정의하고, 유의 수준을 선택하고, 통계 테스트를 활용함으로써 연구자들은 가정의 타당성을 평가할 수 있습니다. 이 기사는 또한 유형 I 오류와 유형 II 오류 간의 중요한 차이점을 설명하여 가설 테스트에 내재된 미묘한 의사 결정 프로세스에 대한 포괄적인 이해를 제공합니다. 쌍체 T-검정을 사용하여 혈압에 대한 신약의 효과를 테스트하는 실제 사례는 이러한 원칙의 실제 적용을 보여주며 데이터 기반 의사 결정에서 통계적 엄격함이 얼마나 중요한지 강조합니다.

자주 묻는 질문(FAQ)

1. 가설검정의 3가지 종류는 무엇인가요?

가설 검정에는 오른쪽 꼬리, 왼쪽 꼬리, 양측 꼬리의 세 가지 유형이 있습니다. 오른쪽 꼬리 테스트는 매개변수가 더 큰 경우 평가하고, 작은 경우 왼쪽 꼬리 테스트를 수행합니다. 양측 테스트는 크거나 작은 비방향성 차이를 확인합니다.

2.가설검정의 4가지 구성요소는 무엇인가요?

귀무 가설 ( H_o): 효과나 차이가 없습니다.

대립가설( H_1): 효과나 차이가 존재합니다.

유의수준( 알파): 귀무가설이 참일 때 기각될 위험이 있습니다(제1종 오류).

검정 통계량: 귀무 가설에 반하는 관찰된 증거를 나타내는 수치입니다.

3.ML에서 가설 테스트란 무엇입니까?

기계 학습 모델의 성능과 타당성을 평가하는 통계적 방법입니다. 기능이 예측에 영향을 미치는지 또는 모델이 보이지 않는 데이터에 대해 잘 일반화되는지와 같은 모델 동작에 대한 특정 가설을 테스트합니다.

4.Python에서 Pytest와 가설의 차이점은 무엇인가요?

Pytest는 Python 코드에 대한 일반 테스트 프레임워크를 목적으로 하는 반면, 가설은 Python용 속성 기반 테스트 프레임워크로, 코드의 지정된 속성을 기반으로 테스트 사례를 생성하는 데 중점을 둡니다.