# Bayesian inference in a subset of parameters using Turing.jl

**URL:** <https://discourse.julialang.org/t/bayesian-inference-in-a-subset-of-parameters-using-turing-jl/101944>\
**Category:** Statistics\
**Tags:** turing, bayesian-inference, differentialequation\
**Created:** [July 22, 2023, 9:47pm UTC](https://discourse.julialang.org/t/bayesian-inference-in-a-subset-of-parameters-using-turing-jl/101944 "2023-07-22T21:47:37Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Nick1](https://avatars.discourse-cdn.com/v4/letter/n/47e85d/32.png) [@Nick1](https://discourse.julialang.org/u/Nick1)\
**Post date:** [July 22, 2023, 9:47pm UTC](https://discourse.julialang.org/t/bayesian-inference-in-a-subset-of-parameters-using-turing-jl/101944/1 "2023-07-22T21:47:37Z")

</div>

Hi everyone. I am working on a large system of ODEs with ~100 parameters. I identified the sensitive parameters with Sobol method, and I would be interested in performing Bayesian inference on them, while keeping the non-sensitive parameters constant. Is there a way to do Bayesian inference on a subset of parameters using Turing.jl? I organize my parameters using ComponentArrays.jl

Thank you in advance!

---

<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:** [July 23, 2023, 1:23am UTC](https://discourse.julialang.org/t/bayesian-inference-in-a-subset-of-parameters-using-turing-jl/101944/2 "2023-07-23T01:23:24Z")

</div>

> [@Nick1](#):
>
> Is there a way to do Bayesian inference on a subset of parameters using Turing.jl?

Just make a subset of the parameters be what is used in the Turing model and do

```julia
realp = [turingp;constantp]
ODEProblem(f,u0,tspan,realp)

```

and it’ll only fit the turingp.

---

<div class="post-metadata">

**Author:** ![Nick1](https://avatars.discourse-cdn.com/v4/letter/n/47e85d/32.png) [@Nick1](https://discourse.julialang.org/u/Nick1)\
**Post date:** [July 24, 2023, 5:57pm UTC](https://discourse.julialang.org/t/bayesian-inference-in-a-subset-of-parameters-using-turing-jl/101944/3 "2023-07-24T17:57:14Z")

</div>

Thanks Chris. However, Turing still needs the constant parameters to be defined inside the model function if I understand correctly (I get an error: ERROR: UndefVarError: `k1` not defined) in the constant variables.  
Also, how is Turing dealing with the right order in the parameters?

---

<div class="post-metadata">

**Author:** ![ElOceanografo](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/eloceanografo/32/624_2.png) [@ElOceanografo](https://discourse.julialang.org/u/ElOceanografo)\
**Post date:** [July 24, 2023, 6:27pm UTC](https://discourse.julialang.org/t/bayesian-inference-in-a-subset-of-parameters-using-turing-jl/101944/4 "2023-07-24T18:27:30Z")

</div>

Elaborating on Chris’s answer, you can do something like this:

```julia
@model function fit_ode(data, constantp)
    turingp ~ WhateverPriors()
    allp= [turingp; constantp]
    prob = ODEProblem(f,u0,tspan,allp)
    sol = solve(prob)
    data ~ SomeObservationDistribution(sol)
end

```

---

<div class="post-metadata">

**Author:** ![Nick1](https://avatars.discourse-cdn.com/v4/letter/n/47e85d/32.png) [@Nick1](https://discourse.julialang.org/u/Nick1)\
**Post date:** [July 24, 2023, 10:35pm UTC](https://discourse.julialang.org/t/bayesian-inference-in-a-subset-of-parameters-using-turing-jl/101944/5 "2023-07-24T22:35:36Z")

</div>

Thank you. I resolved the issue, but I am getting warning regarding convergence (dt\<=dtmin). What are usual causes for this in Turing? I work with synthetic data so it might be an issue (?)

---

<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:** [July 25, 2023, 3:30am UTC](https://discourse.julialang.org/t/bayesian-inference-in-a-subset-of-parameters-using-turing-jl/101944/6 "2023-07-25T03:30:45Z")

</div>

Check the parameters externally to Turing
