dynamicslab / pykoopman

A package for computing data-driven approximations to the Koopman operator.
https://pykoopman.readthedocs.io
MIT License
266 stars 53 forks source link

nndmd #51

Open Dionysus7777777 opened 3 months ago

Dionysus7777777 commented 3 months ago

Could you please inform me if your NNMD code is only suitable for very simple systems? When training with my dataset, I've found the results to be very poor, particularly at the sudden change points of some systems. The performance of the predict function is notably inadequate, as it seems capable only of fitting very smooth curves and struggles with instant transitions. Does this library have such an issue? I hope you can point out the parts of the code related to this problem so that I can modify it more effectively.

Dionysus7777777 commented 3 months ago

What I aim to solve is the use of this theory to address issues related to penicillin fermentation, to perform predictive control. I have used nndmd from pykoopman. However, I have encountered some difficulties. After training the model, I made a prediction over 200 time units, using the predict function in a loop of 200 iterations. But the prediction results often deviate significantly from the actual outcomes. I think the A matrix generated by the model training essentially causes the prediction curve to exhibit an exponential form, leading to poor performance at mutation points and prone to exponential explosion. I have included my prediction images and code in the attachment. I would greatly appreciate it if you could solve my problem.