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.9a0.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.9a0-py3-none-any.whl (16.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: iclik-0.1.9a0.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.9a0.tar.gz
Algorithm Hash digest
SHA256 277696a068df74fbb8a72d1f531f8bd4497b0e7d8d0403c9ded3a59f8acbfcc7
MD5 a524879042dda0a5b8a340da314d5abd
BLAKE2b-256 914f58fd690bb44cc437282a6e54bac32abb2b648730e0b8fe6c066d3a6b0505

See more details on using hashes here.

File details

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

File metadata

  • Download URL: iclik-0.1.9a0-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.9a0-py3-none-any.whl
Algorithm Hash digest
SHA256 a72dce403936c4283c9be28bcd781bd17fddd60fc3761a56c334843e66fd0b8c
MD5 b83c28bb0d76390a72ece87721f756b7
BLAKE2b-256 04016d18d56e781399c0ce39a727859fad244cc03d19f48c86e0262f5af11069

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