diff --git a/10_BayesianDiffEq.ipynb b/10_BayesianDiffEq.ipynb new file mode 100644 index 000000000..109d8ce7f --- /dev/null +++ b/10_BayesianDiffEq.ipynb @@ -0,0 +1,7637 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Bayesian Estimation of Differential Equations\n", + "\n", + "Most of the scientific community deals with the basic problem of trying to mathematically model the reality around them and this often involves dynamical systems. The general trend to model these complex dynamical systems is through the use of differential equations. Differential equation models often have non-measurable parameters. The popular “forward-problem” of simulation consists of solving the differential equations for a given set of parameters, the “inverse problem” to simulation, known as parameter estimation, is the process of utilizing data to determine these model parameters. Bayesian inference provides a robust approach to parameter estimation with quantified uncertainty." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "┌ Info: Precompiling DataFrames [a93c6f00-e57d-5684-b7b6-d8193f3e46c0]\n", + "└ @ Base loading.jl:1260\n", + "┌ Info: Precompiling DifferentialEquations [0c46a032-eb83-5123-abaf-570d42b7fbaa]\n", + "└ @ Base loading.jl:1260\n", + "┌ Info: Precompiling DiffEqSensitivity [41bf760c-e81c-5289-8e54-58b1f1f8abe2]\n", + "└ @ Base loading.jl:1260\n", + "┌ Info: Precompiling Plots [91a5bcdd-55d7-5caf-9e0b-520d859cae80]\n", + "└ @ Base loading.jl:1260\n", + "┌ Info: Precompiling StatsPlots [f3b207a7-027a-5e70-b257-86293d7955fd]\n", + "└ @ Base loading.jl:1260\n" + ] + } + ], + "source": [ + "using Turing, Distributions, DataFrames, DifferentialEquations, DiffEqSensitivity\n", + "\n", + "# Import MCMCChain, Plots, and StatsPlots for visualizations and diagnostics.\n", + "using MCMCChains, Plots, StatsPlots\n", + "\n", + "# Set a seed for reproducibility.\n", + "using Random\n", + "Random.seed!(12);" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## The Lotka-Volterra Model\n", + "\n", + "The Lotka–Volterra equations, also known as the predator–prey equations, are a pair of first-order nonlinear differential equations, frequently used to describe the dynamics of biological systems in which two species interact, one as a predator and the other as prey. The populations change through time according to the pair of equations:\n", + "\n", + "$\\frac{dx}{dt} = (\\alpha - \\beta y)x$\n", + " \n", + "$\\frac{dy}{dt} = (\\delta x - \\gamma)y$\n" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "function lotka_volterra(du,u,p,t)\n", + " x, y = u\n", + " α, β, δ, γ = p\n", + " du[1] = dx = (α - β*y)x\n", + " du[2] = dy = (δ*x - γ)y\n", + "end\n", + "p = [2.2, 1.0, 2.0, 0.4]\n", + "u0 = [1.0,1.0]\n", + "prob = ODEProblem(lotka_volterra,u0,(0.0,10.0),p)\n", + "sol = solve(prob,Tsit5())\n", + "plot(sol)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We'll generate the data to use for the parameter estimation from simulation. \n", + "With the `saveat` [argument](https://docs.sciml.ai/latest/basics/common_solver_opts/) we specify that the solution is stored only at `0.1` time units. " + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "2×101 Array{Float64,2}:\n", + " 1.0 1.11751 1.22172 1.29665 … 1.31071 1.23009 1.0837 0.892889\n", + " 1.0 1.18752 1.44214 1.78356 2.53525 3.14507 3.80916 4.46091" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "odedata = Array(solve(prob,Tsit5(),saveat=0.1))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Fitting Lotka-Volterra with DiffEqBayes\n", + "\n", + "[DiffEqBayes.jl](https://github.com/SciML/DiffEqBayes.jl) is a high level package that set of extension functionality for estimating the parameters of differential equations using Bayesian methods. It allows the choice of using CmdStan.jl, Turing.jl, DynamicHMC.jl and ApproxBayes.jl to perform a Bayesian estimation of a differential equation problem specified via the DifferentialEquations.jl interface. You can read the [docs](https://docs.sciml.ai/latest/analysis/parameter_estimation/#Bayesian-Methods-1) for an understanding of the available functionality." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "┌ Info: Found initial step size\n", + "│ ϵ = 0.025\n", + "└ @ Turing.Inference /Users/vaibhav/.julia/packages/Turing/GMBTf/src/inference/hmc.jl:629\n", + "┌ Warning: The current proposal will be rejected due to numerical error(s).\n", + "│ isfinite.((θ, r, ℓπ, ℓκ)) = (true, false, false, false)\n", + "└ @ AdvancedHMC /Users/vaibhav/.julia/packages/AdvancedHMC/WJCQA/src/hamiltonian.jl:47\n" + ] + }, + { + "data": { + "text/plain": [ + "Object of type Chains, with data of type 9000×17×1 Array{Float64,3}\n", + "\n", + "Iterations = 1:9000\n", + "Thinning interval = 1\n", + "Chains = 1\n", + "Samples per chain = 9000\n", + "internals = acceptance_rate, hamiltonian_energy, hamiltonian_energy_error, is_accept, log_density, lp, max_hamiltonian_energy_error, n_steps, nom_step_size, numerical_error, step_size, tree_depth\n", + "parameters = theta[1], theta[2], theta[3], theta[4], σ[1]\n", + "\n", + "2-element Array{ChainDataFrame,1}\n", + "\n", + "Summary Statistics\n", + " parameters mean std naive_se mcse ess r_hat\n", + " ────────── ────── ────── ──────── ────── ───────── ──────\n", + " theta[1] 2.1999 0.0061 0.0001 0.0001 2932.9824 1.0000\n", + " theta[2] 1.0000 0.0025 0.0000 0.0000 2976.0464 1.0001\n", + " theta[3] 2.0001 0.0028 0.0000 0.0000 4960.5915 1.0002\n", + " theta[4] 0.4000 0.0007 0.0000 0.0000 2917.9182 0.9999\n", + " σ[1] 0.0151 0.0011 0.0000 0.0000 4999.8943 1.0003\n", + "\n", + "Quantiles\n", + " parameters 2.5% 25.0% 50.0% 75.0% 97.5%\n", + " ────────── ────── ────── ────── ────── ──────\n", + " theta[1] 2.1878 2.1957 2.1999 2.2040 2.2119\n", + " theta[2] 0.9951 0.9983 1.0000 1.0017 1.0048\n", + " theta[3] 1.9948 1.9982 2.0001 2.0019 2.0057\n", + " theta[4] 0.3987 0.3996 0.4000 0.4004 0.4013\n", + " σ[1] 0.0131 0.0143 0.0150 0.0158 0.0174\n" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "using DiffEqBayes\n", + "t = 0:0.1:10.0\n", + "priors = [truncated(Normal(1.5,0.5),0.5,2.5),truncated(Normal(1.2,0.5),0,2),truncated(Normal(3.0,0.5),1,4),truncated(Normal(1.0,0.5),0,2)]\n", + "bayesian_result_turing = turing_inference(prob,Tsit5(),t,odedata,priors,num_samples=10_000)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The estimated parameters are clearly very close to the desired parameter values. We can also check that the chains have converged in the plot." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "plot(bayesian_result_turing)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Direct Handling of Bayesian Estimation with Turing\n", + "\n", + "You could want to do some sort of reduction with the differential equation's solution or use it in some other way as well. In those cases DiffEqBayes might not be useful. Turing and DifferentialEquations are completely composable and you can write of the differential equation inside a Turing `@model` and it will just work." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can rewrite the Lotka Volterra parameter estimation problem with a Turing `@model` interface as below" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "┌ Info: Found initial step size\n", + "│ ϵ = 0.2\n", + "└ @ Turing.Inference /Users/vaibhav/.julia/packages/Turing/GMBTf/src/inference/hmc.jl:629\n", + "\u001b[32mSampling: 1%|▋ | ETA: 0:03:55\u001b[39m┌ Warning: The current proposal will be rejected due to numerical error(s).\n", + "│ isfinite.((θ, r, ℓπ, ℓκ)) = (true, false, false, false)\n", + "└ @ AdvancedHMC /Users/vaibhav/.julia/packages/AdvancedHMC/WJCQA/src/hamiltonian.jl:47\n", + "\u001b[32mSampling: 100%|█████████████████████████████████████████| Time: 0:06:03\u001b[39m\n" + ] + }, + { + "data": { + "text/plain": [ + "Object of type Chains, with data of type 9000×17×1 Array{Float64,3}\n", + "\n", + "Iterations = 1:9000\n", + "Thinning interval = 1\n", + "Chains = 1\n", + "Samples per chain = 9000\n", + "internals = acceptance_rate, hamiltonian_energy, hamiltonian_energy_error, is_accept, log_density, lp, max_hamiltonian_energy_error, n_steps, nom_step_size, numerical_error, step_size, tree_depth\n", + "parameters = α, β, γ, δ, σ\n", + "\n", + "2-element Array{ChainDataFrame,1}\n", + "\n", + "Summary Statistics\n", + " parameters mean std naive_se mcse ess r_hat\n", + " ────────── ────── ────── ──────── ────── ───────── ──────\n", + " α 2.2001 0.0061 0.0001 0.0001 3083.7154 0.9999\n", + " β 1.0000 0.0025 0.0000 0.0000 3151.1676 0.9999\n", + " γ 2.0000 0.0028 0.0000 0.0000 5320.4638 0.9999\n", + " δ 0.4000 0.0007 0.0000 0.0000 3073.9849 0.9999\n", + " σ 0.0151 0.0011 0.0000 0.0000 4457.2733 0.9999\n", + "\n", + "Quantiles\n", + " parameters 2.5% 25.0% 50.0% 75.0% 97.5%\n", + " ────────── ────── ────── ────── ────── ──────\n", + " α 2.1881 2.1959 2.2002 2.2042 2.2120\n", + " β 0.9952 0.9983 1.0001 1.0017 1.0049\n", + " γ 1.9947 1.9981 2.0000 2.0019 2.0056\n", + " δ 0.3987 0.3995 0.4000 0.4004 0.4013\n", + " σ 0.0131 0.0143 0.0150 0.0157 0.0173\n" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Turing.setadbackend(:forwarddiff)\n", + "\n", + "@model function fitlv(data)\n", + " σ ~ InverseGamma(2, 3)\n", + " α ~ truncated(Normal(1.5,0.5),0.5,2.5)\n", + " β ~ truncated(Normal(1.2,0.5),0,2)\n", + " γ ~ truncated(Normal(3.0,0.5),1,4)\n", + " δ ~ truncated(Normal(1.0,0.5),0,2)\n", + "\n", + " p = [α,β,γ,δ]\n", + " prob = ODEProblem(lotka_volterra,u0,(0.0,10.0),p)\n", + " predicted = solve(prob,Tsit5(),saveat=0.1)\n", + "\n", + " for i = 1:length(predicted)\n", + " data[:,i] ~ MvNormal(predicted[i], σ)\n", + " end\n", + "end\n", + "\n", + "model = fitlv(odedata)\n", + "chain = sample(model, NUTS(.65),10000)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Scaling to Large Models: Adjoint Sensitivities\n", + "\n", + "DifferentialEquations.jl's efficiency for large stiff models has been shown in multiple [benchmarks](https://github.com/SciML/DiffEqBenchmarks.jl). To learn more about how to optimize solving performance for stiff problems you can take a look at the [docs](https://docs.sciml.ai/latest/tutorials/advanced_ode_example/). \n", + "\n", + "[Sensitivity analysis](https://docs.sciml.ai/latest/analysis/sensitivity/), or automatic differentiation (AD) of the solver, is provided by the DiffEq suite. The model sensitivities are the derivatives of the solution $u(t)$ with respect to the parameters. Specifically, the local sensitivity of the solution to a parameter is defined by how much the solution would change by changes in the parameter. Sensitivity analysis provides a cheap way to calculate the gradient of the solution which can be used in parameter estimation and other optimization tasks.\n", + "\n", + "\n", + "The AD ecosystem in Julia allows you to switch between forward mode, reverse mode, source to source and other choices of AD and have it work with any Julia code. For a user to make use of this within [SciML](https://sciml.ai) a high level function [`concrete_solve`](https://docs.sciml.ai/latest/analysis/sensitivity/#High-Level-Interface:-concrete_solve-1) plugs into those AD systems to allow for choosing advanced sensitivity analysis (derivative calculation) [methods](https://docs.sciml.ai/latest/analysis/sensitivity/#Sensitivity-Algorithms-1). \n", + "\n", + "More theoretical details on these methods can be found at: https://docs.sciml.ai/latest/extras/sensitivity_math/." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "While these sensitivity analysis methods may seem complicated (and they are!), using them is dead simple. Here is a version of the Lotka-Volterra model with adjoints enabled." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "All we had to do is switch the AD backend to one of the adjoint-compatible backends (ReverseDiff, Tracker, or Zygote) and boom the system takes over and we're using adjoint methods! Notice that on this model adjoints are slower. This is because adjoints have a higher overhead on small parameter models and we suggest only using these methods for models with around 100 parameters or more. For more details, see https://arxiv.org/abs/1812.01892." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "┌ Info: Found initial step size\n", + "│ ϵ = 0.4\n", + "└ @ Turing.Inference /Users/vaibhav/.julia/packages/Turing/GMBTf/src/inference/hmc.jl:629\n", + "\u001b[32mSampling: 0%| | ETA: 0:08:33\u001b[39m┌ Warning: The current proposal will be rejected due to numerical error(s).\n", + "│ isfinite.((θ, r, ℓπ, ℓκ)) = (true, true, false, true)\n", + "└ @ AdvancedHMC /Users/vaibhav/.julia/packages/AdvancedHMC/WJCQA/src/hamiltonian.jl:47\n", + "\u001b[32mSampling: 10%|████▏ | ETA: 0:08:05\u001b[39m┌ Warning: The current proposal will be rejected due to numerical error(s).\n", + "│ isfinite.((θ, r, ℓπ, ℓκ)) = (true, false, false, false)\n", + "└ @ AdvancedHMC /Users/vaibhav/.julia/packages/AdvancedHMC/WJCQA/src/hamiltonian.jl:47\n", + "\u001b[32mSampling: 10%|████▎ | ETA: 0:07:57\u001b[39m┌ Warning: The current proposal will be rejected due to numerical error(s).\n", + "│ isfinite.((θ, r, ℓπ, ℓκ)) = (true, false, false, false)\n", + "└ @ AdvancedHMC /Users/vaibhav/.julia/packages/AdvancedHMC/WJCQA/src/hamiltonian.jl:47\n", + "\u001b[32mSampling: 12%|████▊ | ETA: 0:07:26\u001b[39m┌ Warning: The current proposal will be rejected due to numerical error(s).\n", + "│ isfinite.((θ, r, ℓπ, ℓκ)) = (true, false, false, false)\n", + "└ @ AdvancedHMC /Users/vaibhav/.julia/packages/AdvancedHMC/WJCQA/src/hamiltonian.jl:47\n", + "\u001b[32mSampling: 14%|██████ | ETA: 0:06:40\u001b[39m┌ Warning: The current proposal will be rejected due to numerical error(s).\n", + "│ isfinite.((θ, r, ℓπ, ℓκ)) = (true, false, false, false)\n", + "└ @ AdvancedHMC /Users/vaibhav/.julia/packages/AdvancedHMC/WJCQA/src/hamiltonian.jl:47\n", + "\u001b[32mSampling: 16%|██████▍ | ETA: 0:06:24\u001b[39m┌ Warning: The current proposal will be rejected due to numerical error(s).\n", + "│ isfinite.((θ, r, ℓπ, ℓκ)) = (true, false, false, false)\n", + "└ @ AdvancedHMC /Users/vaibhav/.julia/packages/AdvancedHMC/WJCQA/src/hamiltonian.jl:47\n", + "\u001b[32mSampling: 21%|████████▌ | ETA: 0:05:34\u001b[39m┌ Warning: The current proposal will be rejected due to numerical error(s).\n", + "│ isfinite.((θ, r, ℓπ, ℓκ)) = (true, false, false, false)\n", + "└ @ AdvancedHMC /Users/vaibhav/.julia/packages/AdvancedHMC/WJCQA/src/hamiltonian.jl:47\n", + "\u001b[32mSampling: 22%|█████████ | ETA: 0:05:23\u001b[39m┌ Warning: The current proposal will be rejected due to numerical error(s).\n", + "│ isfinite.((θ, r, ℓπ, ℓκ)) = (true, false, false, false)\n", + "└ @ AdvancedHMC /Users/vaibhav/.julia/packages/AdvancedHMC/WJCQA/src/hamiltonian.jl:47\n", + "\u001b[32mSampling: 31%|████████████▉ | ETA: 0:04:17\u001b[39m┌ Warning: The current proposal will be rejected due to numerical error(s).\n", + "│ isfinite.((θ, r, ℓπ, ℓκ)) = (true, false, false, false)\n", + "└ @ AdvancedHMC /Users/vaibhav/.julia/packages/AdvancedHMC/WJCQA/src/hamiltonian.jl:47\n", + "\u001b[32mSampling: 36%|██████████████▊ | ETA: 0:03:48\u001b[39m┌ Warning: The current proposal will be rejected due to numerical error(s).\n", + "│ isfinite.((θ, r, ℓπ, ℓκ)) = (true, false, false, false)\n", + "└ @ AdvancedHMC /Users/vaibhav/.julia/packages/AdvancedHMC/WJCQA/src/hamiltonian.jl:47\n", + "\u001b[32mSampling: 40%|████████████████▎ | ETA: 0:03:29\u001b[39m┌ Warning: The current proposal will be rejected due to numerical error(s).\n", + "│ isfinite.((θ, r, ℓπ, ℓκ)) = (true, false, false, false)\n", + "└ @ AdvancedHMC /Users/vaibhav/.julia/packages/AdvancedHMC/WJCQA/src/hamiltonian.jl:47\n", + "\u001b[32mSampling: 100%|█████████████████████████████████████████| Time: 0:04:27\u001b[39m\n" + ] + }, + { + "data": { + "text/plain": [ + "Object of type Chains, with data of type 500×17×1 Array{Float64,3}\n", + "\n", + "Iterations = 1:500\n", + "Thinning interval = 1\n", + "Chains = 1\n", + "Samples per chain = 500\n", + "internals = acceptance_rate, hamiltonian_energy, hamiltonian_energy_error, is_accept, log_density, lp, max_hamiltonian_energy_error, n_steps, nom_step_size, numerical_error, step_size, tree_depth\n", + "parameters = α, β, γ, δ, σ\n", + "\n", + "2-element Array{ChainDataFrame,1}\n", + "\n", + "Summary Statistics\n", + " parameters mean std naive_se mcse ess r_hat\n", + " ────────── ────── ────── ──────── ────── ──────── ──────\n", + " α 2.4096 0.0643 0.0029 0.0038 195.2346 1.0126\n", + " β 1.3397 0.0701 0.0031 0.0056 115.0641 1.0176\n", + " γ 2.6910 0.1790 0.0080 0.0085 530.8071 0.9984\n", + " δ 1.9282 0.0458 0.0020 0.0042 171.0813 1.0204\n", + " σ 1.2745 0.0643 0.0029 0.0013 554.4618 0.9995\n", + "\n", + "Quantiles\n", + " parameters 2.5% 25.0% 50.0% 75.0% 97.5%\n", + " ────────── ────── ────── ────── ────── ──────\n", + " α 2.2675 2.3661 2.4174 2.4635 2.4977\n", + " β 1.2107 1.2896 1.3343 1.3876 1.4899\n", + " γ 2.3706 2.5625 2.6881 2.7995 3.0678\n", + " δ 1.8220 1.8977 1.9325 1.9643 1.9947\n", + " σ 1.1587 1.2318 1.2702 1.3151 1.4051\n" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Turing.setadbackend(:zygote)\n", + "@model function fitlv(data)\n", + " σ ~ InverseGamma(2, 3)\n", + " α ~ truncated(Normal(1.5,0.5),0.5,2.5)\n", + " β ~ truncated(Normal(1.2,0.5),0,2)\n", + " γ ~ truncated(Normal(3.0,0.5),1,4)\n", + " δ ~ truncated(Normal(1.0,0.5),0,2)\n", + " p = [α,β,γ,δ]\n", + " prob = ODEProblem(lotka_volterra,u0,(0.0,10.0),p)\n", + " predicted = concrete_solve(prob,nothing,saveat=0.1)\n", + " for i = 1:length(predicted)\n", + " data[:,i] ~ MvNormal(predicted[i], σ)\n", + " end\n", + "end;\n", + "model = fitlv(odedata)\n", + "chain = sample(model, NUTS(.65),1000)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we can exercise control of the sensitivity analysis method that is used by using the `sensealg` keyword argument. Let's choose the `InterpolatingAdjoint` from the available AD [methods](https://docs.sciml.ai/latest/analysis/sensitivity/#Sensitivity-Algorithms-1) and enable a compiled ReverseDiff vector-Jacobian product:" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "┌ Info: Found initial step size\n", + "│ ϵ = 0.05\n", + "└ @ Turing.Inference /Users/vaibhav/.julia/packages/Turing/GMBTf/src/inference/hmc.jl:629\n", + "\u001b[32mSampling: 100%|█████████████████████████████████████████| Time: 0:24:41\u001b[39m\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1592.228380 seconds (6.38 G allocations: 292.965 GiB, 5.60% gc time)\n" + ] + }, + { + "data": { + "text/plain": [ + "Object of type Chains, with data of type 500×17×1 Array{Float64,3}\n", + "\n", + "Iterations = 1:500\n", + "Thinning interval = 1\n", + "Chains = 1\n", + "Samples per chain = 500\n", + "internals = acceptance_rate, hamiltonian_energy, hamiltonian_energy_error, is_accept, log_density, lp, max_hamiltonian_energy_error, n_steps, nom_step_size, numerical_error, step_size, tree_depth\n", + "parameters = α, β, γ, δ, σ\n", + "\n", + "2-element Array{ChainDataFrame,1}\n", + "\n", + "Summary Statistics\n", + " parameters mean std naive_se mcse ess r_hat\n", + " ────────── ────── ────── ──────── ────── ──────── ──────\n", + " α 2.2003 0.0063 0.0003 0.0006 110.2447 1.0042\n", + " β 1.0001 0.0026 0.0001 0.0003 103.6027 1.0061\n", + " γ 2.0000 0.0028 0.0001 0.0002 419.7436 0.9990\n", + " δ 0.4000 0.0007 0.0000 0.0001 99.8670 1.0053\n", + " σ 0.0150 0.0010 0.0000 0.0000 202.2803 1.0006\n", + "\n", + "Quantiles\n", + " parameters 2.5% 25.0% 50.0% 75.0% 97.5%\n", + " ────────── ────── ────── ────── ────── ──────\n", + " α 2.1883 2.1957 2.2004 2.2049 2.2119\n", + " β 0.9951 0.9984 1.0001 1.0020 1.0050\n", + " γ 1.9949 1.9982 2.0000 2.0020 2.0054\n", + " δ 0.3987 0.3995 0.4000 0.4004 0.4012\n", + " σ 0.0133 0.0143 0.0150 0.0157 0.0172\n" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "@model function fitlv(data)\n", + " σ ~ InverseGamma(2, 3)\n", + " α ~ truncated(Normal(1.5,0.5),0.5,2.5)\n", + " β ~ truncated(Normal(1.2,0.5),0,2)\n", + " γ ~ truncated(Normal(3.0,0.5),1,4)\n", + " δ ~ truncated(Normal(1.0,0.5),0,2)\n", + " p = [α,β,γ,δ]\n", + " prob = ODEProblem(lotka_volterra,u0,(0.0,10.0),p)\n", + " predicted = concrete_solve(prob,nothing,saveat=0.1,sensealg=InterpolatingAdjoint(autojacvec=ReverseDiffVJP(true)))\n", + " for i = 1:length(predicted)\n", + " data[:,i] ~ MvNormal(predicted[i], σ)\n", + " end\n", + "end;\n", + "model = fitlv(odedata)\n", + "@time chain = sample(model, NUTS(.65),1000)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For more examples of adjoint usage on large parameter models, consult the [DiffEqFlux documentation](https://diffeqflux.sciml.ai/dev/)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Including Process Noise: Estimation of Stochastic Differential Equations\n", + "\n", + "This can be easily extended to Stochastic Differential Equations as well.\n", + "\n", + "Let's create the Lotka Volterra equation with some noise and try out estimating it with the same framework we have set up before.\n", + "\n", + "Our equations now become:\n", + "\n", + "$dx = (\\alpha - \\beta y)xdt + \\phi_1 xdW_1$\n", + "\n", + "$dy = (\\delta x - \\gamma)ydt + \\phi_2 ydW_2$" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\u001b[36mSDEProblem\u001b[0m with uType \u001b[36mArray{Float64,1}\u001b[0m and tType \u001b[36mFloat64\u001b[0m. In-place: \u001b[36mtrue\u001b[0m\n", + "timespan: (0.0, 10.0)\n", + "u0: [1.0, 1.0]" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "function lotka_volterra_noise(du,u,p,t)\n", + " du[1] = p[5]*u[1]\n", + " du[2] = p[6]*u[2]\n", + "end\n", + "p = [1.5, 1.0, 3.0, 1.0, 0.3, 0.3]\n", + "prob = SDEProblem(lotka_volterra,lotka_volterra_noise,u0,(0.0,10.0),p)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Solving it repeatedly confirms the randomness of the solution" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sol = solve(prob,saveat=0.01)\n", + "p1 = plot(sol)\n", + "sol = solve(prob,saveat=0.01)\n", + "p2 = plot(sol)\n", + "sol = solve(prob,saveat=0.01)\n", + "p3 = plot(sol)\n", + "plot(p1,p2,p3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "With the `MonteCarloSummary` it is easy to summarize the results from multiple runs through the `EnsembleProblem` interface, here we run the problem for 1000 `trajectories` and visualize the summary:" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sol = solve(EnsembleProblem(prob),SRIW1(),saveat=0.1,trajectories=500)\n", + "summ = MonteCarloSummary(sol)\n", + "plot(summ)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Get data from the means to fit:" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "2×101 Array{Float64,2}:\n", + " 1.0 1.04264 1.05351 1.02954 0.966063 … 0.197012 0.202526 0.208449\n", + " 1.0 1.22434 1.51276 1.87255 2.30523 1.19782 1.15208 1.11312" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "using DiffEqBase.EnsembleAnalysis\n", + "averagedata = Array(timeseries_steps_mean(sol))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now fit the means with Turing." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We will utilize multithreading with the [`EnsembleProblem`](https://docs.sciml.ai/stable/tutorials/sde_example/#Ensemble-Simulations-1) interface to speed up the SDE parameter estimation." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "8" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Threads.nthreads()" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "┌ Info: Found initial step size\n", + "│ ϵ = 0.2\n", + "└ @ Turing.Inference /Users/vaibhav/.julia/packages/Turing/GMBTf/src/inference/hmc.jl:629\n", + "\u001b[32mSampling: 100%|█████████████████████████████████████████| Time: 3:11:13\u001b[39m\n" + ] + }, + { + "data": { + "text/plain": [ + "Object of type Chains, with data of type 250×19×1 Array{Float64,3}\n", + "\n", + "Iterations = 1:250\n", + "Thinning interval = 1\n", + "Chains = 1\n", + "Samples per chain = 250\n", + "internals = acceptance_rate, hamiltonian_energy, hamiltonian_energy_error, is_accept, log_density, lp, max_hamiltonian_energy_error, n_steps, nom_step_size, numerical_error, step_size, tree_depth\n", + "parameters = α, β, γ, δ, σ, ϕ1, ϕ2\n", + "\n", + "2-element Array{ChainDataFrame,1}\n", + "\n", + "Summary Statistics\n", + " parameters mean std naive_se mcse ess r_hat\n", + " ────────── ────── ────── ──────── ────── ────── ──────\n", + " α 2.2359 0.0000 0.0000 0.0000 2.0325 2.4639\n", + " β 1.3825 0.0000 0.0000 0.0000 2.0325 5.0295\n", + " γ 3.0467 0.0000 0.0000 0.0000 2.0325 3.6595\n", + " δ 0.8768 0.0000 0.0000 0.0000 2.0325 1.5039\n", + " σ 0.3037 0.0000 0.0000 0.0000 2.0325 1.3689\n", + " ϕ1 0.9021 0.0000 0.0000 0.0000 2.0325 1.7251\n", + " ϕ2 0.5970 0.0000 0.0000 0.0000 2.0325 1.5039\n", + "\n", + "Quantiles\n", + " parameters 2.5% 25.0% 50.0% 75.0% 97.5%\n", + " ────────── ────── ────── ────── ────── ──────\n", + " α 2.2359 2.2359 2.2359 2.2359 2.2359\n", + " β 1.3825 1.3825 1.3825 1.3825 1.3825\n", + " γ 3.0467 3.0467 3.0467 3.0467 3.0467\n", + " δ 0.8768 0.8768 0.8768 0.8768 0.8768\n", + " σ 0.3037 0.3037 0.3037 0.3037 0.3037\n", + " ϕ1 0.9021 0.9021 0.9021 0.9021 0.9021\n", + " ϕ2 0.5970 0.5970 0.5970 0.5970 0.5970\n" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Turing.setadbackend(:forwarddiff)\n", + "\n", + "@model function fitlv(data)\n", + " σ ~ InverseGamma(2, 3)\n", + " α ~ truncated(Normal(1.5,0.5),0.5,2.5)\n", + " β ~ truncated(Normal(1.2,0.5),0,2)\n", + " γ ~ truncated(Normal(3.0,0.5),1,4)\n", + " δ ~ truncated(Normal(1.0,0.5),0,2)\n", + " ϕ1 ~ truncated(Normal(1.2,0.5),0.1,1)\n", + " ϕ2 ~ truncated(Normal(1.2,0.5),0.1,1)\n", + "\n", + " p = [α,β,γ,δ,ϕ1,ϕ2]\n", + " prob = SDEProblem(lotka_volterra,lotka_volterra_noise,u0,(0.0,10.0),p)\n", + " ensemble_predicted = solve(EnsembleProblem(prob),SRIW1(),saveat=0.1,trajectories=500)\n", + " predicted_means = timeseries_steps_mean(ensemble_predicted)\n", + "\n", + " for i = 1:length(predicted_means)\n", + " data[:,i] ~ MvNormal(predicted_means[i], σ)\n", + " end\n", + "end;\n", + "\n", + "model = fitlv(averagedata)\n", + "chain = sample(model, NUTS(.65),500)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Julia 1.4.0", + "language": "julia", + "name": "julia-1.4" + }, + "language_info": { + "file_extension": ".jl", + "mimetype": "application/julia", + "name": "julia", + "version": "1.4.0" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Manifest.toml b/Manifest.toml index 0189dd4d7..5b53c9a2f 100644 --- a/Manifest.toml +++ b/Manifest.toml @@ -8,9 +8,9 @@ version = "0.5.0" [[AbstractMCMC]] deps = ["ConsoleProgressMonitor", "Distributed", "Logging", "LoggingExtras", "ProgressLogging", "Random", "StatsBase", "TerminalLoggers"] -git-tree-sha1 = "fbfbc0d2e44f8249c88868bcef2810527cd3522b" +git-tree-sha1 = "31a0a7b957525748e05599488ca6eef476fef12b" uuid = "80f14c24-f653-4e6a-9b94-39d6b0f70001" -version = "0.5.6" +version = "1.0.1" [[AbstractTrees]] deps = ["Markdown"] @@ -32,15 +32,27 @@ version = "0.2.24" [[AdvancedMH]] deps = ["AbstractMCMC", "Distributions", "Random", "Requires"] -git-tree-sha1 = "372c0685ebed177af7972004561e6841d9b031b8" +git-tree-sha1 = "0703b7faff778c7f9d2524655d50019cb6291b15" uuid = "5b7e9947-ddc0-4b3f-9b55-0d8042f74170" -version = "0.4.1" +version = "0.5.0" + +[[ApproxBayes]] +deps = ["DelimitedFiles", "Distances", "Distributions", "Printf", "ProgressMeter", "Random", "RecipesBase", "Statistics", "StatsBase"] +git-tree-sha1 = "8ece4d5d6c4c1157cbcc1c21e3082eb8c0c00c7b" +uuid = "f5f396d3-230c-5e07-80e6-9fadf06146cc" +version = "0.3.2" [[ArgCheck]] git-tree-sha1 = "59c256cf71c3982484ae4486ee86a3d7da891dea" uuid = "dce04be8-c92d-5529-be00-80e4d2c0e197" version = "2.0.0" +[[ArnoldiMethod]] +deps = ["DelimitedFiles", "LinearAlgebra", "Random", "SparseArrays", "StaticArrays", "Test"] +git-tree-sha1 = "2b6845cea546604fb4dca4e31414a6a59d39ddcd" +uuid = "ec485272-7323-5ecc-a04f-4719b315124d" +version = "0.0.4" + [[Arpack]] deps = ["Arpack_jll", "Libdl", "LinearAlgebra"] git-tree-sha1 = "2ff92b71ba1747c5fdd541f8fc87736d82f40ec9" @@ -61,9 +73,9 @@ version = "2.8.7" [[ArrayLayouts]] deps = ["FillArrays", "LinearAlgebra"] -git-tree-sha1 = "5a57a6158c1d340635a89d19beb34b0f325a4431" +git-tree-sha1 = "a504dca2ac7eda8761c8f7c1ed52427a1be75a3c" uuid = "4c555306-a7a7-4459-81d9-ec55ddd5c99a" -version = "0.2.5" +version = "0.2.6" [[AxisAlgorithms]] deps = ["LinearAlgebra", "Random", "SparseArrays", "WoodburyMatrices"] @@ -88,15 +100,15 @@ version = "0.5.0" [[Bijectors]] deps = ["ArgCheck", "Compat", "Distributions", "LinearAlgebra", "MappedArrays", "NNlib", "Random", "Reexport", "Requires", "Roots", "SparseArrays", "Statistics", "StatsFuns"] -git-tree-sha1 = "3ba8eb8e5ea05bc5c3fa2617f4e362e7c528d004" +git-tree-sha1 = "1db975dd3ac386dd91b434e50a1eddb82e1ddaa3" uuid = "76274a88-744f-5084-9051-94815aaf08c4" -version = "0.6.7" +version = "0.7.2" [[BinaryProvider]] deps = ["Libdl", "Logging", "SHA"] -git-tree-sha1 = "428e9106b1ff27593cbd979afac9b45b82372b8c" +git-tree-sha1 = "ecdec412a9abc8db54c0efc5548c64dfce072058" uuid = "b99e7846-7c00-51b0-8f62-c81ae34c0232" -version = "0.5.9" +version = "0.5.10" [[Bzip2_jll]] deps = ["Libdl", "Pkg"] @@ -105,9 +117,9 @@ uuid = "6e34b625-4abd-537c-b88f-471c36dfa7a0" version = "1.0.6+2" [[CEnum]] -git-tree-sha1 = "62847acab40e6855a9b5905ccb99c2b5cf6b3ebb" +git-tree-sha1 = "1b77a77c3b28e0b3f413f7567c9bb8dd9bdccd14" uuid = "fa961155-64e5-5f13-b03f-caf6b980ea82" -version = "0.2.0" +version = "0.3.0" [[CSV]] deps = ["CategoricalArrays", "DataFrames", "Dates", "FilePathsBase", "Mmap", "Parsers", "PooledArrays", "Tables", "Unicode", "WeakRefStrings"] @@ -123,15 +135,21 @@ version = "4.0.0" [[CUDAdrv]] deps = ["CEnum", "CUDAapi", "Printf"] -git-tree-sha1 = "17248da4169c0cdd1699da542f8e110fe4168af6" +git-tree-sha1 = "f56bbf18c86bcff7a961a32a4947a5abb2963a29" uuid = "c5f51814-7f29-56b8-a69c-e4d8f6be1fde" -version = "6.2.3" +version = "6.3.0" [[CUDAnative]] -deps = ["Adapt", "BinaryProvider", "CEnum", "CUDAapi", "CUDAdrv", "Cthulhu", "DataStructures", "ExprTools", "InteractiveUtils", "LLVM", "Libdl", "Pkg", "Printf", "TimerOutputs"] -git-tree-sha1 = "0da071ed49a6f5f62d5164de071daa07cedaa1e6" +deps = ["Adapt", "BinaryProvider", "CEnum", "CUDAapi", "CUDAdrv", "ExprTools", "GPUCompiler", "LLVM", "Libdl", "Pkg", "Printf"] +git-tree-sha1 = "ac86db2b05fdfec96b011e25a504ffe7476e8a68" uuid = "be33ccc6-a3ff-5ff2-a52e-74243cff1e17" -version = "3.0.4" +version = "3.1.0" + +[[CanonicalTraits]] +deps = ["MLStyle"] +git-tree-sha1 = "1728d2633a206e931daf818309d90eb39c1ce93b" +uuid = "a603d957-0e48-4f86-8fbd-0b7bc66df689" +version = "0.2.1" [[CategoricalArrays]] deps = ["Compat", "DataAPI", "Future", "JSON", "Missings", "Printf", "Reexport", "Statistics", "Unicode"] @@ -139,11 +157,17 @@ git-tree-sha1 = "23d7324164c89638c18f6d7f90d972fa9c4fa9fb" uuid = "324d7699-5711-5eae-9e2f-1d82baa6b597" version = "0.7.7" +[[ChainRulesCore]] +deps = ["MuladdMacro"] +git-tree-sha1 = "32e2c6e44d4fdd985b5688b5e85c1f6892cf3d15" +uuid = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" +version = "0.8.0" + [[Clustering]] deps = ["Distances", "LinearAlgebra", "NearestNeighbors", "Printf", "SparseArrays", "Statistics", "StatsBase"] -git-tree-sha1 = "7846d785d9e4bcc904b70689bde8413f85b0ca20" +git-tree-sha1 = "225b796b1aa8b2e5c9c90bfb1f6779772d08bc00" uuid = "aaaa29a8-35af-508c-8bc3-b662a17a0fe5" -version = "0.14.0" +version = "0.13.4" [[CodeTracking]] deps = ["InteractiveUtils", "UUIDs"] @@ -152,28 +176,33 @@ uuid = "da1fd8a2-8d9e-5ec2-8556-3022fb5608a2" version = "0.5.11" [[CodecZlib]] -deps = ["TranscodingStreams", "Zlib_jll"] -git-tree-sha1 = "ded953804d019afa9a3f98981d99b33e3db7b6da" +deps = ["BinaryProvider", "Libdl", "TranscodingStreams"] +git-tree-sha1 = "05916673a2627dd91b4969ff8ba6941bc85a960e" uuid = "944b1d66-785c-5afd-91f1-9de20f533193" -version = "0.7.0" +version = "0.6.0" + +[[ColorSchemes]] +deps = ["ColorTypes", "Colors", "FixedPointNumbers", "Random", "StaticArrays"] +git-tree-sha1 = "7a15e3690529fd1042f0ab954dff7445b1efc8a5" +uuid = "35d6a980-a343-548e-a6ea-1d62b119f2f4" +version = "3.9.0" [[ColorTypes]] deps = ["FixedPointNumbers", "Random"] -git-tree-sha1 = "b9de8dc6106e09c79f3f776c27c62360d30e5eb8" +git-tree-sha1 = "c73d9cfc2a9d8433dc77f5bff4bddf46b1d78c20" uuid = "3da002f7-5984-5a60-b8a6-cbb66c0b333f" -version = "0.9.1" +version = "0.10.3" [[Colors]] -deps = ["ColorTypes", "FixedPointNumbers", "InteractiveUtils", "Printf", "Reexport"] -git-tree-sha1 = "177d8b959d3c103a6d57574c38ee79c81059c31b" +deps = ["ColorTypes", "FixedPointNumbers", "InteractiveUtils", "Reexport"] +git-tree-sha1 = "db9c215e2d92379d341e40dd1d5be893af2bfeb2" uuid = "5ae59095-9a9b-59fe-a467-6f913c188581" -version = "0.11.2" +version = "0.12.1" [[Combinatorics]] -deps = ["Polynomials"] -git-tree-sha1 = "8153f2c7cc4446958920242c4caa3dc0e061918f" +git-tree-sha1 = "08c8b6831dc00bfea825826be0bc8336fc369860" uuid = "861a8166-3701-5b0c-9a16-15d98fcdc6aa" -version = "1.0.1" +version = "1.0.2" [[CommonSubexpressions]] deps = ["Test"] @@ -183,9 +212,9 @@ version = "0.2.0" [[Compat]] deps = ["Base64", "Dates", "DelimitedFiles", "Distributed", "InteractiveUtils", "LibGit2", "Libdl", "LinearAlgebra", "Markdown", "Mmap", "Pkg", "Printf", "REPL", "Random", "SHA", "Serialization", "SharedArrays", "Sockets", "SparseArrays", "Statistics", "Test", "UUIDs", "Unicode"] -git-tree-sha1 = "fecfed095803b86cc06fd7ee09d3d2c98fad4dac" +git-tree-sha1 = "48c20c43e157c6eab6cf88326504ec042b05e456" uuid = "34da2185-b29b-5c13-b0c7-acf172513d20" -version = "3.9.0" +version = "3.10.0" [[CompilerSupportLibraries_jll]] deps = ["Libdl", "Pkg"] @@ -211,23 +240,34 @@ git-tree-sha1 = "3ab7b2136722890b9af903859afcf457fa3059e8" uuid = "88cd18e8-d9cc-4ea6-8889-5259c0d15c8b" version = "0.1.2" +[[ConstructionBase]] +git-tree-sha1 = "a2a6a5fea4d6f730ec4c18a76d27ec10e8ec1c50" +uuid = "187b0558-2788-49d3-abe0-74a17ed4e7c9" +version = "1.0.0" + [[Contour]] deps = ["StaticArrays"] -git-tree-sha1 = "6d56f927b33d3820561b8f89d7de311718683846" +git-tree-sha1 = "0b17db36e7e03f8437e0d1f55aea3e4a60c74353" uuid = "d38c429a-6771-53c6-b99e-75d170b6e991" -version = "0.5.2" +version = "0.5.3" + +[[CpuId]] +deps = ["Markdown", "Test"] +git-tree-sha1 = "f0464e499ab9973b43c20f8216d088b61fda80c6" +uuid = "adafc99b-e345-5852-983c-f28acb93d879" +version = "0.2.2" [[Cthulhu]] -deps = ["CodeTracking", "InteractiveUtils", "REPL", "Unicode"] -git-tree-sha1 = "a4849ec61df9659423cc63b298ed895904ee9743" +deps = ["CodeTracking", "InteractiveUtils", "REPL", "UUIDs", "Unicode"] +git-tree-sha1 = "f3643e78353199d3097821e806348bd83f364155" uuid = "f68482b8-f384-11e8-15f7-abe071a5a75f" -version = "1.0.2" +version = "1.1.1" [[CuArrays]] deps = ["AbstractFFTs", "Adapt", "CEnum", "CUDAapi", "CUDAdrv", "CUDAnative", "DataStructures", "GPUArrays", "Libdl", "LinearAlgebra", "MacroTools", "NNlib", "Pkg", "Printf", "Random", "Reexport", "Requires", "SparseArrays", "Statistics", "TimerOutputs"] -git-tree-sha1 = "ad04351946e2ee59a0f1295de28a750dc4917704" +git-tree-sha1 = "870a4ac61e99c36f42d15e496fd290c841541d90" uuid = "3a865a2d-5b23-5a0f-bc46-62713ec82fae" -version = "2.1.0" +version = "2.2.0" [[DataAPI]] git-tree-sha1 = "176e23402d80e7743fc26c19c681bfb11246af32" @@ -242,9 +282,9 @@ version = "0.20.2" [[DataStructures]] deps = ["InteractiveUtils", "OrderedCollections"] -git-tree-sha1 = "6166ecfaf2b8bbf2b68d791bc1d54501f345d314" +git-tree-sha1 = "af6d9c86e191c917c2276fbede1137e8ea20157f" uuid = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8" -version = "0.17.15" +version = "0.17.17" [[DataValueInterfaces]] git-tree-sha1 = "bfc1187b79289637fa0ef6d4436ebdfe6905cbd6" @@ -265,6 +305,24 @@ uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" deps = ["Mmap"] uuid = "8bb1440f-4735-579b-a4ab-409b98df4dab" +[[DiffEqBase]] +deps = ["ArrayInterface", "ChainRulesCore", "ConsoleProgressMonitor", "DataStructures", "Distributed", "DocStringExtensions", "FunctionWrappers", "IterativeSolvers", "IteratorInterfaceExtensions", "LabelledArrays", "LinearAlgebra", "Logging", "LoggingExtras", "MuladdMacro", "Parameters", "Printf", "ProgressLogging", "RecipesBase", "RecursiveArrayTools", "RecursiveFactorization", "Requires", "Roots", "SparseArrays", "StaticArrays", "Statistics", "SuiteSparse", "TableTraits", "TerminalLoggers", "TreeViews", "ZygoteRules"] +git-tree-sha1 = "b269aefc5885524cd885f4bee9a233e7b6b6b6e5" +uuid = "2b5f629d-d688-5b77-993f-72d75c75574e" +version = "6.35.2" + +[[DiffEqBayes]] +deps = ["ApproxBayes", "DiffEqBase", "DiffResults", "Distances", "Distributed", "Distributions", "DocStringExtensions", "DynamicHMC", "ForwardDiff", "LabelledArrays", "LinearAlgebra", "LogDensityProblems", "MacroTools", "Missings", "ModelingToolkit", "Optim", "PDMats", "Parameters", "Random", "RecursiveArrayTools", "Reexport", "Requires", "StructArrays", "TransformVariables", "Turing"] +git-tree-sha1 = "5a5e262bc4b9cf217f30fbc5def971f1c09b7fe5" +uuid = "ebbdde9d-f333-5424-9be2-dbf1e9acfb5e" +version = "2.14.1" + +[[DiffEqJump]] +deps = ["Compat", "DataStructures", "DiffEqBase", "FunctionWrappers", "LinearAlgebra", "Parameters", "PoissonRandom", "Random", "RandomNumbers", "RecursiveArrayTools", "StaticArrays", "Statistics", "TreeViews"] +git-tree-sha1 = "a3a329e7a078cba4a3f5a00d2d788f4a974677a1" +uuid = "c894b116-72e5-5b58-be3c-e6d8d4ac2b12" +version = "6.7.5" + [[DiffResults]] deps = ["StaticArrays"] git-tree-sha1 = "da24935df8e0c6cf28de340b958f6aac88eaa0cc" @@ -279,9 +337,9 @@ version = "1.0.1" [[Distances]] deps = ["LinearAlgebra", "Statistics"] -git-tree-sha1 = "23717536c81b63e250f682b0e0933769eecd1411" +git-tree-sha1 = "bed62cc5afcff16de797a9f38fb358b74071f785" uuid = "b4f34e82-e78d-54a5-968a-f98e89d6e8f7" -version = "0.8.2" +version = "0.9.0" [[Distributed]] deps = ["Random", "Serialization", "Sockets"] @@ -294,10 +352,10 @@ uuid = "31c24e10-a181-5473-b8eb-7969acd0382f" version = "0.23.2" [[DistributionsAD]] -deps = ["Combinatorics", "Compat", "DiffRules", "Distributions", "FillArrays", "ForwardDiff", "LinearAlgebra", "MacroTools", "NaNMath", "PDMats", "Random", "ReverseDiff", "SpecialFunctions", "StaticArrays", "StatsBase", "StatsFuns", "Tracker", "Zygote", "ZygoteRules"] -git-tree-sha1 = "36a22eb28149ee922925e0fe3f19f77a9e645d71" +deps = ["Combinatorics", "Compat", "DiffRules", "Distributions", "FillArrays", "ForwardDiff", "LinearAlgebra", "MacroTools", "NaNMath", "PDMats", "Random", "Requires", "SpecialFunctions", "StaticArrays", "StatsBase", "StatsFuns", "Tracker", "ZygoteRules"] +git-tree-sha1 = "dfd9c992785bbd7e97dc99d7c110e1f9ab07e753" uuid = "ced4e74d-a319-5a8a-b0ac-84af2272839c" -version = "0.4.10" +version = "0.5.3" [[DocStringExtensions]] deps = ["LibGit2", "Markdown", "Pkg", "Test"] @@ -307,15 +365,21 @@ version = "0.8.1" [[Documenter]] deps = ["Base64", "Dates", "DocStringExtensions", "InteractiveUtils", "JSON", "LibGit2", "Logging", "Markdown", "REPL", "Test", "Unicode"] -git-tree-sha1 = "dcdea9bcd4126be143b4367b32affaff12bd4d08" +git-tree-sha1 = "395fa1554c69735802bba37d9e7d9586fd44326c" uuid = "e30172f5-a6a5-5a46-863b-614d45cd2de4" -version = "0.24.10" +version = "0.24.11" + +[[DynamicHMC]] +deps = ["ArgCheck", "DocStringExtensions", "LinearAlgebra", "LogDensityProblems", "NLSolversBase", "Optim", "Parameters", "Random", "Statistics"] +git-tree-sha1 = "970309540e8e8c30831c191f7967d2b64b050e2c" +uuid = "bbc10e6e-7c05-544b-b16e-64fede858acb" +version = "2.1.5" [[DynamicPPL]] -deps = ["AbstractMCMC", "Bijectors", "Distributions", "MacroTools"] -git-tree-sha1 = "4a86f4d236808e1a92bff10e71833f39c54ff075" +deps = ["AbstractMCMC", "Bijectors", "Distributions", "MacroTools", "Random", "ZygoteRules"] +git-tree-sha1 = "653884bb5fe328060eda26a536366637ee8f076c" uuid = "366bfd00-2699-11ea-058f-f148b4cae6d8" -version = "0.5.0" +version = "0.8.0" [[EllipsisNotation]] git-tree-sha1 = "65dad386e877850e6fce4fc77f60fe75a468ce9d" @@ -347,9 +411,9 @@ version = "0.3.0" [[FFMPEG_jll]] deps = ["Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "LAME_jll", "LibVPX_jll", "Libdl", "Ogg_jll", "OpenSSL_jll", "Opus_jll", "Pkg", "Zlib_jll", "libass_jll", "libfdk_aac_jll", "libvorbis_jll", "x264_jll", "x265_jll"] -git-tree-sha1 = "814bf7865005bee373521cb49cad46182bec53b4" +git-tree-sha1 = "0fa07f43e5609ea54848b82b4bb330b250e9645b" uuid = "b22a6f82-2f65-5046-a5b2-351ab43fb4e5" -version = "4.1.0+2" +version = "4.1.0+3" [[FFTW]] deps = ["AbstractFFTs", "FFTW_jll", "IntelOpenMP_jll", "Libdl", "LinearAlgebra", "MKL_jll", "Reexport"] @@ -377,20 +441,20 @@ version = "0.7.0" [[FillArrays]] deps = ["LinearAlgebra", "Random", "SparseArrays"] -git-tree-sha1 = "5322d34d7600d3429665b37bcf7628dc602a28cc" +git-tree-sha1 = "44f561e293987ffc84272cd3d2b14b0b93123d63" uuid = "1a297f60-69ca-5386-bcde-b61e274b549b" -version = "0.8.8" +version = "0.8.10" [[FiniteDiff]] deps = ["ArrayInterface", "LinearAlgebra", "Requires", "SparseArrays", "StaticArrays"] -git-tree-sha1 = "f60e5d6944975f7140bde67278e10b6b01fb4f29" +git-tree-sha1 = "fec7c2cb45c27071ef487fa7cae4fcac7509aa10" uuid = "6a86dc24-6348-571c-b903-95158fe2bd41" -version = "2.3.0" +version = "2.3.2" [[FixedPointNumbers]] -git-tree-sha1 = "4aaea64dd0c30ad79037084f8ca2b94348e65eaa" +git-tree-sha1 = "3ba9ea634d4c8b289d590403b4a06f8e227a6238" uuid = "53c48c17-4a7d-5ca2-90c5-79b7896eea93" -version = "0.7.1" +version = "0.8.0" [[Flux]] deps = ["AbstractTrees", "Adapt", "CodecZlib", "Colors", "CuArrays", "DelimitedFiles", "Juno", "MacroTools", "NNlib", "Pkg", "Printf", "Random", "Reexport", "SHA", "Statistics", "StatsBase", "Test", "ZipFile", "Zygote"] @@ -418,9 +482,9 @@ version = "2.10.1+2" [[FriBidi_jll]] deps = ["Libdl", "Pkg"] -git-tree-sha1 = "e479537bf8a8f060c546553c14fd0633978dda7e" +git-tree-sha1 = "2f56bee16bd0151de7b6a1eeea2ced190a2ad8d4" uuid = "559328eb-81f9-559d-9380-de523a88c83c" -version = "1.0.5+2" +version = "1.0.5+3" [[FunctionWrappers]] git-tree-sha1 = "e4813d187be8c7b993cb7f85cbf2b7bfbaadc694" @@ -439,15 +503,27 @@ version = "1.3.9" [[GPUArrays]] deps = ["AbstractFFTs", "Adapt", "LinearAlgebra", "Printf", "Random", "Serialization"] -git-tree-sha1 = "c63cb01e3b6f48ab39f1e35c31ba870650814a18" +git-tree-sha1 = "5f90fd4385ae86ab56cdd9bd4717f7bd2ff2acdf" uuid = "0c68f7d7-f131-5f86-a1c3-88cf8149b2d7" -version = "3.2.0" +version = "3.4.0" + +[[GPUCompiler]] +deps = ["Cthulhu", "DataStructures", "InteractiveUtils", "LLVM", "Libdl", "TimerOutputs"] +git-tree-sha1 = "5275aa268ecd09640b32560e1eae90c78816e4d1" +uuid = "61eb1bfa-7361-4325-ad38-22787b887f55" +version = "0.2.0" [[GR]] deps = ["Base64", "DelimitedFiles", "LinearAlgebra", "Printf", "Random", "Serialization", "Sockets", "Test", "UUIDs"] -git-tree-sha1 = "7ea6f715b7caa10d7ee16f1cfcd12f3ccc74116a" +git-tree-sha1 = "1185d50c5c90ec7c0784af7f8d0d1a600750dc4d" uuid = "28b8d3ca-fb5f-59d9-8090-bfdbd6d07a71" -version = "0.48.0" +version = "0.49.1" + +[[GeneralizedGenerated]] +deps = ["CanonicalTraits", "DataStructures", "JuliaVariables", "MLStyle"] +git-tree-sha1 = "146f340e092dfe5427fb98c32a580368716c2c57" +uuid = "6b9d7cbe-bcb9-11e9-073f-15a7a543e2eb" +version = "0.2.3" [[GeometryTypes]] deps = ["ColorTypes", "FixedPointNumbers", "LinearAlgebra", "StaticArrays"] @@ -463,9 +539,14 @@ version = "0.4.5" [[IRTools]] deps = ["InteractiveUtils", "MacroTools", "Test"] -git-tree-sha1 = "8845400bd2d9815d37720251f1b53d27a335e1f4" +git-tree-sha1 = "90ee39f9beaaa186e4968417ea2b8ed5673c91c0" uuid = "7869d1d1-7146-5819-86e3-90919afe41df" -version = "0.3.2" +version = "0.3.3" + +[[Inflate]] +git-tree-sha1 = "f5fc07d4e706b84f72d54eedcc1c13d92fb0871c" +uuid = "d25df0c9-e2be-5dd7-82c8-3ad0b3e990b9" +version = "0.1.2" [[InplaceOps]] deps = ["LinearAlgebra", "Test"] @@ -485,21 +566,15 @@ uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240" [[Interpolations]] deps = ["AxisAlgorithms", "LinearAlgebra", "OffsetArrays", "Random", "Ratios", "SharedArrays", "SparseArrays", "StaticArrays", "WoodburyMatrices"] -git-tree-sha1 = "3af735234d9b1ff9ff1af89875735cd9549c0c5f" +git-tree-sha1 = "2b7d4e9be8b74f03115e64cf36ed2f48ae83d946" uuid = "a98d9a8b-a2ab-59e6-89dd-64a1c18fca59" -version = "0.12.9" +version = "0.12.10" [[IntervalSets]] deps = ["Dates", "EllipsisNotation", "Statistics"] -git-tree-sha1 = "2daa370870d2a4d198642277d050aa7d34a7cad2" +git-tree-sha1 = "3b1cef135bc532b3c3401b309e1b8a2a2ba26af5" uuid = "8197267c-284f-5f27-9208-e0e47529a953" -version = "0.5.0" - -[[Intervals]] -deps = ["Dates", "Printf", "RecipesBase", "TimeZones"] -git-tree-sha1 = "5e9938f4dff72e5ed4c0f7fbe34b204cbabcf43a" -uuid = "d8418881-c3e1-53bb-8760-2df7ec849ed5" -version = "1.1.0" +version = "0.5.1" [[InvertedIndices]] deps = ["Test"] @@ -512,6 +587,12 @@ git-tree-sha1 = "05110a2ab1fc5f932622ffea2a003221f4782c18" uuid = "c8e1da08-722c-5040-9ed9-7db0dc04731e" version = "1.3.0" +[[IterativeSolvers]] +deps = ["LinearAlgebra", "Printf", "Random", "RecipesBase", "SparseArrays"] +git-tree-sha1 = "3b7e2aac8c94444947facea7cc7ca91c49169be0" +uuid = "42fd0dbc-a981-5370-80f2-aaf504508153" +version = "0.8.4" + [[IteratorInterfaceExtensions]] git-tree-sha1 = "a3f24677c21f5bbe9d2a714f95dcd58337fb2856" uuid = "82899510-4779-5014-852e-03e436cf321d" @@ -523,11 +604,17 @@ git-tree-sha1 = "b34d7cef7b337321e97d22242c3c2b91f476748e" uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" version = "0.21.0" +[[JuliaVariables]] +deps = ["MLStyle", "NameResolution"] +git-tree-sha1 = "8868479ff35ab98588ed0a529a9c2a4f8bda3bd6" +uuid = "b14d175d-62b4-44ba-8fb7-3064adc8c3ec" +version = "0.2.0" + [[Juno]] deps = ["Base64", "Logging", "Media", "Profile"] -git-tree-sha1 = "e1ba2a612645b3e07c773c3a208f215745081fe6" +git-tree-sha1 = "a686b0cf235fa3e491b79b4783c2d2382292b436" uuid = "e5e0dc1b-0480-54bc-9374-aad01c23163d" -version = "0.8.1" +version = "0.8.2" [[KernelDensity]] deps = ["Distributions", "FFTW", "Interpolations", "Optim", "StatsBase", "Test"] @@ -537,21 +624,33 @@ version = "0.5.1" [[LAME_jll]] deps = ["Libdl", "Pkg"] -git-tree-sha1 = "a46bff84977753fdba8db3c50db1435bb1eb4288" +git-tree-sha1 = "221cc8998b9060677448cbb6375f00032554c4fd" uuid = "c1c5ebd0-6772-5130-a774-d5fcae4a789d" -version = "3.100.0+0" +version = "3.100.0+1" [[LLVM]] deps = ["CEnum", "Libdl", "Printf", "Unicode"] -git-tree-sha1 = "b6b86801ae2f2682e0a4889315dc76b68db2de71" +git-tree-sha1 = "dd3f584c3dbefe39b2a8fbafa1a3b77e31e21255" uuid = "929cbde3-209d-540e-8aea-75f648917ca0" -version = "1.3.4" +version = "1.5.1" [[LaTeXStrings]] git-tree-sha1 = "de44b395389b84fd681394d4e8d39ef14e3a2ea8" uuid = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f" version = "1.1.0" +[[LabelledArrays]] +deps = ["ArrayInterface", "LinearAlgebra", "MacroTools", "StaticArrays"] +git-tree-sha1 = "674c830a4ac858e877906405410471f5af2a4756" +uuid = "2ee39098-c373-598a-b85f-a56591580800" +version = "1.2.1" + +[[Latexify]] +deps = ["Formatting", "InteractiveUtils", "LaTeXStrings", "MacroTools", "Markdown", "Printf", "Requires"] +git-tree-sha1 = "3a94cd323ba13154cf1cfc9eac2a5c4f8d844445" +uuid = "23fbe1c1-3f47-55db-b15f-69d7ec21a316" +version = "0.13.2" + [[LearnBase]] deps = ["LinearAlgebra", "StatsBase"] git-tree-sha1 = "47e6f4623c1db88570c7a7fa66c6528b92ba4725" @@ -585,9 +684,15 @@ version = "1.16.0+2" [[Libtask]] deps = ["BinaryProvider", "Libdl", "Pkg"] -git-tree-sha1 = "3834b76e8dff6beef8ec8c39ec54b82ac9c25676" +git-tree-sha1 = "68a658db4792dfc468ea2aabcf06f3f74f153f23" uuid = "6f1fad26-d15e-5dc8-ae53-837a1d7b8c9f" -version = "0.3.4" +version = "0.4.1" + +[[LightGraphs]] +deps = ["ArnoldiMethod", "DataStructures", "Distributed", "Inflate", "LinearAlgebra", "Random", "SharedArrays", "SimpleTraits", "SparseArrays", "Statistics"] +git-tree-sha1 = "6f85a35d2377cb2db1bc448ed0d6340d2bb1ea64" +uuid = "093fc24a-ae57-5d10-9952-331d41423f4d" +version = "1.3.3" [[LineSearches]] deps = ["LinearAlgebra", "NLSolversBase", "NaNMath", "Parameters", "Printf", "Test"] @@ -613,11 +718,11 @@ git-tree-sha1 = "c867b50bfc564f0beded1c566f4fc66cfd8b5418" uuid = "e6f89c97-d47a-5376-807f-9c37f3926c36" version = "0.4.0" -[[MCMCChain]] -deps = ["Distributions", "LinearAlgebra", "Pkg", "RecipesBase", "Serialization", "Showoff", "SpecialFunctions", "StatsBase", "Test"] -git-tree-sha1 = "5db661f28ccfbf7c0844e7cc067cc94161b93ab8" -uuid = "1671dc4f-43c8-512c-ab25-e1704a74065e" -version = "0.2.3" +[[LoopVectorization]] +deps = ["DocStringExtensions", "LinearAlgebra", "OffsetArrays", "SIMDPirates", "SLEEFPirates", "UnPack", "VectorizationBase"] +git-tree-sha1 = "525d6a27998afeac6b30a92e5cd3bfe4ae246652" +uuid = "bdcacae8-1622-11e9-2a5c-532679323890" +version = "0.8.1" [[MCMCChains]] deps = ["AbstractMCMC", "AxisArrays", "Distributions", "Formatting", "LinearAlgebra", "Random", "RecipesBase", "Requires", "Serialization", "SpecialFunctions", "Statistics", "StatsBase"] @@ -649,6 +754,11 @@ git-tree-sha1 = "50bbf776ef1b88075e27f1eb97e50dccfa382d58" uuid = "66a33bbf-0c2b-5fc8-a008-9da813334f0a" version = "0.5.2" +[[MLStyle]] +git-tree-sha1 = "67f9a88611bc79f992aa705d9bbc833a2547dec7" +uuid = "d8e11817-5142-5d16-987a-aa16d5891078" +version = "0.3.1" + [[MacroTools]] deps = ["Markdown", "Random"] git-tree-sha1 = "f7d2e3f654af75f01ec49be82c231c382214223a" @@ -690,6 +800,17 @@ git-tree-sha1 = "916b850daad0d46b8c71f65f719c49957e9513ed" uuid = "78c3b35d-d492-501b-9361-3d52fe80e533" version = "0.7.1" +[[ModelingToolkit]] +deps = ["ArrayInterface", "DataStructures", "DiffEqBase", "DiffEqJump", "DiffRules", "Distributed", "DocStringExtensions", "GeneralizedGenerated", "Latexify", "LightGraphs", "LinearAlgebra", "MacroTools", "NaNMath", "RecursiveArrayTools", "SafeTestsets", "SparseArrays", "SpecialFunctions", "StaticArrays", "SymbolicUtils", "TreeViews", "UnPack", "Unitful"] +git-tree-sha1 = "6bbbe56dae5cc58d1eda0b75678f24ec692051e7" +uuid = "961ee093-0014-501f-94e3-6117800e7a78" +version = "3.6.4" + +[[MuladdMacro]] +git-tree-sha1 = "c6190f9a7fc5d9d5915ab29f2134421b12d24a68" +uuid = "46d2c3a1-f734-5fdb-9937-b9b9aeba4221" +version = "0.2.2" + [[MultivariateStats]] deps = ["Arpack", "LinearAlgebra", "SparseArrays", "Statistics", "StatsBase"] git-tree-sha1 = "352fae519b447bf52e6de627b89f448bcd469e4e" @@ -719,11 +840,23 @@ git-tree-sha1 = "928b8ca9b2791081dc71a51c55347c27c618760f" uuid = "77ba4419-2d1f-58cd-9bb1-8ffee604a2e3" version = "0.3.3" +[[NameResolution]] +deps = ["DataStructures", "PrettyPrint"] +git-tree-sha1 = "f4119274d5a410c64a1d9f546312bb6ae54d41c0" +uuid = "71a1bf82-56d0-4bbc-8a3c-48b961074391" +version = "0.1.3" + +[[NamedArrays]] +deps = ["Combinatorics", "DataStructures", "DelimitedFiles", "InvertedIndices", "LinearAlgebra", "Random", "Requires", "SparseArrays", "Statistics"] +git-tree-sha1 = "7d96d4c09526458d66ff84d7648be7eb7c38a547" +uuid = "86f7a689-2022-50b4-a561-43c23ac3c673" +version = "0.9.4" + [[NearestNeighbors]] deps = ["Distances", "StaticArrays"] -git-tree-sha1 = "8bc6180f328f3c0ea2663935db880d34c57d6eae" +git-tree-sha1 = "cd1e91835cc1de9dc1e7295c1c3b2a8858e574a7" uuid = "b8a86587-4115-5ab1-83bc-aa920d37bbce" -version = "0.4.4" +version = "0.4.5" [[Observables]] git-tree-sha1 = "11832878355305984235a2e90d0e3737383c634c" @@ -737,15 +870,15 @@ version = "1.0.4" [[Ogg_jll]] deps = ["Libdl", "Pkg"] -git-tree-sha1 = "f4d4d03c562f40652c0baabd3e4cb2e756e157b7" +git-tree-sha1 = "59cf7a95bf5ac39feac80b796e0f39f9d69dc887" uuid = "e7412a2a-1a6e-54c0-be00-318e2571c051" -version = "1.3.3+0" +version = "1.3.4+0" [[OpenBLAS_jll]] deps = ["CompilerSupportLibraries_jll", "Libdl", "Pkg"] -git-tree-sha1 = "2ee3e636e94b9fd95fa8364d5cba2e20dae16609" +git-tree-sha1 = "1887096f6897306a4662f7c5af936da7d5d1a062" uuid = "4536629a-c528-5b80-bd46-f80d51c5b363" -version = "0.3.9+2" +version = "0.3.9+4" [[OpenSSL_jll]] deps = ["Libdl", "Pkg"] @@ -761,9 +894,9 @@ version = "0.5.3+3" [[Optim]] deps = ["Compat", "FillArrays", "LineSearches", "LinearAlgebra", "NLSolversBase", "NaNMath", "Parameters", "PositiveFactorizations", "Printf", "SparseArrays", "StatsBase"] -git-tree-sha1 = "33af70b64e8ce2f2b857e3d5de7b71f67715c121" +git-tree-sha1 = "62054d469d3631960e3f472ceb8624be5b11c34d" uuid = "429524aa-4258-5aef-a3af-852621145aeb" -version = "0.21.0" +version = "0.20.6" [[Opus_jll]] deps = ["Libdl", "Pkg"] @@ -772,10 +905,9 @@ uuid = "91d4177d-7536-5919-b921-800302f37372" version = "1.3.1+1" [[OrderedCollections]] -deps = ["Random", "Serialization", "Test"] -git-tree-sha1 = "c4c13474d23c60d20a67b217f1d7f22a40edf8f1" +git-tree-sha1 = "12ce190210d278e12644bcadf5b21cbdcf225cd3" uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" -version = "1.1.0" +version = "1.2.0" [[PDMats]] deps = ["Arpack", "LinearAlgebra", "SparseArrays", "SuiteSparse", "Test"] @@ -784,16 +916,16 @@ uuid = "90014a1f-27ba-587c-ab20-58faa44d9150" version = "0.9.12" [[Parameters]] -deps = ["OrderedCollections"] -git-tree-sha1 = "b62b2558efb1eef1fa44e4be5ff58a515c287e38" +deps = ["OrderedCollections", "UnPack"] +git-tree-sha1 = "38b2e970043613c187bd56a995fe2e551821eb4a" uuid = "d96e819e-fc66-5662-9728-84c9c7592b0a" -version = "0.12.0" +version = "0.12.1" [[Parsers]] deps = ["Dates", "Test"] -git-tree-sha1 = "f8f5d2d4b4b07342e5811d2b6428e45524e241df" +git-tree-sha1 = "f0abb338b4d00306500056a3fd44c221b8473ef2" uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" -version = "1.0.2" +version = "1.0.4" [[Pkg]] deps = ["Dates", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "UUIDs"] @@ -801,27 +933,27 @@ uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" [[PlotThemes]] deps = ["PlotUtils", "Requires", "Statistics"] -git-tree-sha1 = "87a4ea7f8c350d87d3a8ca9052663b633c0b2722" +git-tree-sha1 = "c6f5ea535551b3b16835134697f0c65d06c94b91" uuid = "ccf2f8ad-2431-5c83-bf29-c5338b663b6a" -version = "1.0.3" +version = "2.0.0" [[PlotUtils]] -deps = ["Colors", "Dates", "Printf", "Random", "Reexport"] -git-tree-sha1 = "51e742162c97d35f714f9611619db6975e19384b" +deps = ["ColorSchemes", "Colors", "Dates", "Printf", "Random", "Reexport", "Statistics"] +git-tree-sha1 = "ce26340b638fdf02965a6a65aa7916d40a8c774c" uuid = "995b91a9-d308-5afd-9ec6-746e21dbc043" -version = "0.6.5" +version = "1.0.4" [[Plots]] -deps = ["Base64", "Contour", "Dates", "FFMPEG", "FixedPointNumbers", "GR", "GeometryTypes", "JSON", "LinearAlgebra", "Measures", "NaNMath", "Pkg", "PlotThemes", "PlotUtils", "Printf", "REPL", "Random", "RecipesBase", "Reexport", "Requires", "Showoff", "SparseArrays", "Statistics", "StatsBase", "UUIDs"] -git-tree-sha1 = "f226ff9b8e391f6a10891563c370aae8beb5d792" +deps = ["Base64", "Contour", "Dates", "FFMPEG", "FixedPointNumbers", "GR", "GeometryTypes", "JSON", "LinearAlgebra", "Measures", "NaNMath", "Pkg", "PlotThemes", "PlotUtils", "Printf", "REPL", "Random", "RecipesBase", "RecipesPipeline", "Reexport", "Requires", "Showoff", "SparseArrays", "Statistics", "StatsBase", "UUIDs"] +git-tree-sha1 = "1b0a6628c8408ef912f9d28307296851dbd9bf91" uuid = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" -version = "0.29.9" +version = "1.3.3" -[[Polynomials]] -deps = ["Intervals", "LinearAlgebra", "RecipesBase"] -git-tree-sha1 = "19f1b9e3f27702309880b9ccb051287729af7db4" -uuid = "f27b6e38-b328-58d1-80ce-0feddd5e7a45" -version = "0.8.0" +[[PoissonRandom]] +deps = ["Random", "Statistics", "Test"] +git-tree-sha1 = "44d018211a56626288b5d3f8c6497d28c26dc850" +uuid = "e409e4f3-bfea-5376-8464-e040bb5c01ab" +version = "0.4.0" [[PooledArrays]] deps = ["DataAPI"] @@ -835,6 +967,11 @@ git-tree-sha1 = "127c47b91990c101ee3752291c4f45640eeb03d1" uuid = "85a6dd25-e78a-55b7-8502-1745935b8125" version = "0.2.3" +[[PrettyPrint]] +git-tree-sha1 = "21e1f88cb73589ec39a1181f77eb444b5276151e" +uuid = "8162dcfd-2161-5ef2-ae6c-7681170c5f98" +version = "0.1.0" + [[Printf]] deps = ["Unicode"] uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7" @@ -851,9 +988,9 @@ version = "0.1.2" [[ProgressMeter]] deps = ["Distributed", "Printf"] -git-tree-sha1 = "ea1f4fa0ff5e8b771bf130d87af5b7ef400760bd" +git-tree-sha1 = "b3cb8834eee5410c7246734cc6f4f586fe0dc50e" uuid = "92933f4c-e287-5a05-a399-4b506db050ca" -version = "1.2.0" +version = "1.3.0" [[PyCall]] deps = ["Conda", "Dates", "Libdl", "LinearAlgebra", "MacroTools", "Serialization", "VersionParsing"] @@ -875,15 +1012,15 @@ version = "2.3.1" [[RData]] deps = ["CategoricalArrays", "CodecZlib", "DataFrames", "Dates", "FileIO", "Requires", "TimeZones"] -git-tree-sha1 = "cb2b11bbbb18a4317a1db0ef121626945c1db51e" +git-tree-sha1 = "820d9bf1ce85f99292656941482faa1e277e7247" uuid = "df47a6cb-8c03-5eed-afd8-b6050d6c41da" -version = "0.6.3" +version = "0.7.1" [[RDatasets]] deps = ["CSV", "CodecZlib", "DataFrames", "FileIO", "Printf", "RData", "Reexport"] -git-tree-sha1 = "4b5416052f975404c65faada929cb5b571ddca12" +git-tree-sha1 = "522cd00e7354cb39208a6c8040b1ccc421862ca4" uuid = "ce6b1742-4840-55fa-b093-852dadbb1d8b" -version = "0.6.7" +version = "0.6.8" [[REPL]] deps = ["InteractiveUtils", "Markdown", "Sockets"] @@ -893,6 +1030,12 @@ uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" deps = ["Serialization"] uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" +[[RandomNumbers]] +deps = ["Random", "Requires"] +git-tree-sha1 = "441e6fc35597524ada7f85e13df1f4e10137d16f" +uuid = "e6cf234a-135c-5ec9-84dd-332b85af5143" +version = "1.4.0" + [[RangeArrays]] git-tree-sha1 = "b9039e93773ddcfc828f12aadf7115b4b4d225f5" uuid = "b3c3ace0-ae52-54e7-9d0b-2c1406fd6b9d" @@ -904,9 +1047,27 @@ uuid = "c84ed2f1-dad5-54f0-aa8e-dbefe2724439" version = "0.4.0" [[RecipesBase]] -git-tree-sha1 = "b4ed4a7f988ea2340017916f7c9e5d7560b52cae" +git-tree-sha1 = "54f8ceb165a0f6d083f0d12cb4996f5367c6edbc" uuid = "3cdcf5f2-1ef4-517c-9805-6587b60abb01" -version = "0.8.0" +version = "1.0.1" + +[[RecipesPipeline]] +deps = ["Dates", "PlotUtils", "RecipesBase"] +git-tree-sha1 = "9215637e28503ca85bef843a1fc02b2f76f1ba09" +uuid = "01d81517-befc-4cb6-b9ec-a95719d0359c" +version = "0.1.9" + +[[RecursiveArrayTools]] +deps = ["ArrayInterface", "LinearAlgebra", "RecipesBase", "Requires", "StaticArrays", "Statistics", "ZygoteRules"] +git-tree-sha1 = "0a422065106506f75cd7a24caf49c17523884414" +uuid = "731186ca-8d62-57ce-b412-fbd966d074cd" +version = "2.3.3" + +[[RecursiveFactorization]] +deps = ["LinearAlgebra", "LoopVectorization"] +git-tree-sha1 = "09217cb106dd826de9960986207175b52e3035f2" +uuid = "f2c3362d-daeb-58d1-803e-2bc74f2840b4" +version = "0.1.2" [[Reexport]] deps = ["Pkg"] @@ -920,12 +1081,6 @@ git-tree-sha1 = "d37400976e98018ee840e0ca4f9d20baa231dc6b" uuid = "ae029012-a4dd-5104-9daa-d747884805df" version = "1.0.1" -[[ReverseDiff]] -deps = ["DiffResults", "DiffRules", "ForwardDiff", "FunctionWrappers", "LinearAlgebra", "MacroTools", "NaNMath", "Random", "SpecialFunctions", "StaticArrays", "Statistics"] -git-tree-sha1 = "1d4a01bc6fe181e4fef376affb3f90bad584b0f4" -uuid = "37e2e3b7-166d-5795-8a7a-e32c996b4267" -version = "1.2.0" - [[Rmath]] deps = ["Random", "Rmath_jll"] git-tree-sha1 = "86c5647b565873641538d8f812c04e4c9dbeb370" @@ -947,6 +1102,24 @@ version = "1.0.1" [[SHA]] uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" +[[SIMDPirates]] +deps = ["VectorizationBase"] +git-tree-sha1 = "1d175ca1d6e104ae7040f9f93acc34357667af90" +uuid = "21efa798-c60a-11e8-04d3-e1a92915a26a" +version = "0.8.4" + +[[SLEEFPirates]] +deps = ["Libdl", "SIMDPirates", "VectorizationBase"] +git-tree-sha1 = "c5c88ccad9e4aac35e7b4737bfc08296210b2d27" +uuid = "476501e8-09a2-5ece-8869-fb82de89a1fa" +version = "0.5.0" + +[[SafeTestsets]] +deps = ["Test"] +git-tree-sha1 = "36ebc5622c82eb9324005cc75e7e2cc51181d181" +uuid = "1bc83da4-3b8d-516f-aca4-4fe02f6d838f" +version = "0.0.1" + [[Serialization]] uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b" @@ -965,6 +1138,12 @@ git-tree-sha1 = "e032c9df551fb23c9f98ae1064de074111b7bc39" uuid = "992d4aef-0814-514b-bc4d-f2e9a6c4116f" version = "0.3.1" +[[SimpleTraits]] +deps = ["InteractiveUtils", "MacroTools"] +git-tree-sha1 = "2ee666b24ab8be6a922f9d6c11a86e1a703a7dda" +uuid = "699a6c99-e7fa-54fc-8d76-47d257e15c1d" +version = "0.9.2" + [[Sockets]] uuid = "6462fe0b-24de-5631-8697-dd941f90decc" @@ -980,15 +1159,15 @@ uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" [[SpecialFunctions]] deps = ["OpenSpecFun_jll"] -git-tree-sha1 = "e19b98acb182567bcb7b75bb5d9eedf3a3b5ec6c" +git-tree-sha1 = "d8d8b8a9f4119829410ecd706da4cc8594a1e020" uuid = "276daf66-3868-5448-9aa4-cd146d93841b" -version = "0.10.0" +version = "0.10.3" [[StaticArrays]] deps = ["LinearAlgebra", "Random", "Statistics"] -git-tree-sha1 = "4118cba3529e99af61aea9a83f7bfd3cff5ffb28" +git-tree-sha1 = "5c06c0aeb81bef54aed4b3f446847905eb6cbda0" uuid = "90137ffa-7385-5640-81b9-e52037218182" -version = "0.12.2" +version = "0.12.3" [[Statistics]] deps = ["LinearAlgebra", "SparseArrays"] @@ -1002,9 +1181,9 @@ version = "0.33.0" [[StatsFuns]] deps = ["Rmath", "SpecialFunctions"] -git-tree-sha1 = "f290ddd5fdedeadd10e961eb3f4d3340f09d030a" +git-tree-sha1 = "04a5a8e6ab87966b43f247920eab053fd5fdc925" uuid = "4c63d2b9-4356-54db-8cca-17b64c39e42c" -version = "0.9.4" +version = "0.9.5" [[StatsModels]] deps = ["DataAPI", "DataStructures", "LinearAlgebra", "ShiftedArrays", "SparseArrays", "StatsBase", "Tables"] @@ -1013,15 +1192,27 @@ uuid = "3eaba693-59b7-5ba5-a881-562e759f1c8d" version = "0.6.11" [[StatsPlots]] -deps = ["Clustering", "DataStructures", "DataValues", "Distributions", "Interpolations", "KernelDensity", "MultivariateStats", "Observables", "Plots", "RecipesBase", "Reexport", "StatsBase", "TableOperations", "Tables", "Widgets"] -git-tree-sha1 = "388e6588a1e09e763b0f38c498aeb350b5f76828" +deps = ["Clustering", "DataStructures", "DataValues", "Distributions", "Interpolations", "KernelDensity", "MultivariateStats", "Observables", "Plots", "RecipesBase", "RecipesPipeline", "Reexport", "StatsBase", "TableOperations", "Tables", "Widgets"] +git-tree-sha1 = "b9b7fff81f573465fcac4685df1497d968537a9e" uuid = "f3b207a7-027a-5e70-b257-86293d7955fd" -version = "0.14.5" +version = "0.14.6" + +[[StructArrays]] +deps = ["Adapt", "DataAPI", "Tables"] +git-tree-sha1 = "10ee2e9b8a222ef7aac886b12cc8c050db9a8a45" +uuid = "09ab397b-f2b6-538f-b94a-2f83cf4a842a" +version = "0.4.3" [[SuiteSparse]] deps = ["Libdl", "LinearAlgebra", "Serialization", "SparseArrays"] uuid = "4607b0f0-06f3-5cda-b6b1-a6196a1729e9" +[[SymbolicUtils]] +deps = ["Combinatorics", "NaNMath", "SpecialFunctions", "TimerOutputs"] +git-tree-sha1 = "7283b65889b16de32e61c81a9af9708806cb711a" +uuid = "d1185830-fcd6-423d-90d6-eec64667417b" +version = "0.3.2" + [[TableOperations]] deps = ["Tables", "Test"] git-tree-sha1 = "208630a14884abd110a8f8008b0882f0d0f5632c" @@ -1052,9 +1243,9 @@ uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40" [[TimeZones]] deps = ["Dates", "EzXML", "Mocking", "Printf", "RecipesBase", "Serialization", "Unicode"] -git-tree-sha1 = "07af1bd3226d644ca1a3235c93e7d0207ce4536a" +git-tree-sha1 = "db7bc2051d4c2e5f336409224df81485c00de6cb" uuid = "f269a46b-ccf7-5d73-abea-4c690281aa53" -version = "1.1.1" +version = "1.2.0" [[TimerOutputs]] deps = ["Printf"] @@ -1080,19 +1271,42 @@ git-tree-sha1 = "df748ba8b73996f2b46fe9103b45f75a4a5561e0" uuid = "84d833dd-6860-57f9-a1a7-6da5db126cff" version = "0.3.8" +[[TreeViews]] +deps = ["Test"] +git-tree-sha1 = "8d0d7a3fe2f30d6a7f833a5f19f7c7a5b396eae6" +uuid = "a2a6695c-b41b-5b7d-aed9-dbfdeacea5d7" +version = "0.3.0" + [[Turing]] -deps = ["AbstractMCMC", "AdvancedHMC", "AdvancedMH", "Bijectors", "Distributions", "DistributionsAD", "DocStringExtensions", "DynamicPPL", "EllipticalSliceSampling", "ForwardDiff", "Libtask", "LinearAlgebra", "LogDensityProblems", "MCMCChains", "ProgressLogging", "Random", "Reexport", "Requires", "SpecialFunctions", "Statistics", "StatsBase", "StatsFuns", "Tracker"] -git-tree-sha1 = "4fe47347e8f3ef91388195ad2e15ed6663817a5a" +deps = ["AbstractMCMC", "AdvancedHMC", "AdvancedMH", "Bijectors", "Distributions", "DistributionsAD", "DocStringExtensions", "DynamicPPL", "EllipticalSliceSampling", "ForwardDiff", "Libtask", "LinearAlgebra", "LogDensityProblems", "MCMCChains", "NamedArrays", "Printf", "ProgressLogging", "Random", "Reexport", "Requires", "SpecialFunctions", "Statistics", "StatsBase", "StatsFuns", "Tracker"] +git-tree-sha1 = "ceb184dd12f47f258396cff86f5e94c937a6ace1" uuid = "fce5fe82-541a-59a6-adf8-730c64b5f9a0" -version = "0.11.0" +version = "0.13.0" [[UUIDs]] deps = ["Random", "SHA"] uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4" +[[UnPack]] +git-tree-sha1 = "d4bfa022cd30df012700cf380af2141961bb3bfb" +uuid = "3a884ed6-31ef-47d7-9d2a-63182c4928ed" +version = "1.0.1" + [[Unicode]] uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5" +[[Unitful]] +deps = ["ConstructionBase", "LinearAlgebra", "Random"] +git-tree-sha1 = "3714b55de06b11b2aa788b8643d6e91f13648be5" +uuid = "1986cc42-f94f-5a68-af5c-568840ba703d" +version = "1.2.1" + +[[VectorizationBase]] +deps = ["CpuId", "LinearAlgebra"] +git-tree-sha1 = "13463c5703d9e75b2eab93f6c94239426af49221" +uuid = "3d5dd08c-fd9d-11e8-17fa-ed2836048c2f" +version = "0.12.3" + [[VersionParsing]] git-tree-sha1 = "80229be1f670524750d905f8fc8148e5a8c4537f" uuid = "81def892-9a0e-5fdd-b105-ffc91e053289" @@ -1105,10 +1319,10 @@ uuid = "ea10d353-3f73-51f8-a26c-33c1cb351aa5" version = "0.6.2" [[Weave]] -deps = ["Base64", "Dates", "Highlights", "JSON", "Markdown", "Mustache", "Printf", "REPL", "Requires", "Serialization", "YAML"] -git-tree-sha1 = "f4c004ae4ca7200a46fe1b454e11a0c7cec107c4" +deps = ["Base64", "Dates", "Highlights", "JSON", "Markdown", "Mustache", "Pkg", "Printf", "REPL", "Requires", "Serialization", "YAML"] +git-tree-sha1 = "62cd879ad070ff5f168d8b41756ef1275170e6ec" uuid = "44d3d7a6-8a23-5bf8-98c5-b353f8df5ec9" -version = "0.9.4" +version = "0.10.2" [[Widgets]] deps = ["Colors", "Dates", "Observables", "OrderedCollections"] @@ -1136,21 +1350,21 @@ version = "0.4.0" [[ZipFile]] deps = ["Libdl", "Printf", "Zlib_jll"] -git-tree-sha1 = "8748302cfdec02c4ae9c97b112cf10003f7f767f" +git-tree-sha1 = "254975fef2fc526583bb9b7c9420fe66ffe09f2f" uuid = "a5390f91-8eb1-5f08-bee0-b1d1ffed6cea" -version = "0.9.1" +version = "0.9.2" [[Zlib_jll]] deps = ["Libdl", "Pkg"] -git-tree-sha1 = "2f6c3e15e20e036ee0a0965879b31442b7ec50fa" +git-tree-sha1 = "a2e0d558f6031002e380a90613b199e37a8565bf" uuid = "83775a58-1f1d-513f-b197-d71354ab007a" -version = "1.2.11+9" +version = "1.2.11+10" [[Zygote]] -deps = ["AbstractFFTs", "ArrayLayouts", "DiffRules", "FillArrays", "ForwardDiff", "IRTools", "InteractiveUtils", "LinearAlgebra", "MacroTools", "NNlib", "NaNMath", "Random", "Requires", "SpecialFunctions", "Statistics", "ZygoteRules"] -git-tree-sha1 = "9d0610bc68e2ac9d3f852babb07c863248fb44eb" +deps = ["AbstractFFTs", "ArrayLayouts", "DiffRules", "FillArrays", "ForwardDiff", "Future", "IRTools", "InteractiveUtils", "LinearAlgebra", "MacroTools", "NNlib", "NaNMath", "Random", "Requires", "SpecialFunctions", "Statistics", "ZygoteRules"] +git-tree-sha1 = "707ceea58e2bd0ff3077ab13a92f8355181d3ee4" uuid = "e88e6eb3-aa80-5325-afca-941959d7151f" -version = "0.4.19" +version = "0.4.20" [[ZygoteRules]] deps = ["MacroTools"] @@ -1160,30 +1374,30 @@ version = "0.2.0" [[libass_jll]] deps = ["Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "Libdl", "Pkg", "Zlib_jll"] -git-tree-sha1 = "d0259e0624e08ae9ebae16c80257caabc25f2048" +git-tree-sha1 = "027a304b2a90de84f690949a21f94e5ae0f92c73" uuid = "0ac62f75-1d6f-5e53-bd7c-93b484bb37c0" -version = "0.14.0+1" +version = "0.14.0+2" [[libfdk_aac_jll]] deps = ["Libdl", "Pkg"] -git-tree-sha1 = "0e4ace600c20714a8dd67700c4502714d8473e8e" +git-tree-sha1 = "480c7ed04f68ea3edd4c757f5db5b6a0a4e0bd99" uuid = "f638f0a6-7fb0-5443-88ba-1cc74229b280" -version = "0.1.6+1" +version = "0.1.6+2" [[libvorbis_jll]] deps = ["Libdl", "Ogg_jll", "Pkg"] -git-tree-sha1 = "ba8363e25697b99f438f77aeb0a12e02dee3a4fa" +git-tree-sha1 = "6a66f65b5275dfa799036c8a3a26616a0a271c4a" uuid = "f27f6e37-5d2b-51aa-960f-b287f2bc3b7a" -version = "1.3.6+3" +version = "1.3.6+4" [[x264_jll]] deps = ["Libdl", "Pkg"] -git-tree-sha1 = "23664c0757c3740050ca0e22944c786c165ca25a" +git-tree-sha1 = "d89346fe63a6465a9f44e958ac0e3d366af90b74" uuid = "1270edf5-f2f9-52d2-97e9-ab00b5d0237a" -version = "2019.5.25+1" +version = "2019.5.25+2" [[x265_jll]] deps = ["Libdl", "Pkg"] -git-tree-sha1 = "9345e417084421a8e91373d6196bc58e660eed2a" +git-tree-sha1 = "61324ad346b00a6e541896b94201c9426591e43a" uuid = "dfaa095f-4041-5dcd-9319-2fabd8486b76" -version = "3.0.0+0" +version = "3.0.0+1" diff --git a/Project.toml b/Project.toml index beae766d2..d634e8d62 100644 --- a/Project.toml +++ b/Project.toml @@ -1,6 +1,7 @@ [deps] Bijectors = "76274a88-744f-5084-9051-94815aaf08c4" ConjugatePriors = "1624bea9-42b1-5fc1-afd3-e96f729c8d6c" +DiffEqBayes = "ebbdde9d-f333-5424-9be2-dbf1e9acfb5e" Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f" Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4" Flux = "587475ba-b771-5e3f-ad9e-33799f191a9c"