You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently Parameterized has limitations to types that Julia specified. A new type that appears in practice e.g. for specifying independent priors for a function at 100 points, we may wish to define
distribution =repeat([Parameterized(Normal(0,1))],100)
constraint =repeat([no_constraint()],100)
name ="function_at_100_points"
Our current setup can do either
replace repeat([Parameterized(Normal(0,1))],100) with a single Parameterized(MvNormal(100,1.0)). This is restrictive to only Multivariate distributions from Distributions
replace name with the array of names name = [string("function_at_point_",i) for i =1:100]. This means that each of the 100 distributions have different names, and may require additional parsing.
Proposal: VectorOfParameterized distribution type
distribution =VectorOfParameterized( repeat([Normal(0,1)],100) )
constraint =repeat([no_constraint()],100)
name ="function_at_100_points"
when provided with corresponding functions sample/var/cov etc. this fits within the current framework. The stacked distributions can have different priors and be different dimensions.
The text was updated successfully, but these errors were encountered:
145: [WIP] VectorOfParameterized distribution type r=odunbar a=odunbar
## Purpose
Resolves#142
## In the PR
- New `VectorOfParameterized` distribution struct. Can create a single distribution from an array of (possibly different, univariate and multivariate) Distributions from `Distributions.jl`
- Accompanying sampling/statistical/shape functions
- Unit tests
- Docs in parameter distributions
## Also
- removed a bug where input dictionary is modified
## Simple example
Creating a full `ParameterDistribution` from 100 univariate normals (e.g. often used in parameters)
```julia
distribution = VectorOfParameterized(repeat([Normal(0,1)],100)
constraint = repeat([no_constraint()],100)
name = "100 normals"
ParameterDistribution(distribution, constraint, name)
```
Key observation: only one name is required for the distribution vector - this for example is a useful addition for parsing array-style parameterrs e.g. the representation and discretization of functions.
Co-authored-by: odunbar <[email protected]>
Co-authored-by: odunbar <[email protected]>
Issue
Currently
Parameterized
has limitations to types that Julia specified. A new type that appears in practice e.g. for specifying independent priors for a function at 100 points, we may wish to defineOur current setup can do either
repeat([Parameterized(Normal(0,1))],100)
with a singleParameterized(MvNormal(100,1.0))
. This is restrictive to only Multivariate distributions fromDistributions
name = [string("function_at_point_",i) for i =1:100]
. This means that each of the 100 distributions have different names, and may require additional parsing.Proposal:
VectorOfParameterized
distribution typewhen provided with corresponding functions sample/var/cov etc. this fits within the current framework. The stacked distributions can have different priors and be different dimensions.
The text was updated successfully, but these errors were encountered: