I have a time series of latitude values taken from a GPS receiver. The receiver is moved at intervals to different nearby locations. The data is noisy. Now assume the sample taken at the ith location is distributed normally N[m[i],s], that is the mean varies but the standard deviation is constant. How can I segment the series so each segment has a near constant standard deviation s? That is I need to recover the sample data at each location.

The plot below is an example of the time series

enter image description here

If it is of any help I have the corresponding longitude values available under the same assumption that the variance is constant but the mean varies.

The number of samples at each location is variable, but will vary between the low hundreds and the low thousands. The number of locations is not known.


1 Answer 1


One possibility could be to use to use Prophet to detect changepoints in the time series.

This works by detecting intervals in the time series where there is a substantial change in magnitude across the series. This would allow for identifying the specific points where there is a significant change in latitude value - hence identifying a change in location.

Note that the trend flexibility can also be adjusted using changepoint_prior_scale in order to vary the sensitivity that is used to detect rate changes in the time series.

TensorFlow Probability also has the capability to detect changepoints in a time series - this is done by using Bayesian modelling to detect changes in state across the series.

You could experiment with both and see which one is more suited to working with your data.


Your Answer

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

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