Как связать события из разных записей? - PullRequest
0 голосов
/ 05 ноября 2018

У меня есть проблема оптимизации, которую я уже решил. Однако я думаю, что может быть более надежное решение, которое я не совсем знаю, как реализовать. Может быть, у кого-то здесь есть какие-то идеи.

Описание проблемы

Мне нужно объединить события из двух отдельных записей. У события есть имя, время t , в которое оно произошло, и амплитуда a с условием, что следующее событие произойдет в t_next = t + a . Две записи должны генерировать события в одно и то же время и по амплитуде, но есть ошибки записи, с которыми приходится иметь дело, например, смещение. Задача состоит в том, чтобы сгруппировать одинаковые события в пары по 2. Вот пример:

Event Name  t           a           t           a
39770       155648.16   41.96       154726.4    41.75
39780       155690.12   42.01       154768.15   41.78
39790       155732.13   41.24       154809.94   41.13
39800                               154851.06   5.74
39810       155773.37   1.55            
39815       155774.03   1.55            
39820       155774.92   3.75            
39830       155778.67   0.65            
39840       155779.32   22.35       154856.81   22.24
39850       155801.67   1.36        154879.04   1.27
39855       155802.4    1.36        154879.66   1.27
39860       155803.04   12.79       154880.31   12.74

Как видите, значения t и a не совпадают в одной паре (одной строке), поэтому мне приходится работать с допусками. Иногда в записи 1 есть события, которых нет в записи 2 и наоборот. Так как я могу их спарить?

Идея для решения

Я как-то думал о подходе с "резинкой". По сути, вы группируете события по амплитуде в пределах допустимого отклонения таким образом, чтобы максимизировать количество спаренных событий. Но я не уверен, как бороться с отсутствующими событиями в одной записи против другой. Так или иначе, я должен игнорировать их, и я не уверен, как лучше всего сделать это без взрыва этой проблемы из-за непомерных комбинаций, чтобы попытаться.

Кто-нибудь сталкивался с такой проблемой и знает надежное решение для нее?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...