multiple_inference.base#

Base classes.

Classes

ResultsBase(model[, title])

Base for results classes.

ModelBase(mean, cov[, X, endog_names, ...])

Base for model classes.

class multiple_inference.base.ModelBase(mean: Sequence[float], cov: ndarray, X: ndarray | None = None, endog_names: str | None = None, exog_names: Sequence[str] | None = None, columns: Sequence[int] | Sequence[str] | Sequence[bool] | None = None, sort: bool = False, random_state: int = 0)[source]#

Base for model classes.

Parameters:
  • mean (Numeric1DArray) – (# params,) array of conventionally estimated means.

  • cov (np.ndarray) – (# params, # params) covariance matrix.

  • X (np.ndarray, optional) – (# params, # features) feature matrix. Defaults to None.

  • endog_names (str, optional) – Name of endogenous variable. Defaults to None.

  • exog_names (Sequence[str], optional) – Names of the exogenous variables. Defaults to None.

  • columns (ColumnsType, optional) – Columns to use. This can be a sequence of indices (int), parameter names (str), or a Boolean mask. Defaults to None.

  • sort (bool, optional) – Sort the parameters by the conventionally estimated mean. Defaults to False.

  • seed (int, optional) – Random seed. Defaults to 0.

n_params#

Number of estimated parameters.

Type:

int

mean#

(# params,) array of conventionally estimated means.

Type:

np.ndarray

cov#

(# params, # params) covariance matrix.

Type:

np.ndarray

X#

(# params, # features) feature matrix.

Type:

np.ndarray

endog_names#

Name of the endogenous variable.

Type:

str

exog_names#

Name of exogenous variables.

Type:

np.ndarray

seed#

Random seed.

Type:

int

fit(*args: Any, **kwargs: Any) ResultsType[source]#

Fit the model.

Parameters:
  • *args (Any) – Passed to the results class constructor.

  • **kwargs (Any) – Passed to the results class constructor.

Returns:

Results.

Return type:

ResultsType

classmethod from_csv(filename: str, **kwargs: Any) ModelType[source]#

Instantiate an estimator from csv file.

Parameters:
  • filename (str) – Name of the csv file.

  • **kwargs (Any) – Passed to the model class constructor.

Returns:

Estimator.

Return type:

Model

classmethod from_results(results: LikelihoodModelResults, **kwargs: Any) ModelType[source]#

Initialize an estimator from conventional regression results.

Parameters:
  • results (LikelihoodModelResults) – Conventional estimation results.

  • **kwargs (Any) – Passed to the model class constructor.

Returns:

Estimator.

Return type:

Model

Examples

import numpy as np
import pandas as pd
import statsmodels.api as sm
from multiple_inference.base import ModelBase

X = np.repeat(np.identity(3), 100, axis=0)
beta = np.arange(3)
y = X @ beta + np.random.normal(size=300)
ols_results = sm.OLS(y, X).fit()
model = ModelBase.from_results(ols_results)
print(model.mean)
print(model.cov)
[0.05980802 1.08201297 1.94076774]
[[0.01007633 0.         0.        ]
 [0.         0.01007633 0.        ]
 [0.         0.         0.01007633]]
get_index(column: str | int, names: Sequence[str] | None = None) int[source]#

Get the index of a selected column.

Parameters:
  • column (ColumnType) – Index or name of selected column.

  • names (Sequence[str], optional) – (# params,) sequence of names to select from.

Returns:

Index.

Return type:

int

get_indices(columns: Sequence[int] | Sequence[str] | Sequence[bool] | None = None, names: Sequence[str] | None = None) ndarray[source]#

Get indices of the selected columns.

Parameters:
  • columns (ColumnsType, optional) – Sequence of columns to select. The

  • a (sequence can be) –

  • indices (int), or a (# params,) –

  • names (Sequence[str], optional) – (# params,) sequence of names to select from.

Returns:

(# selected params,) array of indices.

Return type:

np.ndarray

to_csv(filename: str) None[source]#

Write data to a csv.

Parameters:

filename (str) – Name of the file to write to.

class multiple_inference.base.ResultsBase(model: ModelType, title: str | None = None)[source]#

Base for results classes.

Parameters:
  • model (ModelBase) – Model on which the results are based.

  • title (str, optional) – Results title. Defaults to “Estimation results”.

conf_int(alpha: float = 0.05, columns: Sequence[int] | Sequence[str] | Sequence[bool] | None = None, **kwargs: Any) ndarray[source]#

Compute the 1-alpha confidence interval.

Parameters:
  • alpha (float, optional) – The CI will cover the truth with probability 1-alpha. Defaults to 0.05.

  • columns (ColumnsType, optional) – Selected columns. Defaults to None.

Returns:

(# params, 2) array of confidence intervals.

Return type:

np.ndarray

point_plot(yname: str | None = None, xname: Sequence[str] | None = None, title: str | None = None, columns: Sequence[int] | Sequence[str] | Sequence[bool] | None = None, ax=None, **kwargs: Any)[source]#

Create a point plot.

Parameters:
  • yname (str, optional) – Name of the endogenous variable. Defaults to None.

  • xname (Sequence[str], optional) – (# params,) sequence of parameter names. Defaults to None.

  • title (str, optional) – Plot title. Defaults to None.

  • columns (ColumnsType, optional) – Selected columns. Defaults to None.

  • ax (AxesSubplot, optional) – Axis to write on.

  • **kwargs (Any) – Passed to ResultsBase.conf_int().

Returns:

Plot.

Return type:

AxesSubplot

save(filename: str) None[source]#

Pickle results.

Parameters:

filename (str) – File name.

summary(yname: str | None = None, xname: Sequence[str] | None = None, title: str | None = None, alpha: float = 0.05, columns: Sequence[int] | Sequence[str] | Sequence[bool] | None = None, **kwargs: Any) Summary[source]#

Create a summary table.

Parameters:
  • yname (str, optional) – Name of the endogenous variable. Defaults to None.

  • xname (Sequence[str], optional) – Names of the exogenous variables. Defaults to None.

  • title (str, optional) – Table title. Defaults to None.

  • alpha (float, optional) – Display 1-alpha confidence interval. Defaults to 0.05.

  • columns (ColumnsType, optional) – Selected columns. Defaults to None.

  • **kwargs (Any) – Passed to ResultsBase.conf_int().

Returns:

Summary table.

Return type:

Summary