tweedie#

scikitplot._tweedie.tweedie = <scikitplot._tweedie._tweedie_dist.tweedie_gen object>[source]#

An instance of tweedie_gen, providing Tweedie distribution functionality.

This instance provides:

  • probability density function (pdf)

  • cumulative distribution function (cdf)

  • random sampling

for the Tweedie distribution.

The Tweedie distribution is part of the exponential dispersion family, characterized by a p parameter that determines its behavior:

  • p = 0: Gaussian distribution

  • p = 1: Poisson distribution

  • p = 2: Gamma distribution

  • p = 3: Inverse Gaussian distribution

  • 1 < p < 2: Compound Poisson-Gamma distribution

Parameters:
pfloat

Tweedie power parameter.

mufloat

Mean or location parameter.

phifloat

Dispersion parameter, controlling the variance of the distribution.

See also

tweedie_gen

A Tweedie continuous random variable.

Examples

Compute the pdf and cdf at a given point:

>>> import numpy as np
>>> from scikitplot.stats import tweedie
>>> x = 2.0
>>> pdf_val = tweedie.pdf(x, p=1.5, mu=1, phi=1)
>>> cdf_val = tweedie.cdf(x, p=1.5, mu=1, phi=1)
>>> pdf_val, cdf_val
(0.15640119832636348, 0.8519363569424108)

Generate random variates:

>>> import numpy as np
>>> from scikitplot.stats import tweedie
>>> rvs = tweedie.rvs(p=1.5, mu=1, phi=1, size=16)
>>> rvs
array([3.30172552, 2.50410828, 0.14514395, 0.        , 0.        ,
       0.        , 0.04238674, 0.71601564, 0.44685809, 1.3470347 ,
       0.13225753, 0.07792126, 0.14682787, 0.        , 0.        ,
       1.43432627])

Plot the pdf over a range:

>>> import numpy as np
>>> from scikitplot.stats import tweedie
>>> import matplotlib.pyplot as plt
>>> x = np.linspace(0, 5, 100)
>>> y = tweedie.pdf(x, p=1.5, mu=1, phi=1)
>>> plt.plot(x, y, label='Tweedie pdf (p=1.5, mu=1, phi=1)')
>>> plt.xlabel("x")
>>> plt.ylabel("Density")
>>> plt.legend()
>>> plt.show()

(Source code, png)

../../_images/scikitplot-_tweedie-tweedie-1.png