Михаил Хохлов - Яндекс.Пробки (анализ gps-треков и...

73

Upload: yandex

Post on 11-Nov-2014

277 views

Category:

Documents


2 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)
Page 2: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

Михаил Хохлов

Яндекс.Пробки:анализ GPS-треков и прогнозирование дорожной ситуации

Page 3: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

3

Page 4: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

4

20 км/ч

Способ получения данных

35 км/ч 15 км/ч

Page 5: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

5

Треки

Page 6: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

6

Привязка треков

Page 7: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

7

Привязка треков

Локальные методыБыстрые и эффективные при высоком качестве данных

Глобальные методыДают высокую точность при оффлайновой обработке

Статистические методыПозволяют адекватно учитывать погрешность измерений

Page 8: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

8

ST-matching

Вероятностьнаблюдения

Вероятностьперехода

Вероятностьскорости

пространственный (spatial) анализ

временной (temporal) анализ

Page 9: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

9

Привязка треков

Page 10: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

10

Привязка треков

Page 11: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

11

Привязка треков

Page 12: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

12

Привязка треков

Page 13: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

Усреднение

Page 14: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

14

Данные о проездах

0 1 2 3 4 5 60

20

40

60

80

100

120

часы

км/ч

Page 15: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

15

Данные о проездах

0 1 2 3 4 5 60

20

40

60

80

100

120

часы

км/ч

Page 16: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

16

Итерационное сглаживание

1.5 1.6 1.7 1.8 1.9 2 2.1 2.2 2.30

10

20

30

40

50

60

70

80

90

100

часы

км/ч

Page 17: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

17

Чего бы хотелось

1.5 1.6 1.7 1.8 1.9 2 2.1 2.2 2.30

10

20

30

40

50

60

70

80

90

100

часы

км/ч

Page 18: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

18

Медианный фильтр

1.5 1.6 1.7 1.8 1.9 2 2.1 2.2 2.30

10

20

30

40

50

60

70

80

90

100

часы

км/ч

Page 19: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

19

Медианный фильтр

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50

10

20

30

40

50

60

часы

км/ч

Page 20: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

20

Итерационное сглаживание

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50

10

20

30

40

50

60

часы

км/ч

Page 21: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

Прогнозирование

Page 22: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

22

Дорожная ситуация (МКАД)

Page 23: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

23

Подходы к прогнозированию

Содержательное моделированиепоиск причин и следствий

Машинное обучениепоиск закономерностей

Page 24: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

24

Транспортные модели

Содержательное моделирование

потоковые модели имитационные модели

Машинное обучениепараметрические модели (линейные, нелинейные)

непараметрические модели

нейронные сети...

Page 25: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

25

Поток от плотности

Page 26: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

26

Поток от плотности

Page 27: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

Машинное обучение:

линейные модели

Page 28: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

28

Задача регрессии

Регрессия:

Может бытьпараметрической: выбирается из параметризованного семейства

непераметрической: не делается предположений о виде

Авторегрессия:

Y=F (X )

Y t=F (Y t−L ,…,Y t−1)

FF

Page 29: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

29

Линейная регрессия

Предполагаем линейный вид: Y t=β0+∑j

X j β j

Page 30: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

30

Линейная авторегрессия

Page 31: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

31

Переобучение и недообучение

Page 32: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

32

Недообучение

Page 33: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

33

Переобучение

Page 34: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

34

К чему стремимся

Page 35: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

Машинное обучение:

k ближайших соседей

Page 36: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

3636

Метод k ближайших соседей

36

Картина пробок #1

Page 37: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

3737

Метод k ближайших соседей

37

Картина пробок #2

Page 38: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

3838

Метод k ближайших соседей

38

Картина пробок #3

Page 39: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

3939

Прогноз:

Метод k ближайших соседей

39

Page 40: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

40

Сложность модели и ошибка

ошибка на тестовой выборке

ошибка на обучающей выборке

оптимальное число соседей

Page 41: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

41

Скользящий контроль (cross-validation)

обучение

тест

Page 42: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

Критерии минимизации ошибок

Page 43: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

43

Робастность (robustness)

outlier

Page 44: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

44

Робастность (robustness)

least squares

Page 45: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

45

Робастность (robustness)

Least absolute errors

least squares

Page 46: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

46

Некоторые варианты критериев

Наименьшие квадраты (Least Squares)вычислительно быстр, но подвержен влиянию выбросов

Наименьшие модули (Least Absolute Errors)робастный, но недифференцируем в нуле, поэтому сложно оптимизировать

