https://github.com/friesischscott/sliceddistributions.jl

Estimation and sampling of sliced distributions

https://github.com/friesischscott/sliceddistributions.jl

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

julia multivariate-statistics

Keywords from Contributors

ida hybrid-differential-equations exoplanets neural-sde numerics matrix-exponential control pinns symbolic-computation finite-volume
Last synced: 5 months ago · JSON representation

Repository

Estimation and sampling of sliced distributions

Basic Info
  • Host: GitHub
  • Owner: FriesischScott
  • Language: Julia
  • Default Branch: master
  • Homepage:
  • Size: 439 KB
Statistics
  • Stars: 2
  • Watchers: 4
  • Forks: 4
  • Open Issues: 1
  • Releases: 1
Topics
julia multivariate-statistics
Created over 5 years ago · Last pushed 11 months ago
Metadata Files
Readme License

README.md

SlicedDistributions.jl

Build Status Coverage Status

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.

Van Der Pol Data

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.

Sliced-Normal Density

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.

Sliced-Normal 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

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

All Time
  • Total Commits: 47
  • Total Committers: 4
  • Avg Commits per committer: 11.75
  • Development Distribution Score (DDS): 0.298
Past Year
  • Commits: 14
  • Committers: 1
  • Avg Commits per committer: 14.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email 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
enhancement (3) bug (1) documentation (1)
Pull Request Labels
enhancement (4)

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

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 8.5%
Average: 22.5%
Dependent packages count: 36.6%
Last synced: 5 months ago

Dependencies

.github/workflows/CompatHelper.yml actions
  • JuliaRegistries/compathelper-action v999.0.1 composite