Comments (6)
Good point. IMO the vector valued parameters are a very special case related to FEMU. Maybe we continue the discussion on that in #41
from bayem.
That is a good idea. Maybe we could directly connect this prior definitions to our latent variables definition, such that we define a latent variable with an optional prior (in case someone wants to do deterministic optimization), and then link it to local variables in the model error/forward model class(es).
from bayem.
Especially regarding my second point with the example implementations, I'd say that the definition on what is latent is problem specific and the (somehow crafted) question how it is latent (initial deterministic value, logpdf, custom MVN) is then solver specific.
from bayem.
Alright, that is a true. So we'll try to separate the inference problem into on the one hand the handling of latent variables (with all the global/local variable distinction) and model error, and on the other hand specific interfaces for solvers that use that.
from bayem.
I think I had a conceptual mistake in my last comment. My plan would be that our inference problem does include prior information, say mathematically with the information N(42, ...) or Gamma(21, 42) or Crystalball(...). The individual solvers then transform this information into tool-specific implementations of these distributions.
And just to not redefine every (common) distribution out there, I suggest to store the information via scipy.stats
and the implementation is then provided in a:
- VBSolver -- transforms it to custum MVN / Gamma
- TaralliSolver -- can use the
scipy.stats
objects right away - PyroSolver -- transforms to
pyro.distributions
from bayem.
I would agree doing this, but we should allow users to just use the latent/model_error feature (so that they provide the priors themselves), e.g. via methods that can be overwritten. Thus, special structures do not have to be part of the standard interface. Important is the consideration of vector parameters. Here, the question would be, if we consider each parameter separately (and provide a single scalar distribution assuming all entries in the vector are independent and idenically distributed, or if we directly provide a joint distribution (e.g. MVN) with the special case of only have diagonal entries in the covariance.
from bayem.
Related Issues (20)
- Remove sphinx from requirements HOT 2
- Proper VB scaling HOT 2
- Potential bug in our F formula HOT 6
- Prescribed correlation (in noise model) HOT 28
- Remove Gamma.Noninformative()? HOT 1
- Linearity check HOT 3
- Towards `bayem` HOT 6
- Failing visualization test
- Fancy readme
- Docstrings
- pre-commit hooks
- Check ARD implementation HOT 1
- VB `state` variable HOT 1
- VB_postprocess_per_iteration HOT 4
- VB_handle_diverging_ME HOT 4
- Sub-optimal control flow HOT 1
- Visualization of marginalized posteriors HOT 3
- Changes in visualization somehow break the CI HOT 1
- levels are not always computed correctly
- remove python 3.7
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 bayem.