Distributions Functions¶
To help with constructing functions computing log-probabilities and gradients
thereof, Sam provides a large number of fast Cython functions. For computing
gradients, the functions of the form distributionDLD_ return the derivative
of the log-probability with respect to the given variable; e.g., normalDLDV
gives the derivative of the normal distribution with respect to the variance
at the given position.
Uniform Distribution¶
-
sam.uniformRand(double lower=0, double upper=1, RandomEngine engine=defaultEngine) → double¶
-
sam.uniformPDF(double x, double lower=0, double upper=1) → double¶
-
sam.uniformLogPDF(double x, double lower=0, double upper=1) → double¶
-
sam.uniformCDF(double x, double lower=0, double upper=1) → double¶
-
sam.uniformDLDU(double x, double lower=0, double upper=1) → double¶
-
sam.uniformDLDL(double x, double lower=0, double upper=1) → double¶
-
sam.uniformMean(double lower=0, double upper=1) → double¶
-
sam.uniformVar(double lower=0, double upper=1) → double¶
-
sam.uniformStd(double lower=0, double upper=1) → double¶
Normal Distribution¶
-
sam.normalRand(double mean=0, double sigma=1, RandomEngine engine=defaultEngine) → double¶
-
sam.normalPDF(double x, double mean=0, double sigma=1) → double¶
-
sam.normalLogPDF(double x, double mean=0, double sigma=1) → double¶
-
sam.normalCDF(double x, double mean=0, double sigma=1) → double¶
-
sam.normalDLDM(double x, double mean=0, double sigma=1) → double¶
-
sam.normalDLDX(double x, double mean=0, double sigma=1) → double¶
-
sam.normalDLDV(double x, double mean=0, double sigma=1) → double¶
-
sam.normalDLDS(double x, double mean=0, double sigma=1) → double¶
-
sam.normalMean(double mean=0, double sigma=1) → double¶
-
sam.normalVar(double mean=0, double sigma=1) → double¶
-
sam.normalStd(double mean=0, double sigma=1) → double¶
-
sam.normalMode(double mean=0, double sigma=1) → double¶
Multivariate Normal Distribution¶
-
sam.mvNormalRand(__Pyx_memviewslice mean, __Pyx_memviewslice covariance, __Pyx_memviewslice output=None, bool isChol=False, RandomEngine engine=defaultEngine) → __Pyx_memviewslice¶
-
sam.mvNormalPDF(__Pyx_memviewslice x, __Pyx_memviewslice mean, __Pyx_memviewslice covariance, bool isChol=False) → double¶
-
sam.mvNormalLogPDF(__Pyx_memviewslice x, __Pyx_memviewslice mean, __Pyx_memviewslice covariance, bool isChol=False) → double¶
Gamma Distribution¶
-
sam.gammaRand(double shape, double rate, RandomEngine engine=defaultEngine) → double¶
-
sam.gammaPDF(double x, double shape, double rate) → double¶
-
sam.gammaLogPDF(double x, double shape, double rate) → double¶
-
sam.gammaCDF(double x, double shape, double rate) → double¶
-
sam.gammaDLDA(double x, double shape, double rate) → double¶
-
sam.gammaDLDB(double x, double shape, double rate) → double¶
-
sam.gammaDLDX(double x, double shape, double rate) → double¶
-
sam.gammaMean(double shape, double rate) → double¶
-
sam.gammaVar(double shape, double rate) → double¶
-
sam.gammaStd(double shape, double rate) → double¶
-
sam.gammaMode(double shape, double rate) → double¶
Inverse Gamma Distribution¶
-
sam.invGammaRand(double shape, double rate, RandomEngine engine=defaultEngine) → double¶
-
sam.invGammaPDF(double x, double shape, double rate) → double¶
-
sam.invGammaLogPDF(double x, double shape, double rate) → double¶
-
sam.invGammaCDF(double x, double shape, double rate) → double¶
-
sam.invGammaDLDA(double x, double shape, double rate) → double¶
-
sam.invGammaDLDB(double x, double shape, double rate) → double¶
-
sam.invGammaDLDX(double x, double shape, double rate) → double¶
-
sam.invGammaMean(double shape, double rate) → double¶
-
sam.invGammaVar(double shape, double rate) → double¶
-
sam.invGammaStd(double shape, double rate) → double¶
-
sam.invGammaMode(double shape, double rate) → double¶
Beta Distribution¶
-
sam.betaRand(double alpha, double beta, RandomEngine engine=defaultEngine) → double¶
-
sam.betaPDF(double x, double alpha, double beta) → double¶
-
sam.betaLogPDF(double x, double alpha, double beta) → double¶
-
sam.betaCDF(double x, double alpha, double beta) → double¶
-
sam.betaDLDA(double x, double alpha, double beta) → double¶
-
sam.betaDLDB(double x, double alpha, double beta) → double¶
-
sam.betaMean(double alpha, double beta) → double¶
-
sam.betaVar(double alpha, double beta) → double¶
-
sam.betaStd(double alpha, double beta) → double¶
-
sam.betaMode(double alpha, double beta) → double¶
Poisson Distribution¶
-
sam.poissonRand(double lamb, RandomEngine engine=defaultEngine) → double¶
-
sam.poissonPDF(int x, double lamb) → double¶
-
sam.poissonLogPDF(int x, double lamb) → double¶
-
sam.poissonCDF(double x, double lamb) → double¶
-
sam.poissonDLDL(int x, double lamb) → double¶
-
sam.poissonMean(double lamb) → double¶
-
sam.poissonVar(double lamb) → double¶
-
sam.poissonStd(double lamb) → double¶
-
sam.poissonMode(double lamb) → int¶ Returns max mode if result is not unique (integer lambda).
Exponential Distribution¶
-
sam.exponentialRand(double lamb, RandomEngine engine=defaultEngine) → double¶
-
sam.exponentialPDF(double x, double lamb) → double¶
-
sam.exponentialLogPDF(double x, double lamb) → double¶
-
sam.exponentialCDF(double x, double lamb) → double¶
-
sam.exponentialDLDL(double x, double lamb) → double¶
-
sam.exponentialMean(double lamb) → double¶
-
sam.exponentialVar(double lamb) → double¶
-
sam.exponentialStd(double lamb) → double¶
-
sam.exponentialMode(double lamb) → double¶
Binomial Distribution¶
-
sam.binomialRand(int n, double probability, RandomEngine engine=defaultEngine) → int¶
-
sam.binomialPDF(int x, int n, double probability) → double¶
-
sam.binomialLogPDF(int x, int n, double probability) → double¶
-
sam.binomialCDF(double x, int n, double probability) → double¶
-
sam.binomialDLDP(int x, int n, double probability) → double¶
-
sam.binomialMean(int n, double probability) → double¶
-
sam.binomialVar(int n, double probability) → double¶
-
sam.binomialStd(int n, double probability) → double¶
-
sam.binomialMode(int n, double probability) → double¶