Как предсказать сеть графа с заданным краевым расстоянием между изолированными узлами и их несмежными узлами для системы поездов? - PullRequest
2 голосов
/ 05 января 2020

Я пытаюсь предсказать сеть графов, используя файл train.csv в следующем формате, используя библиотеку networkx в Python3 .0. Файл train.csv содержит 250123 записей о посадочных и посадочных станциях людей и времени. Имея следующую информацию, мне нужно предсказать график сети между всеми станциями.

Я знаю, что я должен использовать разницу во времени между BoardingTime и AlightingTime, чтобы предсказать сеть графа.

Например, для первой записи, где BoardingStation равно Mongkok и AlightingStation равно Лай Кинг , разница во времени между BoardingTime и AlightingTime равна 14 минут.

Это время вместе со всеми другими записями будет затем использоваться для «угадывания», сколько станций и какие станции находятся между Mongkok и Lai King . Я думаю, можно предположить, что расстояние между двумя соседними узлами одинаково для всех узлов.

Затем мы можем сформировать большой граф сети прогнозирования узлов связи всех станций. В этом примере система поездов - это система поездов Гонконга MTR, поэтому прогнозируемый график должен выглядеть примерно так же, как и карта реального онлайн-метро Гонконга.

Вывод должен выглядеть как это изображение , но с именем узла в качестве имени станции и гораздо большей сетью

ID      BoardingStation   BoardingTime    AlightingStation    AlightingTime
1       Mongkok           10:01:07        Lai King            10:15:13
2       Tsuen Wan         09:31:45        Mei Foo             09:44:32
3       Disneyland Resort 12:41:37        Prince Edward       13:02:18
4       Tsim Sha Tsui     12:53:30        Mongkok             13:00:09
5       Disneyland Resort 15:11:46        Kowloon Tong        15:39:48
.       ...               ...             ...                 ...
.       ...               ...             ...                 ...
.       ...               ...             ...                 ...
250123  Long Ping         10:52:55        Nam Cheong          11:08:11

1 Ответ

2 голосов
/ 05 января 2020

Я думаю, что самое простое решение, которое вы можете предпринять, - это найти для каждой станции (узла) всех своих соседей (связанных с одним фронтом)

, вы можете легко это сделать, найдя минимальную продолжительность поездки во всех поездках. включая эту станцию ​​как BoardingStation или AlightingStation

, когда у вас есть все ребра и узлы, построение графика не является проблемой, используя networkx или любую другую lib

В этом решении предполагается, что в БД существуют поездки между каждой соседней парой

, а также требуется только часть данных, хотя вы можете использовать другие данные для проверки вашего решения путем сравнения ожидаемая (в зависимости от вашей модели) продолжительность поездки до фактической

...