Menu
CoddyTech

Задержки поездов

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

Две пригородные линии, Maple и Birch, используют одну станцию. В течение 24 дней записывали, насколько опаздывал поезд каждой линии в час пик, в trains.csv:

Коробчатые диаграммы задержек двух линий: коробка Maple's находится примерно на отметке 15 минут, с точкой на 91 и пометкой «сбой сигнала», а также с низкой точкой на 4; коробка Birch's расположена ниже, примерно на отметке 11, с точками на 63 и 74, помеченными как сбои сигнала

Три сбоя сигнализации задержали поезда на час или дольше: это реальные значения, но их величина может исказить любое среднее.

Менеджер спрашивает: Maple действительно позже или разрыв может быть случайностью? Сгладь крайние значения, а затем предоставь решение перемешиванию.

challenge icon

Задание

Сложно

Программа считывает коэффициент границ k; 1.5 — это правило коробчатой диаграммы.

  1. Установите границы для всех задержек: Q1 - k * IQR и Q3 + k * IQR, подсчитайте выбросы, затем ограничьте каждую задержку с помощью np.clip.
  2. Выведите среднее ограниченное значение задержки для каждой линии и разницу: Maple минус Birch.
  3. Перемешайте значения 2000 раз: объедините ограниченные задержки Maple, а затем Birch; в каждом раунде выполните одно перемешивание с помощью rng.permutation, первые 24 значения считайте условными значениями Maple.
  4. Выведите p-value, не учитывая знак, и вердикт: unlikely to be chance, если значение меньше 0.05, иначе could be chance.

Округлите значения до 2 знаков после запятой, а p — до 3. Для k = 2:

Fences: 0.25 to 26.5 (3 outliers)
Maple mean: 15.27
Birch mean: 12.21
Difference: 3.06
p-value: 0.03
Verdict: unlikely to be chance

Сохраняется ли вердикт при более строгом или более мягком значении k?

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

import numpy as np
import pandas as pd

k = float(input())
df = pd.read_csv("trains.csv")
delays = df["delay_min"]

# Не изменяйте строку ниже
rng = np.random.default_rng(5)

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

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

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

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