Post

통계학( 추정과 가설검정)

통계학( 추정과 가설검정)

1. 추정과 분산

표본 추정

  • 점추정: 단일 값(예: 표본 평균)으로 모수를 추정.
  • 구간추정: 신뢰구간(예: 95% 신뢰구간)을 사용해 모수를 추정.
    • 95% 신뢰구간: 평균 ± 1.96 × 표준오차.

분산과 표준편차

  • 표본 분산 계산식:
    \(S^2 = \frac{1}{n-1} \sum_{i=1}^n (X_i - \bar{X})^2\)
    • n-1로 나누는 이유: 불편추정량을 얻기 위해 표본 편향 보정.
  • 표본 표준편차:
    \(S = \sqrt{S^2}\)

최대우도 추정법(MLE)

  • 주어진 데이터가 관찰될 확률(우도)을 최대화하는 모수를 추정.
  • 모집단 분산 추정 시 N으로 나눔:
    \(\sigma^2 = \frac{1}{N} \sum_{i=1}^N (X_i - \mu)^2\)
    • MLE는 편향되지 않은 추정량을 제공하지 않을 수 있음.

2. 가설검정과 확률분포

가설검정 유형

  • 양측검정: 모집단 평균이 특정 값과 다른지 검정 (예: “차이가 있다”).
  • 단측검정: 모집단 평균이 특정 값보다 크거나 작은지 검정 (예: “크다”).

정규분포와 Z-점수

  • 정규분포 확률밀도함수:
    \(f(x) = \frac{1}{\sigma \sqrt{2\pi}} \exp\left(-\frac{(x-\mu)^2}{2\sigma^2}\right)\)
  • Z-점수 정규화:
    \(Z = \frac{X - \mu}{\sigma}\)

누적확률과 분위수

  • p: 누적확률 (예: P(Z ≤ 1.96) = 0.975).
  • q: 특정 확률에 해당하는 분위수 (예: 95% 분위수 = 1.645).
  • r: 분포속에서 랜덤하게 수 1개를 뽑음음

3. 적률, 왜도, 첨도

적률(Moment)

  • 1차 원점 적률: 산술평균 (E(X)).
  • 2차 중심 적률: 분산 (Var(X)).
  • 3차 중심 적률: 왜도 (분포의 비대칭성, 정규분포 = 0). 3승 -> +-되서 0
  • 4차 중심 적률: 첨도 (분포의 뾰족함, 정규분포 = 3). 4승

가설검정 과정

  • 귀무가설(H₀): “차이가 없다” (예: μ = μ₀).
  • 대립가설(H₁): “차이가 있다” (예: μ ≠ μ₀).
  • 유의수준 95%: 검정통계량이 임계값 밖에 있으면 H₀ 기각.
  • 효과 크기: Cohen’s d로 측정.

4. 검정통계량과 분포

주요 분포

  • 카이제곱(χ²) 분포: 범주형 데이터 분석 (예: 적합도 검정).
  • t-분포: 모집단 분산을 모를 때, 소표본 평균 검정.
  • F-분포: 두 개 이상의 분산 비교 (예: ANOVA).

검정통계량 예시

  • t-검정 (두 집단 평균_평균차/표준오차):
    \(t = \frac{\bar{X} - \mu}{S / \sqrt{n}}\)
  • F-검정:
    \(F = \frac{\text{집단간 분산}}{\text{집단내 분산산}}\)

5. 중심극한정리와 정규분포 변환

중심극한정리

  • 정의: 표본 크기가 30개 이상이면 표본 평균의 분포가 정규분포에 가까워짐.
  • 표준오차:
    \(\text{표준오차} = \frac{\sigma}{\sqrt{n}}\)
    • 표본 크기가 커질수록 표준오차 감소.

예제

표준오차

# 표준오차 계산 함수 stderr <- function(x) sd(x, na.rm = TRUE) / sqrt(length(na.omit(x))) # 예시: 비행시간 데이터 (평균 120시간, 표준편차 30시간) t9 <- rnorm(9, 120, 30) t1000 <- rnorm(1000, 120, 30) cat("n=9의 표준오차:", stderr(t9), "\n") cat("n=1000의 표준오차:", stderr(t1000))

정규분포 변환

  • 로그 변환: log(x + 1) (0값 처리)
  • 제곱근 변환: sqrt(x)
  • Box-Cox 변환: Lambda(λ) 값 조정하여 분포 정규화.
library(UsingR) data(cfb) # INCOME 변환 예시 cfb <- transform(cfb, INCOME_log = log(INCOME + 1), INCOME_sqrt = sqrt(INCOME)) par(mfrow = c(1, 3)) hist(cfb$INCOME, breaks = 500, main = "원본 데이터") hist(cfb$INCOME_log, breaks = 500, main = "로그 변환") hist(cfb$INCOME_sqrt, breaks = 500, main = "제곱근 변환")

정규분포 활용 예제

  • 확률 계산
    문제: 평균 100, 표준편차 10인 정규분포에서 50 이하 확률
    pnorm(50, mean = 100, sd = 10) # 결과: 약 2.87e-07
  • 분위수 계산
    문제: 평균 500kg, 표준편차 50kg인 분포 상위 5% 경계값
    qnorm(0.95, mean = 500, sd = 50) # 결과: 582.2427

포아송 분포

평균 10명/시간인 응급실에서 12명 도착 확률

dpois(12, lambda = 10) # 정확히 12명: 0.0948

8명 이하 도착 확률

ppois(8, lambda = 10) # 결과: 0.3328

카이제곱 분포

카이제곱 분포 시각화

x <- seq(0, 20, 0.1) plot(x, dchisq(x, df = 3), type = "l", main = "자유도 3 카이제곱 분포")

Titanic 데이터 분석

# 성별 생존 여부 분석 xtabs(Freq ~ Sex + Survived, data = Titanic) # 출력: # Survived # Sex No Yes # Male 682 162 # Female 127 339

균등분포

# 0~10 사이 균등분포 시각화 library(ggplot2) ggplot(data.frame(x = c(0, 10)), aes(x)) + stat_function(fun = dunif, args = list(min = 0, max = 10)) + ggtitle("균등분포 U(0, 10)")

초기하분포

  • 비복원 추출 시 특정 사건이 발생할 확률을 모델링합니다.
  • 예시: 200개 USB 중 20개가 불량일 때, 10개를 뽑아 k개가 불량일 확률.
    N=200 # 총개수 M=20 # 불량메모리 개수 n=10 # 뽑는 개수 x=0:11 # 불량 개수 round(dhyper(x,M,N,n),3) # 소수점 셋째 자리에서 반올림

음이항분포

성공확률 p를 가진 베르누이 시행에서 k번째 성공이 나올 때까지의 실패 횟수를 모델링한 분포

pnbinom(3,size=12,0.95) # 최대 3번 실패할 확률 1-pnbinom(3,size=12,0.95) # 4개 이상 실패할 확률

카이제곱 검정 (Chi-Square Test)

적합도 검정 (Goodness-of-Fit Test)

  • 귀무가설 (H₀): 사이다 종류별 선호도 차이가 없다.
  • 대립가설 (H₁): 선호도 차이가 있다.
  • 유의수준: 0.05
# 데이터 입력 data <- textConnection( "사이다종류 관측도수 1 14 2 32 3 17 4 9 5 18" ) x <- read.table(data, header = TRUE) # 카이제곱 검정 실행 chisq.test(x$관측도수)

결과 해석

  • 검정통계량: 16.333
  • p-value: 0.001159
  • 결론: p < 0.05 → H₀ 기각. 선호도 차이가 있음.

독립성 검정 (Independence Test)

library(gmodels) data(survey) # 성별과 운동량 교차표 생성 xt <- xtabs(~ Sex + Exer, data = survey) # 카이제곱 검정 chisq.test(xt)

결과 해석

  • p-value: 0.125
  • 결론: p > 0.05 → H₀ 채택. 성별과 운동량은 독립적.

동질성 검정 (Homogeneity Test)

# 교차표 생성 및 검정 xt <- xtabs(~ W.Hnd + Clap, data = survey) chisq.test(xt)

결과 해석

  • p-value: 0.01048
  • 결론: p < 0.05 → H₀ 기각. 두 변수는 관련이 있음.

피셔의 정확 검정 (Fisher’s Exact Test)

기대빈도가 5 미만인 셀이 25% 이상일 때 사용합니다.

# 피셔 검정 실행 fisher.test(xtabs(~ W.Hnd + Clap, data = survey))

시각화

카이제곱 분포 시각화

library(ggplot2) ggplot(data.frame(x = c(0, 10)), aes(x)) + stat_function(fun = dchisq, args = list(df = 1), color = "black") + stat_function(fun = dchisq, args = list(df = 2), color = "blue") + stat_function(fun = dchisq, args = list(df = 3), color = "red") + ggtitle("카이제곱 분포 (자유도 1, 2, 3)")

Titanic 데이터 분석

# 성별 생존 여부 교차표 ftable(Titanic, row.vars = "Sex", col.vars = "Survived") # 시각화 barplot(margin.table(Titanic, 4), main = "Titanic 생존자 분포")

문제 : Arthritis는 ID, Treatment:”Placebo”, “Treated” 위약효과

  • Sex, Age, Improved의 변수로 이뤄졌고 개선의 종류는 (None 변화무, Some 약간, Marked 현격하게 )
  • 류마티스 관절염에 대한 처치 데이터 : 처치에 대한 성별 나이별 개선효과
  • 귀무가설 : 플라시보효과나 처치나 별차이가 없다.
  • 대립가설 : 플라시보나 처치가 차이가 있다.
install.packages("vcd") library(vcd) str(Arthritis) xtabs(~Treatment+ Improved, data=Arthritis) CrossTable(xtabs(~Treatment+Improved, data=Arthritis), expected = T) # p = 0.001462643 # 결론 : 귀무가설을 기각하고 대립가설을 채택한다. 플라시보나 처치나 차이가 있다.
This post is licensed under CC BY 4.0 by the author.