Skip to content

Paper: NODEFit: Fit time-series data with a Neural Differential Equation - #1208

Open
gpavanb1 wants to merge 27 commits into
scipy-conference:2026from
gpavanb1:nodefit_pavan_bg
Open

Paper: NODEFit: Fit time-series data with a Neural Differential Equation#1208
gpavanb1 wants to merge 27 commits into
scipy-conference:2026from
gpavanb1:nodefit_pavan_bg

Conversation

@gpavanb1

@gpavanb1 gpavanb1 commented Jun 2, 2026

Copy link
Copy Markdown

If you are creating this PR in order to submit a draft of your paper, please name your PR with Paper: <title>. An editor will then add a draft label; this will trigger GitHub Actions to run automated checks on your paper and build a preview. You may then work to resolve failed checks and ensure the preview build looks correct. If you have any questions, please tag the proceedings team in a comment on your PR with @scipy-conference/2026-proceedings.

See the project readme for more information.

@github-actions

github-actions Bot commented Jun 2, 2026

Copy link
Copy Markdown

Curvenote Preview

Directory Preview Checks Updated (UTC)
papers/pavan_govindaraju 🔍 Inspect 40 checks passed (2 optional) Aug 14, 2026, 1:30 PM

@rowanc1 rowanc1 added the draft This triggers Curvenote Preview actions label Jun 2, 2026
Comment thread papers/pavan_govindaraju/main.md Outdated
Comment thread papers/pavan_govindaraju/myst.yml Outdated
@JennEYoon JennEYoon self-assigned this Jul 4, 2026
@JennEYoon

Copy link
Copy Markdown
Collaborator

Dear Pavan (@gpavanb1),

I am Jennifer Yoon (@JennEYoon), co-chair of the SciPy 2026 Proceedings Committee. I am honored to serve as the Editor for this paper. Please feel free to reach out to me with any questions about the Proceedings review process.

Reviewers, please introduce yourselves here.

Important upcoming dates:

  • July 25: Reviewers — First draft full reviews due
  • August 22: Reviewers — Final draft full reviews due
  • August 30: Authors — Final submission date
  • September 5: Reviewers — Final up/down vote due

Authors, please try to respond to all substantive reviewer comments during each round of reviews. Feel free to ask the reviewers for clarification. Because this is an iterative process, please check in every few days to see if there are any open issues. And feel free to revise your paper at any time up until the final submission date.

@JennEYoon

Copy link
Copy Markdown
Collaborator

@manigam00

Copy link
Copy Markdown

Hi @gpavanb1, @JennEYoon, I am Mayank Nigam, and I'll be reviewing this paper. I received the reviewer invitation today (July 27), so my initial review will follow shortly. I'll aim to have full first-round feedback posted within the next few days. Looking forward to the discussion!

@JennEYoon

Copy link
Copy Markdown
Collaborator

Hi Mayank (@manigam00),

Thank you for agreeing to review this paper!
Since we use rolling assignments and you were added later in the process, please feel free to take until Sunday, August 9, 2026 (about two weeks) to complete your first full review.

To see how the review process works in practice, take a look at the completed reviews in PR1250 and PR1238.

Feedback is provided in two ways: inline comments attached to line numbers in the main.md or main.tex files, and general comments addressing the overall paper located in a main PR comment box (like this one).

Keep in mind that the target reader is a typical SciPy Conference attendee. The content should be broadly understandable to non-experts, while still offering rigorous technical presentation—including comparisons to standard methods or software packages—for domain experts..

See above links to reviewers readme and reviewers - how to add comments to a GitHub PR.
:-)

Jennifer

@JennEYoon

Copy link
Copy Markdown
Collaborator

Dear Ivan (@iperezav),
Thank you for agreeing to review this paper!
Jennifer

@LouScheffer

Copy link
Copy Markdown

Hi! My name is Lou Scheffer, and I'll be one of the reviewers. I'm a EE by training and a biologist by experience. You can see more about me here: http://lscheffer.com/resume.html. I'm not an expert on solving stochastic differential equations, nor on Python ODE libraries (my background is C++) but the methods here (reconstructing both state and gradient working backwards) seem plausible and well motivated. The library seems well constructed for ease of use.

One thing I think is missing is motivation. A paper proposing new methods often starts with an example where existing technique fail, and a quick discussion of why they fail. Then the new method is introduced, often with a informal description of why it should work better, then the technical details, then a plot/figure showing that the new technique works where the existing techniques fail. This is especially powerful if the author was trying to solve some real world problem, could not with existing libraries, and hence this library is the result.

