How to detect variations in data?
Ältere Kommentare anzeigen
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.

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.
Akzeptierte Antwort
Weitere Antworten (1)
Ridwan Alam
am 23 Dez. 2019
1 Stimme
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 Kommentare
Mohamed Nedal
am 23 Dez. 2019
Ridwan Alam
am 23 Dez. 2019
Please check the link above, there are some examples. Try on your own data, and if there is any difficulty, please feel free to ask about that.
Mohamed Nedal
am 24 Dez. 2019
Bearbeitet: Mohamed Nedal
am 24 Dez. 2019
Ridwan Alam
am 24 Dez. 2019
Bearbeitet: Ridwan Alam
am 24 Dez. 2019
Why can’t it be done? Please show your code and I will try to debug.
Mohamed Nedal
am 25 Dez. 2019
Image Analyst
am 25 Dez. 2019
Did you also give my code a try?
Mohamed Nedal
am 26 Dez. 2019
Image Analyst
am 26 Dez. 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
am 26 Dez. 2019
Kategorien
Mehr zu Signal Operations finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
