summary_of_hypothesis_testing
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
summary_of_hypothesis_testing [2024/12/02 08:56] – hkimscil | summary_of_hypothesis_testing [2025/09/13 21:45] (current) – [Hypothesis testing] hkimscil | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Hypothesis testing ====== | ||
+ | see also [[:types of error]] | ||
+ | ====== Basic ====== | ||
+ | see first [[:sampling distribution and z-test]] | ||
+ | |||
+ | ====== Hypothesis testing, exp ====== | ||
+ | < | ||
+ | rm(list=ls()) | ||
+ | |||
+ | rnorm2 <- function(n, | ||
+ | mean+sd*scale(rnorm(n)) | ||
+ | } | ||
+ | |||
+ | n.p <- 10000 | ||
+ | m.p <- 100 | ||
+ | sd.p <- 10 | ||
+ | p1 <- rnorm2(n.p, m.p, sd.p) | ||
+ | m.p1 <- mean(p1) | ||
+ | sd.p1 <- sd(p1) | ||
+ | |||
+ | p2 <- rnorm2(n.p, m.p+10, sd.p) | ||
+ | m.p2 <- mean(p2) | ||
+ | sd.p2 <- sd(p2) | ||
+ | |||
+ | n.s <- 100 | ||
+ | se.z1 <- c(sqrt(var(p1)/ | ||
+ | se.z2 <- c(sqrt(var(p2)/ | ||
+ | |||
+ | x.p1 <- seq(mean(p1)-5*se.z1, | ||
+ | mean(p2)+5*se.z1, | ||
+ | length.out = 500) | ||
+ | x.p2 <- seq(mean(p2)-5*se.z1, | ||
+ | mean(p2)+5*se.z1, | ||
+ | length.out = 500) | ||
+ | |||
+ | # Calculate the probability | ||
+ | # density for a normal distribution | ||
+ | y.p1 <- dnorm(x.p1, mean(p1), se.z1) | ||
+ | y.p2 <- dnorm(x.p2, mean(p2), se.z2) | ||
+ | |||
+ | # Plot the theoretical PDF | ||
+ | plot(x.p1, y.p1, type = " | ||
+ | | ||
+ | main = " | ||
+ | xlab = " | ||
+ | lines(x.p2, y.p2, lty=2, lwd=3, add=T) | ||
+ | |||
+ | |||
+ | m.p1 <- mean(p1) | ||
+ | se1 <- c(m.p1-se.z1, | ||
+ | se2 <- c(m.p1-2*se.z1, | ||
+ | se3 <- c(m.p1-3*se.z1, | ||
+ | abline(v=c(m.p1, | ||
+ | | ||
+ | ' | ||
+ | ' | ||
+ | | ||
+ | |||
+ | treated.s <- sample(p2, n.s) | ||
+ | m.treated.s <- mean(treated.s) | ||
+ | abline(v=m.treated.s, | ||
+ | |||
+ | se.z1 | ||
+ | |||
+ | diff <- m.treated.s-mean(p1) | ||
+ | diff/se.z1 | ||
+ | |||
+ | # usual way - using sample' | ||
+ | # instead of p1's variance to get | ||
+ | # standard error value | ||
+ | se.s <- sqrt(var(treated.s)/ | ||
+ | se.s | ||
+ | diff/se.s | ||
+ | |||
+ | pt(diff/ | ||
+ | t.test(treated.s, | ||
+ | |||
+ | </ | ||
+ | ===== output ===== | ||
+ | < | ||
+ | > | ||
+ | > | ||
+ | > rm(list=ls()) | ||
+ | > | ||
+ | > rnorm2 <- function(n, | ||
+ | + | ||
+ | + } | ||
+ | > | ||
+ | > n.p <- 10000 | ||
+ | > m.p <- 100 | ||
+ | > sd.p <- 10 | ||
+ | > p1 <- rnorm2(n.p, m.p, sd.p) | ||
+ | > m.p1 <- mean(p1) | ||
+ | > sd.p1 <- sd(p1) | ||
+ | > | ||
+ | > p2 <- rnorm2(n.p, m.p+10, sd.p) | ||
+ | > m.p2 <- mean(p2) | ||
+ | > sd.p2 <- sd(p2) | ||
+ | > | ||
+ | > n.s <- 100 | ||
+ | > se.z1 <- c(sqrt(var(p1)/ | ||
+ | > se.z2 <- c(sqrt(var(p2)/ | ||
+ | > | ||
+ | > x.p1 <- seq(mean(p1)-5*se.z1, | ||
+ | + | ||
+ | + | ||
+ | > x.p2 <- seq(mean(p2)-5*se.z1, | ||
+ | + | ||
+ | + | ||
+ | > | ||
+ | > # Calculate the probability | ||
+ | > # density for a normal distribution | ||
+ | > y.p1 <- dnorm(x.p1, mean(p1), se.z1) | ||
+ | > y.p2 <- dnorm(x.p2, mean(p2), se.z2) | ||
+ | > | ||
+ | > # Plot the theoretical PDF | ||
+ | > plot(x.p1, y.p1, type = " | ||
+ | + lwd=3, | ||
+ | + main = " | ||
+ | + xlab = " | ||
+ | > lines(x.p2, y.p2, lty=2, lwd=3) | ||
+ | > | ||
+ | > | ||
+ | > m.p1 <- mean(p1) | ||
+ | > se1 <- c(m.p1-se.z1, | ||
+ | > se2 <- c(m.p1-2*se.z1, | ||
+ | > se3 <- c(m.p1-3*se.z1, | ||
+ | > abline(v=c(m.p1, | ||
+ | + col=c(' | ||
+ | + ' | ||
+ | + ' | ||
+ | + lwd=1) | ||
+ | > | ||
+ | > treated.s <- sample(p2, n.s) | ||
+ | > m.treated.s <- mean(treated.s) | ||
+ | > abline(v=m.treated.s, | ||
+ | > | ||
+ | </ | ||
+ | {{: | ||
+ | |||
+ | < | ||
+ | > se.z1 | ||
+ | [1] 1 | ||
+ | > | ||
+ | > diff <- m.treated.s-mean(p1) | ||
+ | > diff/se.z1 | ||
+ | [1] 9.057418 | ||
+ | > | ||
+ | > # usual way - using sample' | ||
+ | > # instead of p1's variance to get | ||
+ | > # standard error value | ||
+ | > se.s <- sqrt(var(treated.s)/ | ||
+ | > se.s | ||
+ | [1] 1.015243 | ||
+ | > diff/se.s | ||
+ | [1] 8.921425 | ||
+ | > | ||
+ | > pt(diff/ | ||
+ | [1] 2.455388e-14 | ||
+ | > t.test(treated.s, | ||
+ | |||
+ | One Sample t-test | ||
+ | |||
+ | data: treated.s | ||
+ | t = 8.9214, df = 99, p-value = 2.455e-14 | ||
+ | alternative hypothesis: true mean is not equal to 100 | ||
+ | 95 percent confidence interval: | ||
+ | | ||
+ | sample estimates: | ||
+ | mean of x | ||
+ | | ||
+ | |||
+ | > | ||
+ | </ | ||
+ | ====== se value and sample size ====== | ||
+ | |||
< | < | ||
n.ajstu <- 100000 | n.ajstu <- 100000 |
summary_of_hypothesis_testing.1733097418.txt.gz · Last modified: 2024/12/02 08:56 by hkimscil