Comments (4)
No, it should always be between 0 and 1 for non-NaN
inputs. Do you have a failing input? (BTW the Turing examples in the discourse thread could be improved a bit; instead of TruncatedNormal(...., Inf)
I'd recommend using truncated(Normal(...); lower=...)
and I'd try to avoid Turing.@addlogprob!
as much as possible since it circumvents a few Turing internals and hence can lead to problems and unexpected results).
from distributions.jl.
BTW for Normal
, the cdf
function just uses normcdf
in StatsFuns (https://github.com/JuliaStats/StatsFuns.jl/blob/5e866baa763ff0f5d279185c1923e1cd87ea5699/src/distrs/norm.jl#L45-L53) which is based on erfc
in SpecialFunctions, so if there is a problem then likely it's a problem in SpecialFunctions.
from distributions.jl.
The discourse example fails with cdf being greater than one on a particular sample (or smaller than zero on others), from, indeed, the SpecialFunctions... but it's almost impossible to me to track the call stack to understand what is the failling value inputed by Turing (maybe someone with a bit more debugging skills could).
So for Float64, SpecialFunctions.erfc
calls into the standard C library libm
. I think we cannot go lower...
I think I saw a ForwardDiff.Dual
in the call stack, maybe this points to somewhere else ?
So as a conclusion maybe we should close this, and I will keep the clamping on my side. Since it should always be a no-op, I do not care that much.
from distributions.jl.
After a bit of massaging of the MWE, let me close this to open another one.
from distributions.jl.
Related Issues (20)
- inv(Σ) fails with StaticArrays HOT 2
- Document Thread Safety
- sampling from `BetaSampler` slower than directly from `Beta` HOT 1
- `DiscreteNonParametric` and `Categorical` Construction Issue
- Infinite loop for quantile of InverseGaussian for specific value HOT 3
- Reduce the dimension of a Multivariate distribution by using a partial observation. HOT 1
- Characteristic function for Univariate Mixtures
- ERROR: MethodError: no method matching JointOrderStatistics(::DiscreteNonParametric{Float64, Float64, Vector{Float64}, Vector{Float64}}, ::Int64) HOT 2
- `suffstats` integer overflow HOT 1
- No characteristic function of MvNormal HOT 2
- installation warning/error about DistributionsTestExt (not) precompiling HOT 1
- Outdated code sample in Mixture documentation
- Documentation for gradlogpdf HOT 1
- Missing docstring for loglikelihood HOT 3
- Add Fisher Information Matrix function
- Changing the type from `Float` to `Int` breaks `mean` of `MixtureModel`
- `0 <= cdf(truncated(Normal(2.5, 0.2), lower=0.0),x)` not always true. HOT 3
- Suggestion: 3-argument cdf() HOT 1
- Error in xval in gumbel
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 distributions.jl.