Comments (12)
Thanks for opening the issue @sdwfrost, I will look into it within the next few days and will get back to you.
from klara.jl.
Also, DataArrays is not automatically installed by running Pkg.add("MCMC")
from klara.jl.
I just added MCMC to the REQUIRE file. I don't understand the codebase well enough to make other fixes.
from klara.jl.
John, I have been debating with myself about this; what is better practice, should I be using data arrays or more generic float64 arrays in various places as function input arguments in the package?
from klara.jl.
Do you want to support missing data in inputs? If so, I'd use DataArrays. You can always convert them to Array{Float64}
behind the scenes using array(data, NaN)
to substitute NaN
for NA
.
from klara.jl.
I always consider NA's evil when working with MCMC... I hope not because I am prejudiced, but mostly because of the statistical dependence between successive points in a Monte Carlo chain, meaning that an NA occurrence ruins all the chain. From that point of view it may be better to stick with float64 arrays. If someone in the Monte Carlo or statistical community objects my thinking, please speak up.
from klara.jl.
I'm confused: in most MCMC systems like Jags that I've used in the past, the system will impute the values of missing entries based on their local density function. Then the system will continually resample the imputations based on all of the other nodes in the graphical model.
from klara.jl.
Yes, imputation is a possibility, yet it is sth that we haven't implemented in our MCMC package. Your suggestion makes sense to me. Would you agree that it would be more reasonable not to allow for NA's in MCMC chains until we support imputation of NA values? I have never tried to implement the idea in MCMC context (only in statistical genetics but this is a completely different area), so I don't have the knowledge to add this functionality to our package at the moment without reading first.
from klara.jl.
Yes, I agree that, if you're not imputing missing data, then it's reasonable to not allow it as input.
from klara.jl.
Hi folks,
FWIW- If users provide their own likelihood function, then they may be able
to deal with NA's on their own, even if the MCMC package's model doesn't
know how yet. Further, it seems like something that'll be added in the
future.
So my suggestion would be to allow NA's for input data, but that MCMC
outputs should not have NA's.
Cheers,
Eric
On Sun, Jan 12, 2014 at 7:04 PM, John Myles White
[email protected]:
Yes, I agree that, if you're not imputing missing data, then it's
reasonable to not allow it as input.—
Reply to this email directly or view it on GitHubhttps://github.com//issues/28#issuecomment-32128691
.
Eric Ford
Professor of Astronomy & Astrophysics
Center for Exoplanets & Habitable Worlds
Center for Astrostatistics
Institute for CyberScience
Pennsylvania State University
from klara.jl.
The complication with letting users handle NA's is that the package probably wants to insist that all computations are done using Array{Float64}
rather than DataArray{Float64}
. For example, the Optim package requires that the user-specified objective function be a function of the form f: Vector{Float64} -> Float64
. So NA's need to be handled with some caution when allowed as inputs.
from klara.jl.
Since it has been agreed not to allow NA's in MCMC
(at least not at this stage), I will close this old ticket for housekeeping purposes.
from klara.jl.
Related Issues (20)
- Decide whether to add univariate AM or drop AM sampler HOT 1
- Possible DSL sitting atop of existing functionality
- Drop Basic prefix in various type names
- Add some simple examples from OpenBUGS, volume 1
- MethodError: Cannot `convert` an object of type Array{Float64,1} to an object of type Float64 HOT 3
- Add option to bound parameters HOT 3
- Deprecation warnings for v0.6 HOT 2
- World age issue due to code generation inside an inner constructor HOT 2
- Issue related to where keyword and parametric types HOT 7
- How to replace consume and produce with Channels HOT 1
- Implement AMWG sampler
- MCMC in GaussianProcesses.jl HOT 24
- Eliminate code generation to avoid world age issues in Julia v0.6
- HMC with reverse-mode autodiff HOT 1
- ForwardDiff 0.4 0.6 HOT 4
- Is there any guidance for custom sample space HOT 2
- Monitoring Metropolis-Hastings Internal Quantities
- Support Julia 1.0 HOT 5
- Gibbs sampling from a posterior distribution kernel
- Package compatibility caps
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 klara.jl.