https://github.com/m-wells/interpolatedpdfs.jl

Simple extension to Distributions.jl to incorporate interpolated PDFs

https://github.com/m-wells/interpolatedpdfs.jl

Science Score: 10.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    1 of 5 committers (20.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (8.2%) to scientific vocabulary

Keywords

cdf interpolated-pdfs julia-package quantile statistics

Keywords from Contributors

mixed-model
Last synced: 6 months ago · JSON representation

Repository

Simple extension to Distributions.jl to incorporate interpolated PDFs

Basic Info
  • Host: GitHub
  • Owner: m-wells
  • License: agpl-3.0
  • Language: Julia
  • Default Branch: master
  • Homepage:
  • Size: 183 KB
Statistics
  • Stars: 7
  • Watchers: 1
  • Forks: 1
  • Open Issues: 2
  • Releases: 0
Topics
cdf interpolated-pdfs julia-package quantile statistics
Created over 6 years ago · Last pushed over 2 years ago
Metadata Files
Readme License

README.md

InterpolatedPDFs.jl

Build Status codecov Coverage Status

Simple extension of Distributions.jl providing support for interpolated pdfs. Currently only one type is implemented

julia LinearInterpolatedPDF{T,1,ITP,IT} <: ContinuousUnivariateDistribution

A continuous univariate linearly interpolated distribution. The pdf, cdf, and inverse cdf are interpolated using Interpolations.jl.

Examples

The easiest way to create a distribution is to use fit_pdf ```julia julia> x = range(0,pi/2,length=10) 0.0:0.17453292519943295:1.5707963267948966

julia> s = acos.(rand(1000));

julia> d = fitpdf(x,s) LinearInterpolatedPDF{Float64,1,Interpolations.ScaledInterpolation{Float64,1,Interpolations.BSplineInterpolation{Float64,1,Array{Float64,1},Interpolations.BSpline{Interpolations.Linear},Tuple{Base.OneTo{Int64}}},Interpolations.BSpline{Interpolations.Linear},Tuple{StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}}}},Interpolations.BSpline{Interpolations.Linear}}( pdfitp: 10-element extrapolate(scale(interpolate(::Array{Float64,1}, BSpline(Interpolations.Linear())), (0.0:0.17453292519943295:1.5707963267948966,)), Throw()) with element type Float64: 0.02655632680672288 0.18866696639956113 0.37005881440239063 0.45112960446603656 0.6649161652243859 0.8050441586869701 0.7890753253462918 0.89708286054468 1.042727491447746 1.0151968027736178 cdfitp: 10-element extrapolate(scale(interpolate(::Array{Float64,1}, BSpline(Interpolations.Linear())), (0.0:0.17453292519943295:1.5707963267948966,)), Throw()) with element type Float64: 0.0 0.018781775467173994 0.06753979792102491 0.1392020063635268 0.23659537278378787 0.36487361041346533 0.5039867787463332 0.6511318390125935 0.8204122265452835 1.0 invcdfitp: 10-element extrapolate(interpolate((::Array{Float64,1},), ::Array{Float64,1}, Gridded(Interpolations.Linear())), Throw()) with element type Float64: 0.0 0.17453292519943295 0.3490658503988659 0.5235987755982988 0.6981317007977318 0.8726646259971648 1.0471975511965976 1.2217304763960306 1.3962634015954636 1.5707963267948966 ) ```

After fitting the distribution you can do useful things like ```julia julia> pdf(d,1) 0.7933936499734955

julia> cdf(d,0.5) 0.12951248575312788

julia> quantile(d,0.9) 1.4736110218924767

julia> rand(d,10) 10-element Array{Float64,1}: 0.27565417806686643 1.074337923663701 1.237530643864552 0.4744230962935516 1.18776692814955 0.8436400094154567 1.0835325983972564 1.1413257453616537 0.8701141622223004 1.1702951450424084 ```

Owner

  • Name: Mark Wells
  • Login: m-wells
  • Kind: user
  • Location: Villanova, PA
  • Company: Penn State

GitHub Events

Total
Last Year

Committers

Last synced: almost 3 years ago

All Time
  • Total Commits: 40
  • Total Committers: 5
  • Avg Commits per committer: 8.0
  • Development Distribution Score (DDS): 0.325
Top Committers
Name Email Commits
m-wells m****1@p****u 27
David Widmann d****t@d****e 5
Mark Wells m****a@g****m 4
github-actions[bot] 4****]@u****m 3
Julia TagBot 5****t@u****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 11 months ago

All Time
  • Total issues: 3
  • Total pull requests: 8
  • Average time to close issues: almost 2 years
  • Average time to close pull requests: 14 days
  • Total issue authors: 3
  • Total pull request authors: 3
  • Average comments per issue: 2.0
  • Average comments per pull request: 0.63
  • Merged pull requests: 8
  • Bot issues: 0
  • Bot pull requests: 6
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • m-wells (1)
  • itsdfish (1)
  • vtjnash (1)
Pull Request Authors
  • github-actions[bot] (6)
  • devmotion (1)
  • JuliaTagBot (1)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads: unknown
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 2
juliahub.com: InterpolatedPDFs

Simple extension to Distributions.jl to incorporate interpolated PDFs

  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 9.9%
Average: 32.3%
Dependent packages count: 38.9%
Stargazers count: 39.8%
Forks count: 40.4%
Last synced: 6 months ago