Menu
CoddyTech

Распределение выборочных средних

Часть раздела Статистика для машинного обучения путешествия по Machine Learning на Coddy. Урок 21 из 64.

Продолжительность видеосеансов имеет скошенное вправо распределение: большинство длится несколько минут, а некоторые — два часа. Тем не менее средние значения 1000 выборок по 40 сеансов образуют колоколообразное распределение:

Две гистограммы на одном графике. Отдельные сеансы, показанные серым цветом, сгруппированы около 0 минут, с длинным хвостом до 120. Средние значения для 40 сеансов образуют узкий синий колокол вокруг среднего значения генеральной совокупности — 30 минут

Гистограмма множества выборочных средних — это выборочное распределение. При достаточном количестве значений в каждой выборке оно имеет колоколообразную форму и центрировано относительно среднего генеральной совокупности, даже если данные имеют асимметричное распределение:

means = sample_means(sessions, 40, 1000)  # ваша функция из упражнения Sample Means Vary
ax.hist(means, bins=12)

Это центральная предельная теорема. Она позволяет предсказывать средние значения: средняя ошибка модели на тестовой выборке тоже приблизительно распределена нормально.

challenge icon

Задание

Средне

Размеры 6000 файлов на облачном диске в files (МБ) имеют правостороннюю асимметрию: много документов и несколько видео. Программа считывает размер выборки; в заготовке есть sample_means и две диаграммы.

  1. Получите 500 выборочных средних для выборки такого размера.
  2. Выведите разность среднего и медианы для файлов, затем для средних (2 знака после запятой).
  3. Постройте гистограмму файлов на axs[0], а средних — на axs[1], задайте bins=12 и покажите графики.

Для другого диска и 60:

Files: mean - median = 25.28 MB
Sample means: mean - median = 0.55 MB

Две гистограммы рядом. Все файлы: высокий первый столбец и длинный тонкий хвост справа. Выборочные средние: симметричный колокол

Затем Coddy выводит данные для каждой диаграммы. Разность, близкая к 0, означает, что асимметрия исчезла.

Попробуйте сами

import numpy as np
import matplotlib.pyplot as plt

size = int(input())

# Не изменяйте строки ниже: размер каждого файла на диске в MB
rng = np.random.default_rng(21)
files = np.round(rng.random(6000) ** 4 * 300 + 5, 2)


# Ваша функция из урока «Выборочные средние различаются»: средние значения count выборок
def sample_means(data, size, count):
    means = []
    for i in range(count):
        sample = rng.choice(data, size=size, replace=False)
        means.append(sample.mean())
    return np.array(means)


fig, axs = plt.subplots(1, 2)
axs[0].set_title("All Files")
axs[0].set_xlabel("File size (MB)")
axs[1].set_title("Sample Means")
axs[1].set_xlabel("Mean file size (MB)")

# Напишите свой код ниже
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Статистика для машинного обучения

Потренируйтесь самостоятельно: Онлайн-компилятор Python