если переформулировать задачу, и для событий использовать гранулярность времени до минуты, то нужно будет фильтровать события, которые попадают в плавающее окно -3,+3. Эта задачка решается разными способами, и решение зависит от кол-ва данных (строк), детализации результата, и нужды в повторном использовании (результата в других анализах)