https://github.com/friesischscott/sliceddistributions.jl
Estimation and sampling of sliced distributions
Science Score: 49.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 6 DOI reference(s) in README -
○Academic publication links
-
✓Committers with academic emails
1 of 4 committers (25.0%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.8%) to scientific vocabulary
Keywords
Keywords from Contributors
Repository
Estimation and sampling of sliced distributions
Basic Info
Statistics
- Stars: 2
- Watchers: 4
- Forks: 4
- Open Issues: 1
- Releases: 1
Topics
Metadata Files
README.md
SlicedDistributions.jl
A julia package for robust estimation and sampling of sliced distributions [1, 2]
Sliced distributions enable the characterization of, possibly dependent, multivariate data by injecting the physical space into a higher dimensional feature space using a polynomial mapping. SlicedDistributions implements:
- Sliced-Normals
- Sliced-Exponentials
- sampling from the sliced distributions using transitional markov chain Monte Carlo (TMCMC)
The distributions are fully compliant with the Distributions.jl interface of a ContinuousMultivariateDistribution.
Note, that the sliced-Normals are estimated by choosing a square polynomial basis and restricting the decision space of the sliced-Exponentials, see [2, Section VII].
Example
Consider a data sequence obtained from the time-response of the Van-der-Pol oscillator.
To begin fitting a sliced distribution to the data we start by loading the necessary packages and read the input data.
```julia using DelimitedFiles using SlicedDistributions
δ = readdlm("demo/data/vanderpol.csv", ',') ```
Next, we define the additional input parameters and estimate a SlicedNormal distribution from the data. The data points are expected to be the columns of the input matrix.
```julia d = 3 # maximum degree of the polynomial mapping into the feature space b = 10000 # the number of samples used to estimate the normalizing constant
the (optional) support of the sliced distribution given as lower and upper bounds of a hypercube
lb = [-2.5, -3] ub = [2.5, 3.5]
sn, lh = SlicedNormal(δ, d, b, lb, ub) ```
If the support is omitted, the minimum and maximum values of the data will be inferred as the support automatically. To estimate a sliced-exponential distribution simply replace SlicedNormal with SlicedExponential. The next plot presents the probability density function (PDF) of the estimated distribution.
With the distribution in place we can obtain 2000 random samples through rand.
julia
samples = rand(sn, 2000)
Internally this will use TMCMC to sample from the PDF. See the next Figure for a scatter plot of the samples.
References
[1] L. G. Crespo, B. K. Colbert, S. P. Kenny, and D. P. Giesy, ‘On the quantification of aleatory and epistemic uncertainty using Sliced-Normal distributions’, Systems & Control Letters, vol. 134, p. 104560, Dec. 2019, doi: 10.1016/j.sysconle.2019.104560.
[2] L. G. Crespo, B. K. Colbert, T. Slager, and S. P. Kenny, ‘Robust Estimation of Sliced-Exponential Distributions’, in 2021 60th IEEE Conference on Decision and Control (CDC), Austin, TX, USA: IEEE, Dec. 2021, pp. 6742–6748. doi: 10.1109/CDC45484.2021.9683584.
Owner
- Name: Jasper Behrensdorf
- Login: FriesischScott
- Kind: user
- Location: Hannover, Germany
- Company: Leibniz University Hannover
- Website: https://www.irz.uni-hannover.de/de/institut/team/behrensdorf
- Repositories: 7
- Profile: https://github.com/FriesischScott
GitHub Events
Total
- Create event: 4
- Commit comment event: 2
- Release event: 1
- Issues event: 8
- Delete event: 3
- Issue comment event: 3
- Push event: 6
- Pull request event: 6
Last Year
- Create event: 4
- Commit comment event: 2
- Release event: 1
- Issues event: 8
- Delete event: 3
- Issue comment event: 3
- Push event: 6
- Pull request event: 6
Committers
Last synced: 7 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Jasper Behrensdorf | b****f@i****e | 33 |
| github-actions[bot] | 4****] | 10 |
| Ander Gray | 3****y | 2 |
| CompatHelper Julia | c****y@j****g | 2 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 13
- Total pull requests: 26
- Average time to close issues: 4 months
- Average time to close pull requests: 5 days
- Total issue authors: 2
- Total pull request authors: 3
- Average comments per issue: 0.31
- Average comments per pull request: 0.31
- Merged pull requests: 24
- Bot issues: 0
- Bot pull requests: 14
Past Year
- Issues: 12
- Pull requests: 6
- Average time to close issues: 2 months
- Average time to close pull requests: 7 days
- Issue authors: 2
- Pull request authors: 1
- Average comments per issue: 0.25
- Average comments per pull request: 0.33
- Merged pull requests: 6
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- FriesischScott (12)
- JuliaTagBot (1)
Pull Request Authors
- github-actions[bot] (14)
- FriesischScott (12)
- AnderGray (2)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
- Total downloads: unknown
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 1
juliahub.com: SlicedDistributions
Estimation and sampling of sliced distributions
- Documentation: https://docs.juliahub.com/General/SlicedDistributions/stable/
- License: MIT
-
Latest release: 1.0.0
published 11 months ago
Rankings
Dependencies
- JuliaRegistries/compathelper-action v999.0.1 composite