LoadError при използване на приблизителни байесови критерии

Получавам грешка, която ме обърква.

using DifferentialEquations
using RecursiveArrayTools # for VectorOfArray
using DiffEqBayes
f2 = @ode_def_nohes LotkaVolterraTest begin
  dx = x*(1 - x - A*y)
  dy = rho*y*(1 - B*x - y)
end A B rho

u0 = [1.0;1.0]
tspan = (0.0,10.0)
p = [0.2,0.5,0.3]
prob = ODEProblem(f2,u0,tspan,p)
sol = solve(prob,Tsit5())
t = collect(linspace(0,10,200))
randomized = VectorOfArray([(sol(t[i]) + .01randn(2)) for i in 1:length(t)])
data = convert(Array,randomized)

priors = [Uniform(0.0, 2.0), Uniform(0.0, 2.0), Uniform(0.0, 2.0)]
bayesian_result_abc = abc_inference(prob, Tsit5(), t, data,
priors;num_samples=500)

Връща грешката

ERROR: LoadError: DimensionMismatch("first array has length 400 which does not match the length of the second, 398.")
while loading..., in expression starting on line 20.

Не успях да намеря нито един масив с размер 400 или 398. Благодаря за помощта.


person Gregory    schedule 20.08.2018    source източник
comment
За справка, решението изгражда масив 2x200, но поради грешка не запазва началното време, така че е масив 2x199. Това са 400 и 398.   -  person Chris Rackauckas    schedule 22.08.2018
comment
Благодаря Крис! Щях да полудея.   -  person Gregory    schedule 22.08.2018


Отговори (1)


Разгледайте https://github.com/JuliaDiffEq/DiffEqBayes.jl/issues/52, това се дължи на грешка при предаване на t. Това е коригирано на master, така че можете да го използвате или да изчакате известно време, скоро ще имаме нова версия с надстройките 1.0, които също ще имат коригирано.

Благодаря!

person Vaibhav Dixit    schedule 21.08.2018
comment
Просто ще пусна това веднага и ще поправя проблема. Pkg.update() за около половин час. - person Chris Rackauckas; 22.08.2018