vc1492a / tidd

An approach for detecting tsunamis using anomaly detection anomalies on sTec d/dt data from orbiting GPS satellites.
Other
5 stars 1 forks source link

Develop / employ appropriate model error (residual) handling approach #49

Closed vc1492a closed 3 years ago

vc1492a commented 4 years ago

The central component of this approach to anomaly detection is the manner in which model residuals (errors) are analyzed / handled for classifying which time periods may be considered anomalous. Once our residuals have patterns we can expect / work with,

There's a lot of work out there on this topic, and it's something my colleagues and I explored in the past, too (non-parametric dynamic thresholding). But many approaches assume Gaussian distributions and certain patterns in the errors (dynamic thresholding, as an example, would not work well when residuals are high on the front and tail of the predicted values).

vc1492a commented 4 years ago

I've started playing around with an approach that utilizes the absolute errors and an examination of the previous N observations with a simple strategy of doing the following for each observation in the absolute errors:

1: Calculate the euclidean distance from this absolute error value to the previous N values, and collect those distances into an array. 2: For each of those distances, take the log transform. 3: Take the minimum distance value in the array as the distance value for the observation.

The idea borrows off of a previous approach my colleague Ian Colwell was using for anomaly detection for the Mars Science Laboratory (MSL), and aims to highlight localized anomalies over global ones. My desire for this sort of approach was that localized anomalies are what we are interested in here, and not larger, more global shifts in the telemetry. This sort of approach also accounts for model drift to some degree.

It remains to be seen whether this sort of approach will be ideal for this use case, but here's the initial results. The first image shows the approach's values for the day prior to the earthquake (a normal day) and the second image for the day of the earthquake. This approach seems to pick up on the anomaly, but there's still work to do in determining how to set a threshold for classification and applying it across different satellites etc.

download

download (1)

vc1492a commented 4 years ago

@hamlinliu17 just a note that once you merge #51 and create a branch specific to this issue and handling model errors, if you could write the residual values to disk, that would allow anyone to work on the same set of errors. We could (and ought) to generate a set of errors for each satellite.

Of course, make sure first that you are able to perform the modeling appropriately and get a result similar to the above. In my latest modeling runs, I found that a small model with only the elevation as the input feature seems to work the most consistently and allows for rapid training times (due to the small model size).

hamlinliu17 commented 4 years ago

@vc1492a Currently testing out and going through #51 right now. Will create new branch once I am able to consistenly get the result above

vc1492a commented 3 years ago

@hamlinliu17 @MichelaRavanelli think I settled on a strategy which works for us, see the below screenshot.

image


The approach utilizes a modification of nonparametric dynamic thresholding which is from some of my earlier work with colleagues at JPL for spacecraft anomaly detection. I'm calling the above nonparametric consecutive assignment for now, but we can think about that and whether that's a fitting name.

For thoroughness, I have also coded a gaussian parametric approach which assumes the errors are normally distributed (gaussian). Our tests show this is not the case for our errors.

image

TODO:

vc1492a commented 3 years ago

Going to table this issue for now as we pivot to an image based modeling approach.

vc1492a commented 3 years ago

Since we are using an image based approach, this is no longer needed. 😄