Menu
CoddyTech

Правило 68–95–99,7

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

Для нормально распределённых данных стандартное отклонение показывает, какая доля значений находится на каком расстоянии от среднего. Объём порции кофе: среднее — 250 мл, стандартное отклонение — 5 мл:

Колоколообразная кривая объёмов порций кофе с центром на 250 мл; самая тёмная заливка — от 245 до 255, более светлая — до 240 и 260, самая светлая — до 235 и 265. Скобки показывают: 68% в пределах 1 стандартного отклонения, 95% в пределах 2 стандартных отклонений, 99,7% в пределах 3 стандартных отклонений

Это правило 68-95-99.7. Проверьте его на 10 000 смоделированных чашках: маска подсчитывает те, что находятся в пределах 1 стандартного отклонения.

rng = np.random.default_rng(1)
cups = rng.normal(250, 5, size=10000)
within1 = (cups > 245) & (cups < 255)
print(within1.sum() / cups.size)

Это выводит:

0.6868

Для доли ниже любого значения stats.norm.cdf(x, mean, std) возвращает площадь слева от x: stats.norm.cdf(260, 250, 5) равна 0.977.

Выход за пределы 3 стандартных отклонений встречается 3 раза на 1 000 случаев: это достаточно редко, чтобы отметить его до того, как он попадёт в модель.

challenge icon

Задание

Легко

В лаборатории испытывали 5 000 лампочек, пока они не перегорели. В life хранятся значения времени их работы в часах, а программа считывает h. Используя среднее значение и стандартное отклонение (np.std) для life, выведите следующие доли в процентах (с точностью до 1 десятичного знака):

  1. в пределах 1 стандартного отклонения от среднего значения,
  2. в пределах 2 стандартных отклонений,
  3. ниже h, по подсчёту,
  4. ниже h, по нормальной кривой.

Для другой партии и входного значения 1100:

Within 1 std: 67.6%
Within 2 std: 95.7%
Below 1100 hours, counted: 10.2%
Below 1100 hours, normal curve: 10.1%

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

import numpy as np
from scipy import stats

# Не изменяйте строки ниже
rng = np.random.default_rng(12)
life = np.round(rng.normal(1200, 100, size=5000))
h = int(input())

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

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

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

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