본문 바로가기

기초통계

[기초] 16. [R] 두 독립 모집단의 평균 비교

반응형

## 작성일: 2017.10.09

## 작성자: 춤추는 초코칩

## 참고문헌: R 실습으로 배우는 통계적 방법(2016, 박진표)

## 6장 두 집단 비교에 관한 추론

## 6.1 두 독립 모집단의 평균 비교


# 두 집단이 정규분포를 따르고, 표준편차가 알려져 있을 때

예제. 두 자동차의 평균 연비 비교

x_correct <- c(13.60,15.15,15.62,16.81,15.51,15.12,14.39,15.20,13.70,14.75,15.13,15.66,13.69,15.74,14.96,15.20,16.45,13.66,16.16,14.47)

y_correct <- c(13.77,13.63,12.63,14.13,13.50,13.09,13.96,13.41,14.03,14.25,13.47,13.43,13.24,14.61,13.82,14.07,13.96,13.69,14.25,14.50)

boxplot(x_correct,y_correct,names=c("A","B"))

A가 B보다 연비가 더 좋은 것을 알 수 있다.


shapiro.test(x_correct)

shapiro.test(y_correct)

정규성검정을 통해 연비는 정규분포를 따른다고 할 수 있다.


mean_z.test_two <- function(x, y, sigma1, sigma2, conf.level, alternative){

  n <- length(x)

  m <- length(y)

  mean_x <- mean(x)

  mean_y <- mean(y)

  diff <- mean_x - mean_y

  z_alpha_half <- qnorm((1-conf.level)/2, lower.tail=FALSE)

  var_mean <- (sigma1^2/n)+(sigma2^2/m)

  lower_limit <- diff - z_alpha_half * sqrt(var_mean)

  upper_limit <- diff + z_alpha_half * sqrt(var_mean)

  z_statistic <- diff/sqrt(var_mean)

  p_value_R <- pnorm(z_statistic, lower.tail=FALSE)

  p_value_L <- pnorm(z_statistic, lower.tail=TRUE)

  p_value_two <- pnorm(abs(z_statistic), lower.tail=FALSE)

  if(alternative=="two_sided"){

    p_value <- 2*p_value_two

    cat("Two sample Z-test", "\n")

  } else if(alternative=="greater"){

    p_value <- p_value_R

    cat("Two sample Z-test", "\n")

  } else {

    p_value <- p_value_L

    cat("Two sample Z-test", "\n")

  }

  result <- ifelse(p_value<(1-conf.level), "Reject H0", "Accept H0")

  cat("Z_statistic =", z_statistic, "\n")

  cat("p_value =", p_value, "\n")

  if(alternative=="two_sided"){

    cat("alternative hypothesis: true difference in mean is not equal to 0 ", "\n")

  } else if (alternative=="greater"){

    cat("alternative hypothesis: true difference in mean is greater than 0 ", "\n")

  } else{

    cat("alternative hypothesis: true difference in mean is less than 0 ", "\n")

  }

  cat(conf.level*100, "% confidence interval :", lower_limit, upper_limit, "\n")

  cat("sample mean of x =", mean_x, ", sample mean of y =", mean_y, "\n")

  cat("sample estimate: difference of mean =", mean_x - mean_y, "\n")

  cat("result =", result)

}

sigma1 <- 1.1

sigma2 <- 1.0

conf.level <- .95

alternative <- "two_sided"

mean_z.test_two(x=x_correct, y=y_correct, sigma1=sigma1, sigma2=sigma2, conf.level=conf.level, alternative=alternative)

모평균의 차이에 대한 점추정: 1.2765

모평균의 차이에 대한 구간추정: (0.6249778, 1.928022)

모평균의 차이에 대한 검정은 p값(0.0001229968)로 유의수준(0.05)보다 작으므로 귀무가설을 기각한다.

A와 B는 연비가 다르다고 할 수 있는 근거가 아주 강하다.


# 두 집단이 정규분포를 따르고, 분산이 같을 때

예제. 화학 공정의 두 첨가제에 평균 비교

x <- c(68.86,74.64,75.80,76.41,67.37,79.98,74.95,76.36,72.39,76.73,75.56,73.59,78.49,69.49,72.38,73.38,77.29,80.43,73.94,73.35)

y <- c(65.92,64.49,68.24,74.38,70.82,61.30,73.09,71.20,74.31,73.14,68.76,71.12,65.62,72.11,72.20,76.57,65.26,73.82,71.42,71.93)

boxplot(x, y, names=c("A","B"))

대체로 첨가제 A가 B보다 수율이 높아 보인다.


shapiro.test(x)

shapiro.test(y)

var.test(x,y)

t.test(x, y, mu=0, var.equal=TRUE, paired=FALSE, alternative="two.sided")

정규성검정을 통해서 수율은 정규분포를 따른다고 할 수 있다.

등분산성 검정에서 p값(0.5293)이 유의수준(0.05)보다 크므로 두 모집단은 같은 분산을 가진다는 증거가 강하다.

모분산을 모르기 때문에 t분포를 이용하여 모평균 차이를 비교할 수 있다.

모평균의 차이에 대한 점추정: 4.2845(=74.5695-70.2850)

모평균의 차이에 대한 구간추정: (1.904979, 6.664021)

모평균의 차이데 대한 검정은 p값(0.0007967)이 유의수준(0.05)보다 작으므로 귀무가설을 기각한다.

첨가제 A와 B는 수율이 다르다고 할 수 있는 근거가 강하다.


# 두 집단이 정규분포를 따르고, 분산이 다를 때

예제. 화학 공정의 두 온도 수준에서 평균 비교

x <- c(75.23,71.74,79.86,87.70,85.13,80.98,79.75,77.42,80.00,75.23,78.59,79.78,81.49,75.20,81.73,79.26,80.00,83.98,75.12,83.07)

y <- c(75.43,70.02,90.93,76.95,79.44,77.49,61.68,84.93,67.89,68.17,87.55,68.05,68.21,91.73,85.00,73.84,84.93,52.33,73.64,59.69)

boxplot(x, y, names=c("A","B"))

수준A가 수준B보다 수율이 높아 보인다. 두 표본의 산포도가 차이가 있게 나타났다.


shapiro.test(x)

shapiro.test(y)

var.test(x,y)

t.test(x, y, mu=0, var.equal=FALSE, paired=FALSE, alternative="two.sided")

정규성검정을 통해서 수율은 정규분포를 따른다고 할 수 있다.

등분산성 검정에서 p값(4.706e-05)이 유의수준(0.05)보다 작으므로 두 모집단은 다른 분산을 가진다는 증거가 강하다.

모분산을 모르기 때문에 t분포를 이용하여 모평균 차이를 비교할 수 있다.

모평균의 차이에 대한 점추정: 4.668(=79.563-74.895)

모평균의 차이에 대한 구간추정: (-0.5701607, 9.9061607)

모평균의 차이데 대한 검정은 p값(0.07827)이 유의수준(0.05)보다 크므로 귀무가설을 수락한다.

수준 A와 B는 수율이 다르다고 할 수 있는 근거가 없다.


반응형