Calculating loglikelihood of distributions in Python

dejoma picture dejoma · May 29, 2018 · Viewed 9.9k times · Source

What is an easy way to calculate the loglikelihood of any distribution fitted to data?

Answer

Cœur picture Cœur · Jul 21, 2018

Solution by OP.

Python has 82 standard distributions which can be found here and in scipy.stats.distributions

Suppose you find the parameters such that the probability density function(pdf) fits the data as follows:

dist = getattr(stats.stats, 'distribution name')
params = dist.fit(data)

Then since it is a standard distribution included in the SciPy library, the pdf and logpdf can be found and used very easily in the following way:

LLH = dist.logpdf(data,*params).sum()

Note that that this corresponds to the loglikelihood function defined here.