How to detect variations in data?

21 vues (au cours des 30 derniers jours)
Mohamed Nedal
Mohamed Nedal le 23 Déc 2019
Commenté : Mohamed Nedal le 26 Déc 2019
Hello everyone,
I would like to determine the location at which there is data variation (like the highlighted points in the attached image).
Kindly find the attached code + .mat file.
Each sub-plot represents a variable on y-axis and the time on x-axis. Usually, the variation appear in several variables (plots) like this one.
data .jpg
Could you suggest the best method to do so?
and How can I determine the starting and ending points of that variation?
I appreciate your help.

Réponse acceptée

Image Analyst
Image Analyst le 24 Déc 2019
You might try movstd() to do a sliding window standard deviation. Then threshold it to find elements where the standard deviation is what you deem "high". See attached code where I did it for your "B" signal. Adapt it to do any other signals you want.
0000 Screenshot.png
  1 commentaire
Mohamed Nedal
Mohamed Nedal le 25 Déc 2019
Thank you very much!

Connectez-vous pour commenter.

Plus de réponses (1)

Ridwan Alam
Ridwan Alam le 23 Déc 2019
Depends on how complex of a solution you are looking for. There are algorithms for change point detection that you can try.
Or, you can have a sliding window (your defined size) over the signal and look for specific features (e.g mean crossing rate, variance, etc. depending your signal type) to find the windows that contain a "change".
Hope this helps.
  9 commentaires
Image Analyst
Image Analyst le 26 Déc 2019
I think findchangepts() locates points where the data goes from smooth to something drastically different, or vice versa. So it basically finds corners or elbows in the data.
movstd() on the other hand gives a high signal wherever the data has high variability regardless if the signal looks like a corner or elbow there.
Mohamed Nedal
Mohamed Nedal le 26 Déc 2019
Okay, thanks a lot.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Matrices and Arrays dans Help Center et File Exchange

Produits


Version

R2017b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by