Hi, I'm trying to design a model to identify when there's a trend change in data. I already implemented a spike detector and it's working fine. What I want to do is a model that will detect when values that are fairly stable start rising slowly (ramp up), when the values jump (mean shift), or when there's a trend change.
Note: in my data sets, the lines are not entirely straight of course, there is some variation around the mean values, but the general shape is what I'm describing above.
I have so far tried 3 approaches: DetectChangePointBySsa, DetectIidChangePoint, and DetectEntireAnomalyBySrCnn.
None of these seem to identify changes reliably. For some data sets, I get the change point for mean shifts (although I haven't quite figured out what parameters I can play with to make it more consistent), but for the ramp up or trend inversions, I'm not seeing change points. What could cause this? (code pasted below)
For data sets that don't have seasonality, is it still possible to use SSA or SrCnn?
`
GetChangePointPredictionsWithSsa(MLContext mlContext, string path, int historyLength, double confidence, int seasonality)
I have looked at all the samples I could find, but I haven't found pointers on what to do when data is not cyclical (seasonal) or if no changes are detected. What are the parameters I can play with to get better results?
To show an example of what I mean, I plotted the change points found using all three approaches for a ramp-up scenario, and only one anomaly is flagged (out of all 3) and it's not where I'd expect it:
Hi, I'm trying to design a model to identify when there's a trend change in data. I already implemented a spike detector and it's working fine. What I want to do is a model that will detect when values that are fairly stable start rising slowly (ramp up), when the values jump (mean shift), or when there's a trend change.
Note: in my data sets, the lines are not entirely straight of course, there is some variation around the mean values, but the general shape is what I'm describing above.
I have so far tried 3 approaches: DetectChangePointBySsa, DetectIidChangePoint, and DetectEntireAnomalyBySrCnn.
` GetChangePointPredictionsWithSsa(MLContext mlContext, string path, int historyLength, double confidence, int seasonality)
`
`
GetChangePointPredictionsWithIid(MLContext mlContext, string path, int historyLength, double confidence)
`
` GetAnomalyPredictions(MLContext mlContext, string path, int historyLength, double confidence)
`
I have looked at all the samples I could find, but I haven't found pointers on what to do when data is not cyclical (seasonal) or if no changes are detected. What are the parameters I can play with to get better results?
Thanks in advance Olivier