Skip to main content

Information criteria for composite likelihood models

Project description

IClik is a minimal package for evaluating composite likelihood models using Composite Likelihood AIC and BIC (CLAIC/CLBIC).

For a review of these information criteria, please see: Ng, C. T., & Joe, H. (2014). Model comparison with composite likelihood information criteria. Bernoulli, 20(4), 1738–1764. http://www.jstor.org/stable/43590422

This package is in development. Please let me know about any bugs or problems by raising an issue on GitHub.

Available information criteria

Composite Likelihood AIC (CLAIC)

The composite likelihood version of the Akaike information criterion (AIC) was proposed by Varin et al (2011). It is calculated as:

\($CLAIC = -2L_{CL}(\hat\theta_{CL}) + 2tr[\mathbf{J}(\hat\theta_{CL})\mathbf{H}^{-1}(\hat\theta_{CL})]$\)

Where \($\mathbf{J(\theta)}$\) and \($\mathbf{H(\theta)}$\) are the Jacobian and Hessian matrices of the likelihood function, and \($\hat\theta_{CL}$\) represents the composite maximum likelihood estimate.

Reference: Varin, C., Reid, N., & Firth, D. (2011). AN OVERVIEW OF COMPOSITE LIKELIHOOD METHODS. Statistica Sinica, 21(1), 5–42. http://www.jstor.org/stable/24309261

Composite Likelihood BIC (CLBIC)

CLBIC, formulated by Gao and Song (2010), is similar to CLAIC, but adjusts for sample size n:

\($CLBIC = -2L_{CL}(\hat\theta_{CL}) + log(n) tr[\mathbf{J}(\hat\theta_{CL})\mathbf{H}^{-1}(\hat\theta_{CL})]$\)

Reference: Gao, X., & Song, P. X.-K. (2010). Composite Likelihood Bayesian Information Criteria for Model Selection in High-Dimensional Data. Journal of the American Statistical Association, 105(492), 1531–1540. http://www.jstor.org/stable/27920184

Installation

IClik is available via PyPi: pip install iclik.

Syntax

IClik is very easy to use, provided that you have a correctly formulated likelihood function. A simple example of how to use it is provided here.

Import claic:

from iclik.inform_crit import claic

Things are much easier if we ignore the data, so it’s best to design a wrapper function that only takes parameters as input. In reality, we would embed the fitted model in the wrapper function, but here we’ll just work with a simple dummy function:

def f(params):
    """I'm a dummy function"""
    x, y, z = params
    return x**2 + y**2 + z**2

Running IClik is then a one-liner:

claic(f, (1,2,3))

Output:

-26.000000000000004

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iclik-0.1.10a0.tar.gz (16.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

iclik-0.1.10a0-py3-none-any.whl (16.3 kB view details)

Uploaded Python 3

File details

Details for the file iclik-0.1.10a0.tar.gz.

File metadata

  • Download URL: iclik-0.1.10a0.tar.gz
  • Upload date:
  • Size: 16.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for iclik-0.1.10a0.tar.gz
Algorithm Hash digest
SHA256 246e9a7f52505bd7c11727ffcf89e57d31ae356d1069cf09c88a4df70e614ec4
MD5 4afc47b4772944f42944888e132b62e6
BLAKE2b-256 2ef63e8a56dcba5f8c0fb79d382fb3b2324ef6b627c7f287137c3c0a8f3908f5

See more details on using hashes here.

File details

Details for the file iclik-0.1.10a0-py3-none-any.whl.

File metadata

  • Download URL: iclik-0.1.10a0-py3-none-any.whl
  • Upload date:
  • Size: 16.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for iclik-0.1.10a0-py3-none-any.whl
Algorithm Hash digest
SHA256 9690ccb8ca13fe646c7ae1c1402d2b8eefde1c48f13f661bc30c8c0731a76897
MD5 fa664aa1b29fc0069054e03f5928753e
BLAKE2b-256 87b6e0d8053f3054ef93a0929d90c333085ad40f1cf04d0887283321250fdeb6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page