МТС Geohack.112: Соревнование по прогнозированию на гео-данных
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.

README.md

МТС Geohack.112

Data Science соревнование по предсказанию звонков в экстренные службы на основе гео-данных.

Данные

В таблице zones.csv записаны квадраты, примерный размер — 500х500 метров. Все квадраты расположены в Москве, либо на небольшом расстоянии от Москвы. Квадрат задается координатами нижнего левого угла (lat_bl, lon_bl) и верхнего правого (lat_tr, lon_tr). В колонках (lat_c, lon_c) — координаты центра квадрата.

Квадраты, расположенные в западной части выборки, предназначены для обучения модели — для этих квадратов известно среднее число вызовов экстренных служб из квадрата в день:

  • calls_daily: по всем дням
  • calls_workday: по рабочим дням
  • calls_weekend: по выходным дням
  • calls_wd{D}: по дню недели D (0 — понедельник, 6 — воскресенье)

На квадратах из восточной части выборки необходимо построить прогноз числа вызовов по всем дням недели. Оцениваться качество предсказания будет не по всем квадратам, а по подмножеству, в которое не входят квадраты, вызовы из которых поступают крайне редко. Подмножество целевых квадратов имеет is_target=1 в таблице. Для тестовых квадратов значения calls_* и is_target скрыты.

На карте обозначены квадраты трех типов:

  • Зеленые — из обучающей части, не целевые
  • Красные — из обучающей части, целевые
  • Синие — тестовые, на них необходимо построить прогноз

Расширенный набор данных

Для западной части Москвы и Московской области предоставляется таблица с указанием числа вызовов для всех квадратов по дням за период с 2017-09-01 по 2017-12-31. Эти данные можно использовать для журналистики данных.

Файлы:

  • extended_zones.csv: список квадратов с указанием их координат
  • extended_calls_daily.csv: число вызовов по квадратам и по дням в колонке call_cnt_sum_1d

Обратите внимание:

  • в расширенном наборе имеются квадраты по всей Московской области, а не только по ограниченной части вокруг Москвы
  • ZONE_ID в расширенном наборе и zone_id в основном — не соответствуют
  • число вызовов за один день может быть дробным; если оператор не может определить местоположение звонящего с точностью до квадрата, то он приписывает его к разным квадратам в соответствующих пропорциях

Предсказание числа звонков

В качестве решения необходимо предоставить CSV таблицу с предсказаниями для всех тестовых квадратов, для каждого квадрата — по всем дням недели.

zone_id calls_wd0 calls_wd1 calls_wd2 calls_wd3 calls_wd4 calls_wd5 calls_wd6
79 0.825861 0.670869 0.786908 0.598091 1.247591 0.675773 0.633927
... ... ... ... ... ... ... ...

Качество оценивается только по подмножеству целевых квадратов. Участникам неизвестно, какие из квадратов целевые, однако принцип выбора целевых квадратов в обучающей и тестовой части — идентичен.

Во время соревнования качество оценивается на 30% тестовых целевых квадратов (выбраны случайно), в конце соревнования итоги подводятся по оставшимся 70% квадратов.

Метрика качества предсказаний — коэффициент ранговой корреляции Kendall's Tau-b, считается как доля пар объектов с неправильно упорядоченными предсказаниями с поправкой на пары с одинаковым значением целевой переменной. Метрика оценивает порядок, в котором предсказания соотносятся друг с другом, а не их точные значения. Разные дни недели считаются независимыми элементами выборки, т.е. коэффициент корреляции считается по предсказаниям для всех тестовых пар (zone_id, день недели) (см. пример оценки качества в Starter Kit).

В тестирующей системе используется реализация Kendall's tau из пакета SciPy: scipy.stats.kendalltau.