I have time series with objects and their geo points.

X1 = [(time1, (longitude1, latitude1)), ...]
X2 = [(time2, (longitude2, latitude2)), ...]
XN = [(timeN, (longitudeN, latitudeN)), ...]

This dataset represents moving objects on a plane.

How can I detect anomalies within these dataset?

I know that the majority of objects are moving in 3 or 4 paths (clusters).

What method should I use to detect anomalies?

When some object is trying to move off the the main paths?


1 Answer 1


You can start with something simple, like:

  • Find the distance from every point to their nearest neighbor, classify as anomaly if above some treshold.
  • If you know the paths, find the distance from every point to the path.
  • Divide the points into groups (clusters), possibly based on some criteria like size, inter-distance and duration (see slides mentioned below), observe the connectivity changes or alert if groups change.

These are just some ideas to show that you can make up your own method. You should then test it, tweak the parameters, and pick the one that best fits your problem. I highly recommend you check out these slides from this course. From slide 73 they explain things about subtrajectory similarity, from slide 92 about grouping. Be sure to check out the research papers mentioned on slide 90, these can give you more details and ideas on how to implement your own algorithms if needed.

  • $\begingroup$ many, many thanks for these links!! Great resources for noobs like me) $\endgroup$
    – ponkin
    Jan 17, 2017 at 13:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.