ThomasMBury / dl_discrete_bifurcation

Repository to accompany the article "Deep learning discrete-time bifurcations"
MIT License
6 stars 2 forks source link

How to distinguish the class 4(transcritical) and class 5(pitchfork)? #1

Open RungeKutta4 opened 8 months ago

RungeKutta4 commented 8 months ago

Hello, I downloaded your project and tried to replace the CNN-LSTM with different networks. However, I've found that regardless of the model used, it's quite challenging to accurately distinguish between the fourth category (transcritical) and the fifth category (pitchfork). They always seem to be easily confused. I have removed the higher-order terms that generate the sequence data for these two categories, but it still does not aid in classification. Is there any method that can help the neural network to differentiate between the fourth and fifth categories? Or is this a difficult issue to resolve when using this data?

ThomasMBury commented 7 months ago

Hi @RungeKutta4 ! I have also found that class 4 and 5 are the hardest to tell apart for an ML model. The reason is probably that the transcritical and pitchfork bifurcations have identical linear terms in the normal form equations, so differences in the time series will be very slight, and only noticeable very close to the bifurcation. I talk a little more about this in the paper https://www.nature.com/articles/s41467-023-42020-z

Interesting to hear that you are finding this to be the case with other ML models. I don't know of specific ways to make these classes easier to distinguish - in some cases it might be impossible.

RungeKutta4 commented 7 months ago

Thank you for your response! I have indeed noticed in your paper the conclusion about the difficulty in classifying the fourth and fifth categories. I have attempted to use more complex neural network structures to learn deeper features in the data, yet it seems their effectiveness does not surpass that of simple CNN-LSTM or GRU models. I also tried converting the time series into Recurrence Plots and then applying established image classification models for categorization. However, this approach did not seem to enable the network to learn effective features. It appears indeed challenging for models to clearly distinguish between pitchfork and transcritical bifurcation points. I plan to try introducing attention mechanisms into the model next. Regardless, thank you for your reply!

ThomasMBury commented 7 months ago

Great to see that you are pushing this research forward! I hope you find some interesting results.

Recurrence plots as an input is an interesting idea. I think one issue with using only a recurrence plot as input could be that memory in the system beyond one time step back would be erased. I think measures like the autocorrelation at different lag times are important features, that the ML may be picking up on in the time series, which I don't think would be possible with recurrence plots. Maybe multiple recurrence plots with different time separation as input would be interesting.

When comparing the performance of models, you could also consider performance on the binary classification problem, that does not worry about the type of bifurcation, only that there is a bifurcation. I have often thought that EWS might benefit from two classifiers - one that predicts whether or not a bifurcation is approaching, and another that predicts the type of bifurcation.

Good luck!