p-값

R로 하는 가설 검정

Richie Cotton

Data Evangelist at DataCamp

형사 재판

  • 두 가지 실제 상태.
    1. 피고가 범죄를 저질렀다.
    2. 피고가 범죄를 저지르지 않았다.
  • 두 가지 평결.
    1. 유죄.
    2. 무죄.
  • 초기에는 피고가 무죄로 간주됩니다.
  • 피고가 범죄를 저질렀다는 증거가 "합리적 의심의 여지 없이" 충분하면 "유죄" 평결이, 그렇지 않으면 "무죄" 평결이 내려집니다.
R로 하는 가설 검정

첫 프로그래밍 경험 연령

  • age_first_code_cut은 Stack Overflow 사용자가 처음 프로그래밍을 시작한 시기를 분류합니다.
    1. "adult"는 14세 이상에 시작했음을 의미합니다.
    2. "child"는 14세 미만에 시작했음을 의미합니다.
  • 기존 연구에 따르면 소프트웨어 개발자의 35%가 어린 시절에 프로그래밍을 시작했습니다.
  • 우리 표본은 데이터 과학자 중 어린 시절에 프로그래밍을 시작한 비율이 더 높다는 근거를 제공합니까?
R로 하는 가설 검정

정의

가설은 알려지지 않은 모집단 모수에 대한 진술입니다.

가설 검정은 두 경쟁 가설을 검정하는 것입니다.

  • 귀무가설($H_{0}$)은 기존의 "대표" 아이디어입니다.

  • 대립가설($H_{A}$)은 연구자의 새로운 "도전자" 아이디어입니다.

이 문제에서

  • $H_{0}$: 어린 시절에 프로그래밍을 시작한 데이터 과학자의 비율은 소프트웨어 개발자와 동일하다(35%).
  • $H_{A}$: 어린 시절에 프로그래밍을 시작한 데이터 과학자의 비율이 35%보다 크다.
1 "Naught"는 "0"을 뜻하는 영국 영어입니다. 역사적 이유로 "H-naught"는 귀무가설을 발음하는 국제 관례입니다.
R로 하는 가설 검정
  • 두 가지 실제 상태.
    1. 피고가 범죄를 저질렀다.
    2. 피고가 범죄를 저지르지 않았다.
  • 두 가지 평결.
    1. 유죄.
    2. 무죄.
  • 초기에는 피고가 무죄로 간주됩니다.
  • 피고가 범죄를 저질렀다는 증거가 "합리적 의심의 여지 없이" 충분하면 "유죄" 평결이, 그렇지 않으면 "무죄" 평결이 내려집니다.
  • 실제로는 $H_{A}$ 또는 $H_{0}$ 중 하나만 참입니다.
  • 검정 결과는 "$H_{0}$ 기각" 또는 "$H_{0}$ 기각 실패" 중 하나입니다.
  • 초기에는 귀무가설 $H_{0}$이 참으로 가정됩니다.
  • 표본 증거가 $H_{A}$가 참임을 "유의하게" 나타내면 $H_{A}$를, 그렇지 않으면 $H_{0}$을 선택합니다.

유의 수준은 가설 검정에서의 "합리적 의심의 여지 없이"에 해당합니다.

R로 하는 가설 검정

단측 검정과 양측 검정

표준 정규 분포의 확률 밀도 함수 밀도 플롯으로, 중앙 부분은 가려져 있고 양쪽 꼬리 부분만 표시됩니다.

가설 검정은 표본 통계량이 귀무 분포의 꼬리 부분에 위치하는지를 판단합니다.

검정 꼬리
대립가설이 귀무가설과 다를 때 양측 검정
대립가설이 귀무가설보다 클 때 우측 검정
대립가설이 귀무가설보다 작을 때 좌측 검정

$H_{A}$: 어린 시절에 프로그래밍을 시작한 데이터 과학자의 비율이 35%보다 크다.

대립가설이 "크다"를 사용하므로 우측 검정이 필요합니다.

R로 하는 가설 검정

p-값

  • p-값이 클수록 $H_{0}$에 대한 지지가 강합니다.
  • p-값이 작을수록 $H_{0}$에 반하는 증거가 강합니다.
  • 작은 p-값은 통계량이 귀무 분포(귀무가설이 참일 때 통계량의 분포)의 꼬리에 위치함을 의미합니다.
    • p-값에서 "p"는 확률(probability)을 뜻합니다.
    • p-값에서 "작다"는 "0에 가깝다"를 의미합니다.
R로 하는 가설 검정

p-값 정의

p-값

귀무가설이 참이라는 가정 하에,

원래 표본에서 관측된 값과

같거나 더 극단적인 검정 통계량이

관측될 확률입니다.

R로 하는 가설 검정

z-점수 계산

prop_child_samp <- stack_overflow %>%
  summarize(point_estimate = mean(age_first_code_cut == "child")) %>%
  pull(point_estimate)
0.388
prop_child_hyp <- 0.35
std_error <- 0.0096028
z_score <- (prop_child_samp - prop_child_hyp) / std_error
3.956
R로 하는 가설 검정

p-값 계산

  • pnorm()은 정규 CDF입니다.
  • 좌측 검정 → 기본값 lower.tail = TRUE 사용.
  • 우측 검정 → lower.tail = FALSE 설정.

 

p_value <- pnorm(z_score, lower.tail = FALSE)
3.818e-05
R로 하는 가설 검정

연습해 봅시다!

R로 하는 가설 검정

Preparing Video For Download...