## 작성일: 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는 수율이 다르다고 할 수 있는 근거가 없다.
'기초통계' 카테고리의 다른 글
[기초] 18. [R] 두 모비율의 비교 (0) | 2017.10.11 |
---|---|
[기초] 17. [R] 짝진 모집단의 평균 비교(쌍체비교) (0) | 2017.10.09 |
[기초] 15. [R] 모비율, 모분산에 대한 추론 (0) | 2017.10.08 |
[기초] 14. [R] 모평균에 대한 추론:샤피로-윌크 검정 (0) | 2017.10.07 |
[기초] 13. [R] 모평균에 대한 추론:콜모고로프-스미르노프 검정 (0) | 2017.10.06 |