Блог Джафара Алиева

Архив

Домашняя страница :: Другие статьи :: Аналитика


Дата создания:

Центральная предельная теорема

функция распределения  

 

Центральная предельная теорема (central limit theorem) имеет следующую формулировку. Вне зависимости от распределения элементов генеральной совокупности распределение средних значений выборок стремится к нормальному распределению с увеличением числа элементов этих выборок. Объясним это на примере.

Допустим, $\mu$ – среднее значение, $\sigma^2$ – дисперсия генеральной совокупности. $X = \{X_1, X_2, …, X_n \}$ случайная выборка из $n$ элементов, где $n$ достаточно большое число. Тогда $ \bar{X} \sim N(\mu, \dfrac{\sigma^2}{n})$, если даже распределение элементов самой генеральной совокупности не является нормальным. Предыдущее обозначение читается так, среднее значение выборки $X$ приблизительно нормально распределено со средним значением $\mu$ и вариацией $\dfrac{\sigma^2}{n}$.

Теорема утверждает, что выборочные совокупности должны быть достаточно большого размера, но не дает определенной рекомендации относительно числа $n$, если сама генеральная совокупность далека от  нормального. Многие источники утверждают, что $n$ должен быть больше $30$. Скорее всего это число получили эмпирическим путем. Но встречаются такие генеральные совокупности, для которых центральная предельная теорема удовлетворяется при $n \geqslant 200$.

Пример центральной предельной теоремы

Покажем наглядный пример центральной предельной теоремы для распределения случайных величин на языке R. Здесь в качестве генеральной совокупности взяли $1000$ элементов, случайно выбранных из определенного интервала значений. Это количество обозначено переменной gen_size, а значения берутся случайным образом из отрезка $[0,50]$ . Элементы могут повторяться. Количество элементов в выборке обозначено переменной sample_size, а количество выборок sample_count. Внизу приведен весь код программы на языке R.

# размер генеральной совокупности
gen_size = 1000

# формирование генеральной совокупности из gen_size целых элементов в отрезке [0,50]
# последний 0 указывает на то, что все элементы округляются до целой части
gen <- round(runif(gen_size,0,50),0)

# среднее значение генеральной совокупности
mu <- mean(gen)

# количество элементов в выборке
sample_size <- 5

# количество выборок
sample_count <- 10000

# создание выборок без повторений размером sample_size в количестве sample_count
# из генеральной совокупности и заполнение в вектор x
x <- c()
for (i in 0:sample_count-1) x[(i*sample_size+1):((i+1)*sample_size)] <- sample(gen, sample_size, replace=FALSE)

# превращение вектора x в матрицу размером sample_size X sample_count
dim(x) <- c(sample_size,sample_count)

# вектор для хранения средних значений выборок
mn <- c()

# нахождение средних значений выборок
for (i in 1:sample_count) mn[i] <- mean(x[,i])

# график плотности нормального распределения
mn <- sort(mn)
y <- dnorm(mn, mean=mean(mn), sd=sd(mn))
plot(mn, y, type="l", col="green4", lwd=2, lty="longdash", ylab="Плотность", xlab="Средние значения",
     main = paste("Плотность распределения\n", sample_count, " выборок по ", sample_size, " элементов"))

# график плотности распределения средних значений выборок
density <- density(mn)
lines (density, col = "chocolate3", lwd = 2)

# среднее значение генеральной совокупности в виде вертикальной линии
abline(v=mu, col="blue", lwd=2)

Каждая строка кода подробно объяснена комментариями. Сначала создаем sample_count выборок и находим среднее арифметическое каждой выборки. Затем находим среднее значение (mean=mean(mn)) и стандартное отклонение этих средних значений (sd=sd(mn)) и строим график плотности нормального распределения с таким средним значением и стандартным отклонением. Внизу этот график указан зеленным пунктиром. Также строим график плотности распределения средних значений этих выборок. Внизу этот график указан оранжевым цветом для $10000$ выборок по $5$ элементов.

Плотность распределения для 5 элементов

Затем меняем sample_size <- 35 и запускаем код заново, начиная с этой строки. На языке R можно выполнить фрагмент кода. Весь код не нужно выполнять. Иначе строка gen <- round(runif(gen_size,0,50),0) создаст новую генеральную совокупность случайным образом. А для чистоты эксперимента нам нужно, чтобы использовали ту же генеральную совокупность, но с большим количеством элементов выборок. Выполняя этот код, мы получили следующий график.

Плотность распределения для 35 элементов

Как видно, сравнивая выборку из $5$ элементов и выборку из $35$ элементов, мы убедились, что с ростом числа элементов выборки график распределения плотности средних значений приближается к графику плотности нормального распределения. Так как генеральная совокупность и выборка создаются случайным образом, наверняка ваши графики будут отличаться от этих. Вы можете немного "поиграться" со значениями sample_size и sample_count, чтобы самим убедиться в этом.

Читайте также

Нормальное распределение
Имеется множество различных функций распределения. Но в статистике в качестве непрерывного распределения больше всего используется нормальное распределение (normal distribution). Его также называют распределением Гаусса.

Биномиальное распределение
Биномиальное распределение является одним из видов дисретного распределения, т.е. является распределением вероятностей случайной величины из ограниченного количества значений. Биномиальное распределение применяется к дихотомическим данным.

Распределение Стьюдента
Представьте, что имея малое количество элементов выборки нужно сделать определенные выводы относительно генеральной совокупности. Распределение Стьюдента позволяет найти промежуток, где с большой вероятностью находится среднее значение генеральной совокупности, зная среднее значение небольшой выборки.

© Все права защищены

Все статьи этого сайта написаны Джафаром Н.Алиевым. Перепечатывание любой статьи на стороннем ресурсе должно сопровождаться именем автора и ссылкой на данный ресурс. Сам автор следует этим правилам.