Функция Хьюбера (Huber's Loss Function)робастная и гладкая

Page 47: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

47

Функция Хьюбера

Lδ(x)=x2

2, если∣x∣≤δ

Lδ(x)=δ(∣x∣−δ2

) , иначе

Page 48: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

Выбор предикторов

Page 49: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

49

Выбор предикторов

Проблема при увеличении размерности:переобучение => падает точность

много коэффициентов => сложно интерпретировать

Возможное решение: выбрать подмножество предикторов, которые сильнее всего влияют на результат.

Page 50: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

50

Выбор предикторов: эвристики

• Геометрические соседи могут включать в себя много лишних ребер (например, в центре Москвы).

• Топологические соседи могут упустить что-то важное (например, проспект и дублер).

Page 51: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

51

Автоматический выбор предикторов

Forward step-wiseна каждом шаге добавляем предиктор, который сильнее уменьшает ошибку

Page 52: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

52

Forward step-wiseна каждом шаге добавляем предиктор, который сильнее уменьшает ошибку

Backward step-wiseна каждом шаге убираем наименее значимый предиктор

Автоматический выбор предикторов

Page 53: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

53

Forward step-wiseна каждом шаге добавляем предиктор, который сильнее уменьшает ошибку

Backward step-wiseна каждом шаге убираем наименее значимый предиктор

Forward stage-wiseподправляем коэффициент при переменной, которая больше всего коррелирует с остатком

Автоматический выбор предикторов

Page 54: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

54

Forward step-wiseна каждом шаге добавляем предиктор, который сильнее уменьшает ошибку

Backward step-wiseна каждом шаге убираем наименее значимый предиктор

Forward stage-wiseподправляем коэффициент при переменной, которая больше всего коррелирует с остатком

LARS

Автоматический выбор предикторов

Page 55: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

Негауссовы распределения

Page 56: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

56

Преобразование переменных

км/ч

сек/км

Page 57: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

575757

Случай 1 p=1/2100 метров

36 км/ч

Случай 2 p=1/2100 метров

3,6 км/ч

Page 58: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

585858

время скорость

Случай 1 10 сек 36 км/ч

Случай 2 100 сек 3.6 км/ч

Среднее 55 сек ~ 20 км/ч

Случай 1 p=1/2100 метров

36 км/ч

Случай 2 p=1/2100 метров

3,6 км/ч

Page 59: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

595959

100 м / 55 сек ≈ 7 км/ч

Случай 1 p=1/2100 метров

36 км/ч

Случай 2 p=1/2100 метров

3,6 км/ч

время скорость

Случай 1 10 сек 36 км/ч

Случай 2 100 сек 3.6 км/ч

Среднее 55 сек ~ 20 км/ч

Page 60: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

606060

100 метров 100 метров

? км/ч

20 км/ч 20 км/ч

Page 61: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

616161

Время проезда Скорость

Случай #1 10 сек. + 10 сек. 36 км/ч

Случай #2 100 сек. + 10 сек. 6,5 км/ч

Случай #3 10 сек. + 100 сек. 6,5 км/ч

Случай #4 100 сек. + 100 сек. 3,6 км/ч

Среднее 110 сек. (~ 7 км/ч) ~ 13 км/ч

100 метров 100 метров

? км/ч

20 км/ч 20 км/ч

Page 62: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

Оценка качества

Page 63: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

636363

Оценка качества

Задача сравнить:

Разные математические модели.

Дороги с разным количеством данных.

Дороги с разной степенью загруженности.

Page 64: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

646464

Оценка качества

Page 65: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

656565

Оценка качества

Page 66: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

666666

Оценка качества

Page 67: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

676767

Оценка качества

прогноз константоймодельнедельный профиль

Page 68: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

Реализация

Page 69: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

69

Граф дорог

Граф дорог —100GbИстория наблюдений — десятки Tb

Page 70: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

70

Нужно много компьютеров

Page 71: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

71

Метод k ближайших соседей

Метод авторегрессии

Page 72: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

72

Литература

1. Map-Matching for Low-Sampling-Rate GPS Trajectories. Yin Lou, Chengyang Zhang, Yu Zheng, Xing Xie, Wei Wang, and Yan Huang.

2. The Elements of Statistical Learning: Data Mining, Inference, and Prediction. Trevor Hastie, Robert Tibshirani, Jerome Friedman.

3. http://www.machinelearning.ru

4. Yandex Technologies. http://company.yandex.com/technologies/

Page 73: Михаил Хохлов -  Яндекс.Пробки (анализ GPS-треков и прогнозирование дорожной ситуации)

Михаил Хохлов

разработчик

[email protected]

Спасибо

к. ф.-м. н.