# Distributions¶

Distributions

class pygam.distributions.BinomialDist(levels=1)

Binomial Distribution

V(mu)

glm Variance function

computes the variance of the distribution

Parameters: mu (array-like of length n) – expected values variance np.array of length n
deviance(y, mu, scaled=True)

model deviance

for a bernoulli logistic model, this is equal to the twice the negative loglikelihod.

Parameters: y (array-like of length n) – target values mu (array-like of length n) – expected values scaled (boolean, default: True) – whether to divide the deviance by the distribution scaled deviances np.array of length n
log_pdf(y, mu, weights=None)

computes the log of the pdf or pmf of the values under the current distribution

Parameters: y (array-like of length n) – target values mu (array-like of length n) – expected values weights (array-like shape (n,) or None, default: None) – sample weights if None, defaults to array of ones pdf/pmf np.array of length n
sample(mu)

Return random samples from this Normal distribution.

Parameters: mu (array-like of shape n_samples or shape (n_simulations, n_samples)) – expected values random_samples np.array of same shape as mu
class pygam.distributions.Distribution(name=None, scale=None)

Bases: pygam.core.Core

phi(y, mu, edof, weights)

GLM scale parameter. for Binomial and Poisson families this is unity for Normal family this is variance

Parameters: y (array-like of length n) – target values mu (array-like of length n) – expected values edof (float) – estimated degrees of freedom weights (array-like shape (n,) or None, default: None) – sample weights if None, defaults to array of ones scale estimated model scale
sample(mu)

Return random samples from this distribution.

Parameters: mu (array-like of shape n_samples or shape (n_simulations, n_samples)) – expected values random_samples np.array of same shape as mu
class pygam.distributions.GammaDist(scale=None)

Gamma Distribution

V(mu)

glm Variance function

computes the variance of the distribution

Parameters: mu (array-like of length n) – expected values variance np.array of length n
deviance(y, mu, scaled=True)

model deviance

for a bernoulli logistic model, this is equal to the twice the negative loglikelihod.

Parameters: y (array-like of length n) – target values mu (array-like of length n) – expected values scaled (boolean, default: True) – whether to divide the deviance by the distribution scaled deviances np.array of length n
log_pdf(y, mu, weights=None)

computes the log of the pdf or pmf of the values under the current distribution

Parameters: y (array-like of length n) – target values mu (array-like of length n) – expected values weights (array-like shape (n,) or None, default: None) – containing sample weights if None, defaults to array of ones pdf/pmf np.array of length n
sample(mu)

Return random samples from this Gamma distribution.

Parameters: mu (array-like of shape n_samples or shape (n_simulations, n_samples)) – expected values random_samples np.array of same shape as mu
class pygam.distributions.InvGaussDist(scale=None)

Inverse Gaussian (Wald) Distribution

V(mu)

glm Variance function

computes the variance of the distribution

Parameters: mu (array-like of length n) – expected values variance np.array of length n
deviance(y, mu, scaled=True)

model deviance

for a bernoulli logistic model, this is equal to the twice the negative loglikelihod.

Parameters: y (array-like of length n) – target values mu (array-like of length n) – expected values scaled (boolean, default: True) – whether to divide the deviance by the distribution scaled deviances np.array of length n
log_pdf(y, mu, weights=None)

computes the log of the pdf or pmf of the values under the current distribution

Parameters: y (array-like of length n) – target values mu (array-like of length n) – expected values weights (array-like shape (n,) or None, default: None) – containing sample weights if None, defaults to array of ones pdf/pmf np.array of length n
sample(mu)

Return random samples from this Inverse Gaussian (Wald) distribution.

Parameters: mu (array-like of shape n_samples or shape (n_simulations, n_samples)) – expected values random_samples np.array of same shape as mu
class pygam.distributions.NormalDist(scale=None)

Normal Distribution

V(mu)

glm Variance function.

if
Y ~ ExpFam(theta, scale=phi)
such that
E[Y] = mu = b’(theta)
and
Var[Y] = b’‘(theta) * phi / w
then we seek V(mu) such that we can represent Var[y] as a fn of mu:
Var[Y] = V(mu) * phi
ie
V(mu) = b’‘(theta) / w
Parameters: mu (array-like of length n) – expected values V(mu) np.array of length n
deviance(y, mu, scaled=True)

model deviance

for a gaussian linear model, this is equal to the SSE

Parameters: y (array-like of length n) – target values mu (array-like of length n) – expected values scaled (boolean, default: True) – whether to divide the deviance by the distribution scaled deviances np.array of length n
log_pdf(y, mu, weights=None)

computes the log of the pdf or pmf of the values under the current distribution

Parameters: y (array-like of length n) – target values mu (array-like of length n) – expected values weights (array-like shape (n,) or None, default: None) – sample weights if None, defaults to array of ones pdf/pmf np.array of length n
sample(mu)

Return random samples from this Normal distribution.

Samples are drawn independently from univariate normal distributions with means given by the values in mu and with standard deviations equal to the scale attribute if it exists otherwise 1.0.

Parameters: mu (array-like of shape n_samples or shape (n_simulations, n_samples)) – expected values random_samples np.array of same shape as mu
class pygam.distributions.PoissonDist

Poisson Distribution

V(mu)

glm Variance function

computes the variance of the distribution

Parameters: mu (array-like of length n) – expected values variance np.array of length n
deviance(y, mu, scaled=True)

model deviance

for a bernoulli logistic model, this is equal to the twice the negative loglikelihod.

Parameters: y (array-like of length n) – target values mu (array-like of length n) – expected values scaled (boolean, default: True) – whether to divide the deviance by the distribution scaled deviances np.array of length n
log_pdf(y, mu, weights=None)

computes the log of the pdf or pmf of the values under the current distribution

Parameters: y (array-like of length n) – target values mu (array-like of length n) – expected values weights (array-like shape (n,) or None, default: None) – containing sample weights if None, defaults to array of ones pdf/pmf np.array of length n
sample(mu)

Return random samples from this Poisson distribution.

Parameters: mu (array-like of shape n_samples or shape (n_simulations, n_samples)) – expected values random_samples np.array of same shape as mu
pygam.distributions.divide_weights(V)
pygam.distributions.multiply_weights(deviance)