# Is a way to use differential equation as multiple variable function for regression?

**URL:** <https://discourse.julialang.org/t/is-a-way-to-use-differential-equation-as-multiple-variable-function-for-regression/37202>\
**Category:** New to Julia\
**Tags:** question, diffeq\
**Created:** [April 7, 2020, 11:52pm UTC](https://discourse.julialang.org/t/is-a-way-to-use-differential-equation-as-multiple-variable-function-for-regression/37202 "2020-04-07T23:52:12Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![PharmCat](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/pharmcat/32/6953_2.png) [@PharmCat](https://discourse.julialang.org/u/PharmCat)\
**Post date:** [April 7, 2020, 11:52pm UTC](https://discourse.julialang.org/t/is-a-way-to-use-differential-equation-as-multiple-variable-function-for-regression/37202/1 "2020-04-07T23:52:12Z")

</div>

I have a function: dx/dt = f(x, y) = (p1 + y) \* x + p2 \* sqrt(x)

where p1, p2 - parameter for optimization

Is a way to make solution like sol(t, y) for nonlinear model fitting? Can it be done with DifferentialEquations.jl?

---

<div class="post-metadata">

**Author:** ![Pbellive](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/pbellive/32/3604_2.png) [@Pbellive](https://discourse.julialang.org/u/Pbellive)\
**Post date:** [April 8, 2020, 12:23am UTC](https://discourse.julialang.org/t/is-a-way-to-use-differential-equation-as-multiple-variable-function-for-regression/37202/2 "2020-04-08T00:23:35Z")

</div>

Yes, it is possible to do parameter estimation using the DifferentialEquations.jl ecosystem. [The docs](https://docs.sciml.ai/stable/analysis/parameter_estimation/) describe how you can build an objective function from a DifferentialEquations.jl `DEProblem` that you can then pass to an optimization algorithm to do the fitting.

---

<div class="post-metadata">

**Author:** ![PharmCat](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/pharmcat/32/6953_2.png) [@PharmCat](https://discourse.julialang.org/u/PharmCat)\
**Post date:** [April 8, 2020, 4:22pm UTC](https://discourse.julialang.org/t/is-a-way-to-use-differential-equation-as-multiple-variable-function-for-regression/37202/3 "2020-04-08T16:22:35Z")

</div>

Thank you! I noticed this method and it excelent works for parameters optimization when i have one dependent and one predictor (and any count of parameters) f(x, (p1, p2…pn)), but i have two predictors f(x,y, (p1, p2…pn)). Does it means that for each observation i have to build separate problem? And then optimize it?

---

<div class="post-metadata">

**Author:** ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Post date:** [April 8, 2020, 5:20pm UTC](https://discourse.julialang.org/t/is-a-way-to-use-differential-equation-as-multiple-variable-function-for-regression/37202/4 "2020-04-08T17:20:32Z")

</div>

Do a system of ODEs?

---

<div class="post-metadata">

**Author:** ![BLI](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/bli/32/37206_2.png) [@BLI](https://discourse.julialang.org/u/BLI)\
**Post date:** [April 8, 2020, 6:24pm UTC](https://discourse.julialang.org/t/is-a-way-to-use-differential-equation-as-multiple-variable-function-for-regression/37202/5 "2020-04-08T18:24:11Z")

</div>

> [@PharmCat](#):
>
> I have a function: dx/dt = f(x, y) = (p1 + y) \* x + p2 \* sqrt(x)
> 
> where p1, p2 - parameter for optimization

What is `y`? Do you have a differential equation for `y`, too? If yes, then you have a system of 2 differential equations.

Next, do you have observations? Do you have observations of `x`, or `y`, or both?

---

<div class="post-metadata">

**Author:** ![PharmCat](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/pharmcat/32/6953_2.png) [@PharmCat](https://discourse.julialang.org/u/PharmCat)\
**Post date:** [April 8, 2020, 8:14pm UTC](https://discourse.julialang.org/t/is-a-way-to-use-differential-equation-as-multiple-variable-function-for-regression/37202/6 "2020-04-08T20:14:38Z")

</div>

I have data like this (many observations):

```julia
time y x
1 0 0.2   
1 1 0.6
2 0 1.7
2 1 2.3
...

```

where dx/dt = (p1 + y) \* x + p2 \* sqrt(x)

and i have to find p1 and p2
