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:

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

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:

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

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

First we need to define a composite likelihood function.

def f(params):
    """I'm a composite likelihood 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.5a0.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.5a0-py3-none-any.whl (16.3 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for iclik-0.1.5a0.tar.gz
Algorithm Hash digest
SHA256 9a6d5b0b60facb7401b2310c076d5fd3f0f4fb77c7f7f7287b0098f35500b31a
MD5 d9ac2321369e630844ca1750259f1673
BLAKE2b-256 e014ab312956d1de0cd74447218552a07f1e20b5a0e4d5d53e57cb6fd2c19541

See more details on using hashes here.

File details

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

File metadata

  • Download URL: iclik-0.1.5a0-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.5

File hashes

Hashes for iclik-0.1.5a0-py3-none-any.whl
Algorithm Hash digest
SHA256 b0f50bfbb47161aa4d3159f5386b24142e09504c419d9f12a6736a38df21a901
MD5 08923c9457eb6bbebe0961cace5e9526
BLAKE2b-256 4ada265d72fc29b060649c19a78960cd2b9bd5b61946d1ec0f5e3f777abe09ec

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