Empirical Likelihood emplike

Introduction

Empirical likelihood is a method of nonparametric inference and estimation that lifts the obligation of having to specify a family of underlying distributions. Moreover, empirical likelihood methods do not require re-sampling but still uniquely determine confidence regions whose shape mirrors the shape of the data. In essence, empirical likelihood attempts to combine the benefits of parametric and nonparametric methods while limiting their shortcomings. The main difficulties of empirical likelihood is the computationally intensive methods required to conduct inference. statsmodels.emplike attempts to provide a user-friendly interface that allows the end user to effectively conduct empirical likelihood analysis without having to concern themselves with the computational burdens.

Currently, emplike provides methods to conduct hypothesis tests and form confidence intervals for descriptive statistics. Empirical likelihood estimation and inference in a regression, accelerated failure time and instrumental variable model are currently under development.

References

The main reference for empirical likelihood is:

Owen, A.B. "Empirical Likelihood." Chapman and Hall, 2001.

Examples

In [1]: import numpy as np

In [2]: import statsmodels.api as sm

ImportErrorTraceback (most recent call last)
<ipython-input-2-6030a6549dc0> in <module>()
----> 1 import statsmodels.api as sm

/builddir/build/BUILD/statsmodels-0.8.0/statsmodels/api.py in <module>()
      5 from . import regression
      6 from .regression.linear_model import OLS, GLS, WLS, GLSAR
----> 7 from .regression.recursive_ls import RecursiveLS
      8 from .regression.quantile_regression import QuantReg
      9 from .regression.mixed_linear_model import MixedLM

/builddir/build/BUILD/statsmodels-0.8.0/statsmodels/regression/recursive_ls.py in <module>()
     14 from statsmodels.regression.linear_model import OLS
     15 from statsmodels.tools.data import _is_using_pandas
---> 16 from statsmodels.tsa.statespace.mlemodel import (
     17     MLEModel, MLEResults, MLEResultsWrapper)
     18 from statsmodels.tools.tools import Bunch

/builddir/build/BUILD/statsmodels-0.8.0/statsmodels/tsa/statespace/mlemodel.py in <module>()
     12 from scipy.stats import norm
     13 
---> 14 from .kalman_smoother import KalmanSmoother, SmootherResults
     15 from .kalman_filter import (KalmanFilter, FilterResults, INVERT_UNIVARIATE,
     16                             SOLVE_LU)

/builddir/build/BUILD/statsmodels-0.8.0/statsmodels/tsa/statespace/kalman_smoother.py in <module>()
     12 import numpy as np
     13 
---> 14 from statsmodels.tsa.statespace.representation import OptionWrapper
     15 from statsmodels.tsa.statespace.kalman_filter import (KalmanFilter,
     16                                                       FilterResults)

/builddir/build/BUILD/statsmodels-0.8.0/statsmodels/tsa/statespace/representation.py in <module>()
      8 
      9 import numpy as np
---> 10 from .tools import (
     11     find_best_blas_type, prefix_dtype_map, prefix_statespace_map,
     12     validate_matrix_shape, validate_vector_shape

/builddir/build/BUILD/statsmodels-0.8.0/statsmodels/tsa/statespace/tools.py in <module>()
     10 from scipy.linalg import solve_sylvester
     11 from statsmodels.tools.data import _is_using_pandas
---> 12 from . import _statespace
     13 
     14 has_find_best_blas_type = True

ImportError: cannot import name _statespace

# Generate Data
In [3]: x = np.random.standard_normal(50)

# initiate EL
In [4]: el = sm.emplike.DescStat(x)

NameErrorTraceback (most recent call last)
<ipython-input-4-6bbf055278d7> in <module>()
----> 1 el = sm.emplike.DescStat(x)

NameError: name 'sm' is not defined

# confidence interval for the mean
In [5]: el.ci_mean()

NameErrorTraceback (most recent call last)
<ipython-input-5-1c9697eb65cf> in <module>()
----> 1 el.ci_mean()

NameError: name 'el' is not defined

# test variance is 1
In [6]: el.test_var(1)

NameErrorTraceback (most recent call last)
<ipython-input-6-d3c971520a00> in <module>()
----> 1 el.test_var(1)

NameError: name 'el' is not defined

Module Reference

descriptive.DescStat(endog) Returns an instance to conduct inference on descriptive statistics via empirical likelihood.
descriptive.DescStatUV(endog) A class to compute confidence intervals and hypothesis tests involving mean, variance, kurtosis and skewness of a univariate random variable.
descriptive.DescStatMV(endog) A class for conducting inference on multivariate means and correlation.