Comments (6)
Got it, thanks!
from soss.jl.
Can you give me code to replicate the error?
from soss.jl.
This reproduces ArgumentError: reducing over an empty collection is not allowed
.
Is it clear what I'm doing wrong?
using Soss, SampleChainsDynamicHMC, TypedTables, Random, MeasureTheory
m = @model (d) begin
β1 ~ Normal(μ=0., σ=0.05)
rs = rows(d)
y ~ let rs = rs
For(rs) do r
v = β1 * r.x1
p = logistic(v)
Bernoulli(p)
end
end
end
pred = predictive(m)
n = 100
tbl = Table(x1 = rand(1:10, n), res=rand(Bool, n))
condmod = m(d=collect(tbl)) | (; y=tbl.res)
multichain = Soss.sample(Random.GLOBAL_RNG, condmod, dynamichmc(), 10, 1)
mapped = map(θ->pred(;d=tbl,), multichain);
simulate.(mapped)
from soss.jl.
julia> predictive(m)
@model begin
end
Do you mean to say
julia> predictive(m, :β1)
@model (d, β1) begin
rs = rows(d)
y ~ let rs = rs
For(rs) do r
v = β1 * r.x1
p = logistic(v)
Bernoulli(p)
end
end
end
Then maybe
mapped = map(multichain) do sample
rand(pred(d=d, β1=sample.β1))
end
from soss.jl.
Thanks, that fixes my issue for simulate
and rand
. Still getting that error for predict
though, and the non-broadcasted version hangs:
using Soss, SampleChainsDynamicHMC, TypedTables, Random, MeasureTheory, DataFrames
m = @model (d) begin
β1 ~ Normal(μ=0., σ=0.05)
rs = rows(d)
y ~ For(rs) do r
v = β1 * r.x1
p = logistic(v)
Bernoulli(p)
end
end
n = 100
tbl = DataFrame(x1 = rand(Float64.(1:10), n), res=rand(Bool, n))
condmod = m(d=tbl) | (; y=tbl.res)
multichain = Soss.sample(Random.GLOBAL_RNG, condmod, dynamichmc(), 10, 1)
pred = predictive(m, :β1)
mapped = [pred(;d=tbl,β1=θ.β1) for θ in multichain];
simulate.(mapped)
rand.(mapped)
predict.(mapped) # ArgumentError: reducing over an empty collection is not allowed
predict(mapped) # hangs
from soss.jl.
It's the same problem. predictive
makes a new model using the names of variables you'd like to turn into arguments. predict
is basically predictive
followed by rand
. The code for it is pretty short, and may be the easiest way to see what it does:
https://github.com/cscherrer/Soss.jl/blob/master/src/transforms/predict.jl
from soss.jl.
Related Issues (20)
- What am I doing wrong? HOT 3
- Examples page in documentation does not exist HOT 1
- sample(...) does not work HOT 9
- No more Soss.predict() methods for densities from Distributions.jl HOT 3
- Implemention of Gaussian mixture model fails when sampling the posterior HOT 4
- Collision of filenames on OS X HOT 3
- Int argument for predict function HOT 2
- Follow Traditional Style Guide? (At least in public API)
- Help fitting a simple t distribution HOT 4
- For(...) do i ... broken using Soss with [email protected] or later HOT 4
- Modeling discrete variables
- CSV interference HOT 1
- dynamicHMC UndefVarError
- Can't use M as variable name HOT 4
- Precompilation warning HOT 2
- Example in Readme fails HOT 7
- README example fails HOT 32
- Empty transform with (new) Soss.as HOT 4
- Unable to sample posterior of the MC example from JuliaCon 2021 HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from soss.jl.