An extension of this is a paragraph or two in the conclusions, meant for the user, describing the cases where these new techniques may be appropriate. This might take the form of (very vaguely) if you try to fit your data using the standard library/methods XXX, and you don't get a good fit because of YYY, then you might have better results using the methods here. You will want to use the smallest neural network that fits the underlying process, informed either by a knowledge of the underlying process, or perhaps by experiment when the underlying process is unknown. (This is a purely hypothetical example of how this might look.)

Comment thread papers/pavan_govindaraju/main.md Outdated

## Introduction

Physical phenomena are commonly governed by differential equations. Traditional methods for time-series analysis often rely on discrete-time models, which may fail to capture the underlying continuous-time dynamics. Neural Ordinary Differential Equations (Neural ODEs) [@chen2018torchdiffeq] represent a paradigm shift by modeling the latent state evolution as a continuous process.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The introduction states that discrete-time models "may fail to capture the underlying continuous-time dynamics" but no example, figure, or reference is given. A brief concrete case (or citation) showing where a discrete method falls short would make the motivation much more convincing.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The introduction states that discrete-time models "may fail to capture the underlying continuous-time dynamics" but no example, figure, or reference is given. A brief concrete case (or citation) showing where a discrete method falls short would make the motivation much more convincing.

Thank you @manigam00 for the valuable comment!

This has been addressed in the newer introductory section, where we add two new citations that talk about the shortcoming of discrete models in the context of irregular sampling.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks — I've read the revised introduction and the added citations address this well. Resolving from my side.

Comment thread papers/pavan_govindaraju/main.md Outdated

Physical phenomena are commonly governed by differential equations. Traditional methods for time-series analysis often rely on discrete-time models, which may fail to capture the underlying continuous-time dynamics. Neural Ordinary Differential Equations (Neural ODEs) [@chen2018torchdiffeq] represent a paradigm shift by modeling the latent state evolution as a continuous process.

NODEFit provides a simple Python interface for fitting ODEs and SDEs to measured data, allowing researchers to fit their data directly to the governing physical laws.

