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([0.        , 1.39090807, 0.53812184, 1.08276594, 2.56934752,
       1.81484503, 0.        , 0.33692893, 1.38774815, 1.68249246,
       0.25818063, 0.71838281, 0.8638991 , 0.        , 0.79119022,
       0.40080469])

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