Im Allgemeinen sollte die Größe jeder Stichprobe mehr als 5 betragen, damit die CLT-Näherung gut ist. Als Faustregel gilt eine Stichprobe mit einer Größe von 30 oder mehr. Aber mit der Grundgesamtheit Ihres ersten Beispiels ist 5 in Ordnung.
pop <- c(4, 3, 5, 6, 5, 3, 4, 2, 5, 4, 3, 6, 5)
N <- 10^5
n <- 5
x <- matrix(sample(pop, size = N*n, replace = TRUE), nrow = N)
x_bar <- rowMeans(x)
hist(x_bar, freq = FALSE, col = "cyan")
f <- function(t) dnorm(t, mean = mean(pop), sd = sd(pop)/sqrt(n))
curve(f, add = TRUE, lwd = 2, col = "red")
In Ihrem zweiten Beispiel geben selbst Stichproben der Größe 30 aufgrund der Form der Populationsverteilung (zum einen ist sie zu stark verzerrt; lesen Sie die Kommentare von guy und Glen_b unten ) keine gute Annäherung für die Verteilung von die Stichprobenmittelwerte unter Verwendung der CLT.30
pop <- c(4, 3, 5, 6, 5, 3, 10000000, 2, 5, 4, 3, 6, 5)
N <- 10^5
n <- 30
x <- matrix(sample(pop, size = N*n, replace = TRUE), nrow = N)
x_bar <- rowMeans(x)
hist(x_bar, freq = FALSE, col = "cyan")
f <- function(t) dnorm(t, mean = mean(pop), sd = sd(pop)/sqrt(n))
curve(f, add = TRUE, lwd = 2, col = "red")
Aber mit dieser zweiten Population sind Proben von beispielsweise Größe 100 in Ordnung.
pop <- c(4, 3, 5, 6, 5, 3, 10000000, 2, 5, 4, 3, 6, 5)
N <- 10^5
n <- 100
x <- matrix(sample(pop, size = N*n, replace = TRUE), nrow = N)
x_bar <- rowMeans(x)
hist(x_bar, freq = FALSE, col = "cyan")
f <- function(t) dnorm(t, mean = mean(pop), sd = sd(pop)/sqrt(n))
curve(f, add = TRUE, lwd = 2, col = "red")