@manigam00 manigam00 Jul 30, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since NODEFit builds on torchdiffeq/torchsde (per the Implementation section), it would help to state here what gap NODEFit fills relative to using those libraries directly. (This echoes @LouScheffer's point about motivation — I arrived at the same gap as a general reader.)

As a reader with a software/ML background but new to differential equation modeling, I had to read this introduction two or three times. It assumes familiarity with discrete-time models, neural ODEs, and SDEs without a sentence introducing each. Since the target audience is a general SciPy attendee, consider adding brief intuitive definitions. Also, "SDE" appears here in abbreviated form only — per the review criteria, consider spelling it out at first use in the body text.

@JennEYoon JennEYoon Aug 1, 2026

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Dear Pavan @gpavanb1,

Re: Mayank's review comment:

As a reader with a software/ML background but new to differential equation modeling, I had to read this introduction two or three times. It assumes familiarity with discrete-time models, neural ODEs, and SDEs without a sentence introducing each. Since the target audience is a general SciPy attendee, consider adding brief intuitive definitions. Also, "SDE" appears here in abbreviated form only — per the review criteria, consider spelling it out at first use in the body text.

I agree. Per the SciPy writing guidelines, acronyms must be spelled out upon first use in both the abstract and the main text—for example, 'stochastic differential equations (SDE)'. Feel free to repeat the full term occasionally if it helps readability.

I also suggest adding a footnote on the first page briefly outlining the history of Itô's lemma, SDEs, the Black-Scholes(-Merton) models, and a short biography of mathematician Kiyoshi Itô.

Although quant finance has strong ties to SciPy Conference Community—given sponsors like Two Sigma and Jane Street, as well as Two Sigma's early funding of pandas—it is still a niche topic for our general attendees. A brief primer will go a long way in making the paper more accessible.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Dear Pavan @gpavanb1,

Re: Mayank's review comment:

As a reader with a software/ML background but new to differential equation modeling, I had to read this introduction two or three times. It assumes familiarity with discrete-time models, neural ODEs, and SDEs without a sentence introducing each. Since the target audience is a general SciPy attendee, consider adding brief intuitive definitions. Also, "SDE" appears here in abbreviated form only — per the review criteria, consider spelling it out at first use in the body text.

I agree. Per the SciPy writing guidelines, acronyms must be spelled out upon first use in both the abstract and the main text—for example, 'stochastic differential equations (SDE)'. Feel free to repeat the full term occasionally if it helps readability.

I also suggest adding a footnote on the first page briefly outlining the history of Itô's lemma, SDEs, the Black-Scholes(-Merton) models, and a short biography of mathematician Kiyoshi Itô.

Although quant finance has strong ties to SciPy Conference Community—given sponsors like Two Sigma and Jane Street, as well as Two Sigma's early funding of pandas—it is still a niche topic for our general attendees. A brief primer will go a long way in making the paper more accessible.

Dear Jennifer, Thank you for your suggestions. I will follow up with a full response within 7 days.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Dear Pavan @gpavanb1,

Re: Mayank's review comment:

As a reader with a software/ML background but new to differential equation modeling, I had to read this introduction two or three times. It assumes familiarity with discrete-time models, neural ODEs, and SDEs without a sentence introducing each. Since the target audience is a general SciPy attendee, consider adding brief intuitive definitions. Also, "SDE" appears here in abbreviated form only — per the review criteria, consider spelling it out at first use in the body text.

I agree. Per the SciPy writing guidelines, acronyms must be spelled out upon first use in both the abstract and the main text—for example, 'stochastic differential equations (SDE)'. Feel free to repeat the full term occasionally if it helps readability.

I also suggest adding a footnote on the first page briefly outlining the history of Itô's lemma, SDEs, the Black-Scholes(-Merton) models, and a short biography of mathematician Kiyoshi Itô.

Although quant finance has strong ties to SciPy Conference Community—given sponsors like Two Sigma and Jane Street, as well as Two Sigma's early funding of pandas—it is still a niche topic for our general attendees. A brief primer will go a long way in making the paper more accessible.

Thank you for the valuable comments @JennEYoon!

We have made the following changes as per your suggestions.

  1. Abstract — Brief gloss for discrete-time regressors; Neural ODEs/SDEs explained intuitively; bare ODEs/SDEs spelled out on first use (ordinary differential equations (ODEs), stochastic differential equations (SDEs)).

  2. Introduction — Short primer for a general SciPy reader:

    • Discrete-time models: next-step predictors from a finite history
    • ODE / Neural ODE: vector field + neural $f_\theta$
    • SDE / Neural SDE: drift + diffusion driven by Brownian motion
  3. First-page footnote ([^ito-primer]) — Kiyosi Itô (1915–2008), stochastic integral / Itô’s lemma, Black–Scholes–Merton, and a one-line career note (Kyoto / founder of modern stochastic analysis).

Later intro paragraphs now use the acronyms without re-expanding them as well.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks to you both — the expanded acronyms, the introductory primer on discrete-time models and ODEs/SDEs, and the Itô footnote address my original comment well. Resolving from my side.

Physical phenomena are commonly governed by differential equations. Traditional methods for time-series analysis often rely on discrete-time models, which may fail to capture the underlying continuous-time dynamics. Neural Ordinary Differential Equations (Neural ODEs) [@chen2018torchdiffeq] represent a paradigm shift by modeling the latent state evolution as a continuous process.

NODEFit provides a simple Python interface for fitting ODEs and SDEs to measured data, allowing researchers to fit their data directly to the governing physical laws.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The transition into Methods felt abrupt — I wasn't sure what "Method" was about to be described or why. A short roadmap sentence at the end of the introduction (e.g., "Section 2 presents the mathematical formulation") would orient the reader.

@gpavanb1

gpavanb1 commented Aug 2, 2026

Copy link
Copy Markdown
Author

Hi @gpavanb1, @JennEYoon, I am Mayank Nigam, and I'll be reviewing this paper. I received the reviewer invitation today (July 27), so my initial review will follow shortly. I'll aim to have full first-round feedback posted within the next few days. Looking forward to the discussion!

Dear Mayank, Thank you for your review. I will follow up with a full response within 7 days.

@gpavanb1

gpavanb1 commented Aug 2, 2026

Copy link
Copy Markdown
Author

Hi! My name is Lou Scheffer, and I'll be one of the reviewers. I'm a EE by training and a biologist by experience. You can see more about me here: http://lscheffer.com/resume.html. I'm not an expert on solving stochastic differential equations, nor on Python ODE libraries (my background is C++) but the methods here (reconstructing both state and gradient working backwards) seem plausible and well motivated. The library seems well constructed for ease of use.

One thing I think is missing is motivation. A paper proposing new methods often starts with an example where existing technique fail, and a quick discussion of why they fail. Then the new method is introduced, often with a informal description of why it should work better, then the technical details, then a plot/figure showing that the new technique works where the existing techniques fail. This is especially powerful if the author was trying to solve some real world problem, could not with existing libraries, and hence this library is the result.

An extension of this is a paragraph or two in the conclusions, meant for the user, describing the cases where these new techniques may be appropriate. This might take the form of (very vaguely) if you try to fit your data using the standard library/methods XXX, and you don't get a good fit because of YYY, then you might have better results using the methods here. You will want to use the smallest neural network that fits the underlying process, informed either by a knowledge of the underlying process, or perhaps by experiment when the underlying process is unknown. (This is a purely hypothetical example of how this might look.)

Dear Lou, Thank you for your review. I will follow up with a full response within 7 days.

gpavanb1 and others added 2 commits August 2, 2026 10:29
…o address LouScheffer's comments in introduction, results and conclusion
@gpavanb1

gpavanb1 commented Aug 2, 2026

Copy link
Copy Markdown
Author

Hi! My name is Lou Scheffer, and I'll be one of the reviewers. I'm a EE by training and a biologist by experience. You can see more about me here: http://lscheffer.com/resume.html. I'm not an expert on solving stochastic differential equations, nor on Python ODE libraries (my background is C++) but the methods here (reconstructing both state and gradient working backwards) seem plausible and well motivated. The library seems well constructed for ease of use.

Thank you for the valuable comments and the positive feedback! Please find below the revisions made based on your suggestions.

One thing I think is missing is motivation. A paper proposing new methods often starts with an example where existing technique fail, and a quick discussion of why they fail. Then the new method is introduced, often with a informal description of why it should work better, then the technical details, then a plot/figure showing that the new technique works where the existing techniques fail. This is especially powerful if the author was trying to solve some real world problem, could not with existing libraries, and hence this library is the result.

We expanded the Introduction with a concrete saturating-kinetics example, explained why template-based curve_fit fails when the functional form is unknown (it fits values, not rates of change). In Results, we now compare a cubic curve_fit baseline, which tracks training but inflects upward past $t=5$ against NODEFit’s Neural ODE on the same data, which extrapolates toward steady state.

An extension of this is a paragraph or two in the conclusions, meant for the user, describing the cases where these new techniques may be appropriate. This might take the form of (very vaguely) if you try to fit your data using the standard library/methods XXX, and you don't get a good fit because of YYY, then you might have better results using the methods here. You will want to use the smallest neural network that fits the underlying process, informed either by a knowledge of the underlying process, or perhaps by experiment when the underlying process is unknown. (This is a purely hypothetical example of how this might look.)

We added Conclusion paragraphs on when to prefer NODEFit over polynomials/splines/curve_fit (poor extrapolation, unknown dynamics, coupled states), when to use Neural SDE vs ODE (intrinsic vs measurement noise), and guidance to use the smallest network that fits, which are to be validated on held-out time segments when domain knowledge is limited.

We hope these revisions make the paper’s motivation and intended use cases clearer. Thank you again for the constructive feedback and it materially improved the manuscript.

@manigam00 manigam00 left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for this submission — NODEFit addresses a genuinely useful problem, and the paper is well organized overall.

A note on my perspective: I'm a software engineering practitioner rather than a domain expert in differential equations. My comments therefore focus on structure, narrative, accessibility for a general SciPy audience, and verifiability, and I did not attempt to verify the mathematical derivations.

What works well. The revised Introduction now motivates the work clearly — the exponential-kinetics example with scipy.optimize.curve_fit, and the explanation of why a fixed functional template falls short, make the case for a continuous-time approach concrete. Figure 1 is the strongest evidence in the paper: showing the cubic baseline inflecting upward past t=5 while the Neural ODE levels off, with the training boundary marked, demonstrates the central claim directly. I also appreciated the memory comparison table for honestly stating the adjoint method's computational cost rather than only its advantages, and the sample code is compact and well commented throughout. The Conclusion's practical guidance — when a Neural ODE is unnecessary, when to prefer a Neural SDE, and how to think about network capacity — is particularly valuable for practitioners.

Main themes in my comments.

Quantitative evidence. Several claims rest on visual or conceptual support rather than measurement: the memory efficiency section compares properties without an empirical data point, the performance optimization subsection describes an optimized implementation without a speedup figure, and the results are demonstrated visually without fit metrics. A small number of concrete measurements would strengthen the paper considerably.

Accessibility. The paper's heavier mathematical passages assume more background than a typical SciPy attendee may have. Extending the symbol definitions that appear elsewhere in the paper to the remaining equations would help, as would a brief roadmap at the end of the Introduction.

Structure. The stochastic adjoint derivation currently sits inside the torchsde dependency subsection, while its deterministic counterpart is in Methods. Consolidating these would make both easier to find.

Completeness. PyTorch doesn't appear to be formally cited, and the installation instructions would benefit from stating version requirements.

Please feel free to reply on any individual comment before making changes — several of these are questions rather than requests, and I'd rather understand your reasoning than have you change something unnecessarily.

Disclosure: I used a generative AI assistant (Claude) to help me understand background concepts in this area and to refine the wording of my comments. All evaluations and judgments in this review are my own.

These comments refer to the paper as of commit 2087cfa (August 1, 2026).


```{math}
:label: eq:node
\frac{dy(t)}{dt} = f_\theta(y(t), t)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggest defining y and t alongside f_θ here, similar to how other symbols are defined after equations elsewhere in the paper.

```

This enables gradient computation with constant memory cost by solving this equation backwards in time.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A general note: symbol definitions are somewhat inconsistent across the paper's equations. Many are nicely defined where they appear (e.g., f_θ, W_t, a(t), ϵ), but some notation goes unexplained — for example, in the adjoint equation, the transpose notation a(t)^T and the partial-derivative term are not described in words. Since the target reader is a general SciPy attendee, a brief plain-language note for these would help readers follow the more technical equations.


## Implementation

NODEFit is implemented as an open-source Python package built on top of the PyTorch ecosystem. It leverages specialized libraries to handle the numerical integration and gradient computation required for training Neural ODEs and SDEs. By abstracting these complexities, NODEFit makes it remarkably easy to fit complex time-series data to governing differential equations. All plots in this paper were generated using Matplotlib [@matplotlib].

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PyTorch is central to NODEFit but doesn't appear to be formally cited anywhere in the paper, while Matplotlib, torchdiffeq, and torchsde all are. Suggest adding a citation for PyTorch here, consistent with the review criteria on citing software.

#### torchsde
For stochastic systems, NODEFit integrates `torchsde` [@li2020scalable]. Stochastic Differential Equations present unique challenges, particularly in ensuring consistent Brownian motion across multiple steps and handling the nuances of stochastic calculus.

To derive the stochastic adjoint from first principles, we consider the SDE in Stratonovich form (denoted by the $\circ$ operator). The Stratonovich integral evaluates the integrand at the midpoint of the interval, $g(y, t) \circ dW_t \approx g(y_{t+\Delta t/2}, t+\Delta t/2) \Delta W_t$. This choice ensures that the SDE obeys the standard rules of calculus:

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This subsection is titled as being about the torchsde dependency, but a substantial part of it is a from first principles derivation of the stochastic adjoint. Structurally, would this derivation fit better in the Methods section (alongside the ODE adjoint derivation in the Backpropagation subsection, and near "Stochastic dynamics" which currently covers the SDE case only briefly) or in the Appendix with the rest of the stochastic calculus? That would keep this subsection focused on what torchsde provides and how NODEFit uses it.

| **Intermediate States** | Stored in memory | Reconstructed on the fly |
| **Memory Scaling** | $O(N)$ (Linear with steps) | $O(1)$ (Constant with steps) |
| **Noise (SDEs)** | Must be stored for every step | Regenerated via Virtual Brownian Tree |
| **Trade-off** | Faster (no reconstruction) | Slower (requires solving backwards) |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This table is well done — accurate, clearly phrased for a general reader, and I especially appreciate that the Trade-off row honestly states the adjoint method's computational cost rather than showing only its advantages. One suggestion: since the section is titled "Memory Efficiency Comparison," I expected an empirical element — was a measurement made? Even one small data point (e.g., peak memory for a short vs. long trajectory under both modes) would turn the O(1) claim from stated to demonstrated. If that's not feasible before the deadline, consider retitling to something like "Memory Efficiency Trade-offs" so the title matches the (useful) conceptual content.


### Performance Optimizations

To handle larger datasets and more complex trajectories, we utilized an optimized implementation that inherits from the base `NeuralSDE` and `SDE` classes. This version leverages faster tensor operations for state-time concatenation and an efficient training loop. For the results presented in this paper, we tuned the following hyperparameters: a `batch_size` of 20 for improved gradient estimates and a fixed time step `dt` of 0.1 to balance numerical stability with computational speed.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This section mentions an optimized implementation with faster tensor operations and an efficient training loop — was the speedup measured? Even a rough figure would substantiate 'optimized.'

NODEFit can be installed via pip:

```bash
pip install nodefit

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The installation instructions are refreshingly simple, but a bit more context would help practitioners: (1) minimum Python and PyTorch versions; (2) whether a GPU is required or optional (and whether CPU-only usage is supported);
As a prospective user, these were the first things I looked for after the pip command.

@iperezav

Copy link
Copy Markdown

Thank you for the invitation @JennEYoon and thank you @gpavanb1 for submitting your work.

The paper introduces the Python package NEUROFit. It fits ODEs and SDEs using neural networks and differential equation solver. The script is well written, it contains an introduction to the topic, a section with the description and performance of the method, a code example, results and conclusions. Overall, the script meets the goal of the proceedings by providing a way in which Python helped solved a scientific computational problem in the area of differential equations and neural networks. The work is relevant and here are my recommendations:

Recommendations:

  1. Delete the enumeration of the equations that are not used: (1), (2), (3), (6), ..., (10), (12), ..., (14), (16), ...., (18)
  2. Is there another package that trains neuro ODEs and SDEs? if so, it would be good to add the difference with NEUROFit. If no, it would be good to mention that to the best knowledge of the author there's no package with this approach and this is the first.
  3. The author mentions memory cost and there is a performance section. It would be a good idea to add the specifications of the computer used for the examples and also record the time taken to run the examples and add it in a table.
  4. It would be good to mention in the introduction other time series approaches such as transformers, ARIMA methods or signatures
  5. It would be good to add a last paragraph in the introduction to give a brief description of what you are going to do in each section.
  6. In the introduction, what's the application of this? Robotics, finance? you mention physical phenomena but can you add specific applications? it would be great if you can use ODEs that model systems with real application like Lotka-Volterra (prey-predator dynamics) or Dubin cars, for example.

@gpavanb1

Copy link
Copy Markdown
Author

Very much appreciate the concise and insightful comments @iperezav

Thank you for the invitation @JennEYoon and thank you @gpavanb1 for submitting your work.

The paper introduces the Python package NEUROFit. It fits ODEs and SDEs using neural networks and differential equation solver. The script is well written, it contains an introduction to the topic, a section with the description and performance of the method, a code example, results and conclusions. Overall, the script meets the goal of the proceedings by providing a way in which Python helped solved a scientific computational problem in the area of differential equations and neural networks. The work is relevant and here are my recommendations:

Recommendations:

1. Delete the enumeration of the equations that are not used: (1), (2), (3), (6), ..., (10), (12), ..., (14), (16), ...., (18)

This seems to be based on the default template. I have tried removing labels for equations that are not cited, but they still show up with numbering.

2. Is there another package that trains neuro ODEs and SDEs? if so, it would be good to add the difference with NEUROFit. If no, it would be good to mention that to the best knowledge of the author there's no package with this approach and this is the first.

This is a good point and to the author's knowledge, PySINDY comes close and has been added to the list of citations along with mentioning it in the introduction and methods section. The libraries torchsde and torchdiffeq exist and are already cited, and NODEFit provides a unified interface in Python for access through just the time series data.

3. The author mentions memory cost and there is a performance section. It would be a good idea to add the specifications of the computer used for the examples and also record the time taken to run the examples and add it in a table.

We clarified that the memory discussion concerns the theoretical scaling of the adjoint method rather than a benchmarking study. To improve reproducibility, we added the computer specifications and wall-clock times for the example scripts in a separate section and table.

4. It would be good to mention in the introduction other time series approaches such as transformers, ARIMA methods or signatures

We have added to the introduction and citations for transformers, ARIMA and signatures, and contrast them with the current approach.

5. It would be good to add a last paragraph in the introduction to give a brief description of what you are going to do in each section.

This has been appropriately added to improve the readability of the paper.

6. In the introduction, what's the application of this? Robotics, finance? you mention physical phenomena but can you add specific applications? it would be great if you can use ODEs that model systems with real application like Lotka-Volterra (prey-predator dynamics) or Dubin cars, for example.

We now list specific applications in the Introduction (ecology, epidemiology, chemical kinetics, robotics, and finance) and added a Lotka–Volterra reconstruction in the Results. NODEFit fits a structured Neural ODE of the classical prey–predator form from observations through t=6, recovers the four rates, and extrapolates the cycle to t = 12.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

draft This triggers Curvenote Preview actions

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants