Release 0.10.0

Release summary

Statsmodels is using github to store the updated documentation. Two version are available:

Warning

API stability is not guaranteed for new features, although even in this case changes will be made in a backwards compatible way if possible. The stability of a new feature depends on how much time it was already in statsmodels master and how much usage it has already seen. If there are specific known problems or limitations, then they are mentioned in the docstrings.

Stats

Issues Closed: 1052 Pull Requests Merged: 469

The list of pull requests for this release can be found on github (The list does not include some pull request that were merged before the 0.9 release but not included in 0.9.)

The Highlights

Generalized Additive Models

GLMGam adds support for Generalized additive models.

Note

Status: experimental. This class has full unit test coverage for the core results with Gaussian and Poisson (without offset and exposure). Other options and additional results might not be correctly supported yet. (Binomial with counts, i.e. with n_trials, is most likely wrong in parts. User specified var or freq weights are most likely also not correct for all results.)

LogitGam adds a Logit version, although this is unfinished.

Conditional Models

Three conditional limited dependent variables models have been added: ConditionalLogit, ConditionalMNLogit and ConditionalPoisson. These are known as fixed effect models in Econometrics.

Dimension Reduction Methods

Three standard methods to perform dimension reduction when modeling data have been added: SlicedInverseReg, PrincipalHessianDirections, and SlicedAverageVarianceEstimation.

Regression using Quadratic Inference Functions (QIF)

Quadratic Inference Function, QIF, improve the estimation of GEE models.

Gaussian Process Regression

GaussianCovariance implements Gaussian process regression which is a nonparametric kernel-based method to model data. ProcessMLE is a generic class that can be used for other types of process regression. The results are returned in a ProcessMLEResults. kernel_covariance provides a method that uses kernel averaging to estimate a multivariate covariance function.

Burg’s Method

Burg’s method, burg, provides an alternative estimator for the parameters of AR models that is known to work well in small samples. It minimizes the forward and backward errors.

Time series Tools

A number of common helper function for decomposing a time series have been added: arma_innovations, innovations_algo, and innovations_filter. Two new PACF estimators have been added: levinson_durbin_pacf and pacf_burg.

Other

Knockoff effect estimation has been added for a many models: RegModelEffects, CorrelationEffects, OLSEffects, ForwardEffects, and OLSEffects.

Influence functions are available for GLM and generic MLE models: GLMInfluence and MLEInfluence.

What’s new - an overview

The following lists the main new features of statsmodels 0.10. In addition, release 0.10 includes bug fixes, refactorings and improvements in many areas.

Submodules

base

discrete

  • Improve performance by only computing matrix_rank(exog) once in DiscreteModel.initialize (PR #4805)

  • Improve performance in discrete models by avoiding repeated calculations (PR #4515)

  • Add cov_type to summary of discrete models (PR #5672, Issue #4581)

  • Add conditional multinomial logit (PR #5510)

  • Add conditional logistic and Poisson regression (PR #5304)

genmod

  • Fix arguments in poisson version of BayesMixedLM (PR #4809)

  • Ensure that column names are properly attached to the model (PR #4788)

  • Change cov_params in BayesMixedLM to act more like it does in other models (PR #4788)

  • Add missing predict and fit methods to BayesMixedGLM (PR #4702)

  • Add influence function support for GLM (PR #4732, Issue #4268, Issue #4257)

  • Fixed a bug in GEE where history was not saved (PR #5789)

  • Enable missing='drop' in GEE (PR #5771)

  • Improve score test to allow the submodel to be provided as a GEEResults object instead of as linear constraints (PR #5435)

  • Use GLM to get starting values for GEE (PR #5440)

  • Added regularized GEE (PR #5450)

  • Added Generalized Additive Models (GAM) (PR #5481, Issue #5370, Issue #5296, Issue #4575, Issue #2744, Issue #2435)

  • Added tweedie log-likelihood (PR #5521)

  • Added ridge regression by gradient for all GLM (PR #5521)

  • Added Tweedie EQL quasi-likelihood (PR #5543)

  • Allow dep_data to be specified using formula or names (PR #5345)

  • Fix a bug in stationary cov_struct for GEE (PR #5390)

  • Add QIC for GEE (PR #4909)

graphics

  • Allow QQ plots using samples with different sizes (PR #5673, Issue #2896, Issue #3169)

  • Added examples of many graphics functions to the documentation (PR #5607, Issue #5309)

  • Fixed a bug in interaction_plot which lost information in a pd.Series index (PR #5548)

  • Remove change of global pickle method in functional plots (PR #4963)

imputation

  • Add formula support to MI multiple imputation (PR #4722)

  • Saves the column names from pd.DataFrames and returns the imputed results as a DataFrame in BayesMI (PR #4722)

  • Fixed warnings in MICEData related to setting on copy (PR #5606, Issue #5431)

  • Allow results to be stored for multiple imputation (PR #5093)

  • Fixed a bug where MICEData sets initial imputation incorrectly (PR #5301, Issue #5254)

iolib

multivariate

nonparametric

  • Added input protection lowess` to ensure ``frac is always in bounds. (PR #5556)

  • Add check of inputs in KernelReg (PR #4968, Issue #4873)

regression

  • Fix bug in random effects covariance getter for MixedLM (PR #4704)

  • Add exact diffuse filtering for RecursiveLS (PR #4699)

  • Add Gaussian process regression (PR #4691)

  • Add linear restrictions to RecursiveLS (PR #4133)

  • Added regression with quadratic inference functions QIF (PR #5803)

  • Allow mediation to be used with MixedLM as a mediator and/or outcome model (PR #5489)

  • Add square root LASSO (PR #5516)

  • Add dimension reduction regression methods: SlicedInverseReg, PHD and SAVE (PR #5518)

  • Increased the number of methods available to optimize MixedLM models (PR #5551)

  • Added label to R2 when model is uncentered (PR #5083, Issue #5078)

  • Allow several optimizers to be tried in sequence for MixedLM (PR #4819)

  • Fix bug in Recursive LS with multiple constraints (PR #4826)

  • Fix a typo in ColinearityWarning (PR #4889, Issue #4671)

  • Add a finite check for _MinimalWLS (PR #4960)

  • Fix definition of R2 in GLS (PR #4967, Issue #1252, Issue #1171)

  • Add Burgs algorithm for estimating parameters of AR models (PR #5016)

sandbox

stats

  • Implements a simple method of moments estimator of a spatial covariance in kernel_covariance (PR #4726)

  • Fixed a bug in multiple function in ~statsmodels.stats.moment_helpers which prevents in-place modification of inputs (PR #5671, Issue #3362, Issue #2928)

  • Fixed a bug in contingency tables where shift was not correctly applied (PR #5654, Issue #3603, Issue #3579)

  • Added White’s two-moment specification test with null hypothesis of homoskedastic and correctly specified(PR #5602, Issue #4721)

  • Added adjusted p-values for Tukey’s HSD (Issue #5418, PR #5625)

  • Fixed a bug in medcouple that produced the incorrect estimate when there are ties in the data (PR #5397, Issue #5395)

  • Combine the real and knockoff features in init (PR #4920)

  • Modifying exog in-place leads to incorrect scaling (PR #4920)

  • Add Provide Knockoff+ (guaranteed to control FDR but slightly conservative) as well as Knockoff FDR (PR #4920)

  • Add RegModelEffects allows the user to specify which model is used for parameter estimation (PR #4920)

tools

  • Fixed a bug in group_sums that raised NameError (PR #5127)

tsa

  • Fix k_params in seasonal MAs (PR #4790, Issue #4789)

  • Fix prediction index in VAR predict (PR #4785, Issue #4784)

  • Standardized forecast error in state space when using Cholesky methods with partial missing data (PR #4770)

  • Add and fix VARMAX trend, exog. timing and polynomial trends (PR #4766)

  • Fix bug in exact diffuse filtering in complex data type case (PR #4743)

  • SARIMAX warns for non-stationary starting params (PR #4739)

  • Make arroots and maroots have consistent return type (PR #4559)

  • Add exact diffuse initialization to state space models (PR #4418, Issue #4042)

  • Allow concentrating scale out of log-likelihood in state space models (PR #3480)

  • Fixed a bug in coint_johansen that prevented it from running with 0 lags (PR #5783)

  • Improved performance in kpss using np.sum (PR #5774)

  • Enforce maximum number of lags in kpss (PR #5707)

  • Add arma_innovations to compute the innovations from an ARMA process (PR #5704)

  • Limit maximum lag length in adfuller so that model can always be estimated (PR #5699, Issue #5432, Issue #3330)

  • Added automatic data-dependent lag length selection in kpss (PR #5670, Issue #2781, Issue #5522)

  • Fixed a bug in VARMAX where the wrong form of the intercept was used when creating starting values (PR #5652, Issue #5651)

  • Fixed a bug sirf_errband_mc (PR #5641, Issue #5280)

  • Clarified error when input to ARMA is not a 1-d array (PR #5640, Issue #2575)

  • Improved the numerical stability of parameter transformation in ARIMA estimation (PR #5569)

  • Fixed a bug in the acf of a VAR which produced incorrect values (PR #5501)

  • Expose additional alternative estimation methods in pacf (PR #5153, Issue #3862)

  • Removed original implementation of Kalman Filter in favor of Cythonized version in statsmodels.tsa.statespace (PR #5171)

  • Issue warning when using VARResults.cov_params that it will become a method in the future (PR #5244)

  • Fix a bug in statespace models’ predict that would fail when using row labels (PR #5250)

  • Allow summary even if filter_results=None, which happens after save and load (PR #5252)

  • Fixed a bug in sequential simulation in models with state_intercept (PR #5257)

  • Add an analytic version of arma_acovf (PR #5324)

  • Add a fast ARMA innovation algorithm and loglike computation (PR #5360)

  • Fix a bug in the Initialization of simulation smoother with exact diffuse initialization (PR #5383)

  • Fix bug in simulation smoothed measurement disturbance with FILTER_COLLAPSED (PR #4810, Issue #4800)

  • Improve SARIMAX for time series close to non-stationary (PR #4815)

  • Use Cython to improve speed of Exponential Smoothing models (PR #4845)

  • Fix a bug in arma_order_selection when data is passed in as a list (PR #4890, Issue #4727)

  • Add explicit exceptions in ARMA/ARIMA forecast with missing or wrong exog (PR #4915, Issue #3737)

  • Remove incorrect endog from results if constraints (PR #4921)

  • Add nlag argument to acovf (PR #4937)

  • Set reasonable default lags for acf/pacf plots (PR #4949)

  • Add innovations algorithm to convert acov to MA (PR #5042)

  • Add and innovations filter to filter for observations in a MA (PR #5042)

  • Fix a bug in initialization when simulating in state space models (PR #5043)

maintenance

  • Switch to standard setup.py so that pip install statsmodels can succeed in an empty virtual environment

  • General compatibility fixes for recent versions of numpy, scipy and pandas

  • Added new CI using Azure Pipelines (PR #5617)

  • Enable linting on travis to ensure code is up to standards (PR #4820)

  • Add coverage for Cython code (PR #4871)

  • Improve import speed (PR #5831)

  • Make all version of docs available (PR #5879)

bug-wrong

A new issue label type-bug-wrong indicates bugs that cause that incorrect numbers are returned without warnings. (Regular bugs are mostly usability bugs or bugs that raise an exception for unsupported use cases.) see tagged issues

Major Bugs Fixed

See github issues for a list of bug fixes included in this release

Development summary and credits

Besides receiving contributions for new and improved features and for bugfixes, important contributions to general maintenance for this release came from

  • Chad Fulton

  • Brock Mendel

  • Peter Quackenbush

  • Kerby Shedden

  • Kevin Sheppard

and the general maintainer and code reviewer

  • Josef Perktold

Additionally, many users contributed by participation in github issues and providing feedback.

Thanks to all of the contributors for the 0.10 release (based on git log):

  • Amir Masoud Abdol

  • Andrew Davis

  • Andrew Kittredge

  • Andrew Theis

  • bertrandhaut

  • bksahu

  • Brock Mendel

  • Chad Fulton

  • Chris Snow

  • Chris Down

  • Daniel Saxton

  • donbeo

  • Emlyn Price

  • equinaut

  • Eric Larson

  • Evgeny Zhurko

  • fourpoints

  • Gabriel Reid

  • Harry Moreno

  • Hauke Jürgen Mönck

  • Hugo

  • hugovk

  • Huize Wang

  • JarnoRFB

  • Jarrod Millman

  • jcdang

  • Jefferson Tweed

  • Josef Perktold

  • jtweeder

  • Julian Taylor

  • Kerby Shedden

  • Kevin Sheppard

  • Loknar

  • Matthew Brett

  • Max Ghenis

  • Ming Li

  • Mitch Negus

  • Michael Handley

  • Moritz Lotze

  • Nathan Perkins

  • Nathaniel J. Smith

  • Niklas H

  • Peter Quackenbush

  • QuentinAndre

  • Ralf Gommers

  • Rebecca N. Palmer

  • Rhys Ulerich

  • Richard Barnes

  • RonLek

  • Stefaan Lippens

  • Tad seldovia

  • thequackdaddy

  • Tom Augspurger

  • Torsten Wörtwein

  • Varanelli

  • xrr

  • Yichuan Liu

  • zveryansky

  • 郭飞

These lists of names are automatically generated based on git log, and may not be complete.

Merged Pull Requests

The following Pull Requests were merged since the last release:

  • PR #2096: Score/LM conditional moment tests

  • PR #3480: ENH: State space: allow concentrating scale out of log-likelihood

  • PR #4048: Remove redundant code for dropped Python 2.6

  • PR #4133: ENH: Add linear restrictions to RecursiveLS

  • PR #4316: ensure MultinomialResults has J, K. Get rid of unnecessary lmap usage

  • PR #4322: Make DiscreteResults Unchanging

  • PR #4371: catch the correct exception, make assertions not-pointless

  • PR #4418: ENH: State space: Exact diffuse initialization

  • PR #4458: De-duplicate a bunch of identical code

  • PR #4468: remove unused resetlist

  • PR #4487: Get rid of non-standard imports and one-line functions

  • PR #4494: Fix imports math.foo –>np.foo in vecm

  • PR #4501: xfail test instead of commenting it out

  • PR #4515: PERF: Simplify algebra in discrete_model

  • PR #4559: REF: make arroots and maroots have consistent return type

  • PR #4560: Document and cleanup bits of cython code

  • PR #4576: Penalized mle scad rebased2

  • PR #4593: DOC:ArmaProcess class documentation typo fix

  • PR #4594: TEST/DOC: SMW linalg routines documentation and test

  • PR #4640: BF: DataTimeIndex.to_datetime removed in pandas

  • PR #4648: BUG/TEST: Make pattern order for multiple imputation deterministic

  • PR #4650: DISCUSS/BLD: Update minimum versions.

  • PR #4653: REF/MAINT: avoid dict with pandas

  • PR #4658: BLD: Use older version of Pandas for docbuild

  • PR #4683: ENH: add ultra-high screening with SCAD

  • PR #4686: TEST: Docstring edits and variable name changes for clarity

  • PR #4689: PERF: Declare temporary output for hessian

  • PR #4691: ENH: Gaussian process regression

  • PR #4692: DOC: Add GLM varfuncs and weights notebook to documentation

  • PR #4696: Configure doctr

  • PR #4698: REF: Remove compatibility mode for state space

  • PR #4699: ENH: Exact diffuse filtering for RecursiveLS

  • PR #4702: BUG: Add missing predict and fit methods to BayesMixedGLM

  • PR #4704: BUG Fix random effects covariance getter for MixedLM

  • PR #4712: BUG: add ModelWarning base class to avoid warning filter on standard UserWarning.

  • PR #4717: TST: allclose instead of exact match for floats and use machine precision

  • PR #4720: fix syntax-like error

  • PR #4722: ENH: Add formula support to MI multiple imputation

  • PR #4726: ENH Kernel covariance

  • PR #4728: TST: Openblas appveyor fixes

  • PR #4732: ENH: add GLMInfluence

  • PR #4736: DOC: Make custom function take effect

  • PR #4739: REF: SARIMAX: only warn for non stationary starting params

  • PR #4743: BUG: state space: exact diffuse filtering in complex data type case

  • PR #4750: DOC: Fix indentation of math formulas

  • PR #4753: DOC: Add notebook on concentrated scale in ssm

  • PR #4758: DOC: Added missing notebooks to examples

  • PR #4760: CLN: Provide better name for pooled risk ratio

  • PR #4763: replace copy/pasted code with import

  • PR #4766: BUG/ENH: VARMAX Fix trend / exog. timing. Add polynomial trends.

  • PR #4767: MAINT: gitignore univariate_diffuse pyx files.

  • PR #4770: BUG: State space: standardized forecast error when using Cholesky methods with partial missing data

  • PR #4777: MAINT: conda specify numpy-base

  • PR #4785: BUG: Get prediction index in VAR predict.

  • PR #4786: CLEAN: fix indentation by four typos

  • PR #4788: BUG: bayes mixed GLM maintenance

  • PR #4790: BUG: k_params if seasonal MA

  • PR #4805: Only compute matrix_rank(exog) once in DiscreteModel.initialize

  • PR #4809: BUG: fix arguments in poisson mixed model

  • PR #4810: BUG: simulation smoothed measurement disturbance with FILTER_COLLAPSED

  • PR #4814: CLEAN: Removed unnecessary and non-informative print

  • PR #4815: ENH/BUG: Improve SARIMAX for time series close to non-stationary

  • PR #4819: ENH: Allow several optimizers to be tried in sequence for MixedLM

  • PR #4820: Implement basic linting for Travis

  • PR #4823: Fix deprecation warnings

  • PR #4826: BUG/ENH: Recursive LS: fix bug w/ multiple constraints

  • PR #4834: Implement full flake8 checking for a subset of files in good condition

  • PR #4835: CLEAN: Fix tab indentation, lint for it

  • PR #4842: CLN: Flake8 fixups and linting for statespace files (but not tests)

  • PR #4844: CLN: Fully lint regime_switching

  • PR #4845: ENH: Improve speed in Exponential Smoothing

  • PR #4853: CLN/REF: Remove recarrays from datasets

  • PR #4855: BUG: Attach vc_names for mixed Poisson models

  • PR #4858: MAINT: Delete migrate_issues_gh

  • PR #4859: Fix some NameErrors, don’t delete unused […]

  • PR #4861: DOC: Fix small doc errors

  • PR #4864: CLN: fix and lint for W391 blank line at end of file

  • PR #4869: Update setup.cfg

  • PR #4871: BLD: Refactor Setup

  • PR #4872: MAINT: Remove nose and related references

  • PR #4879: CLN: Fix documentation for Levinson-Durbin

  • PR #4883: CLN: remove empty __main__ sections

  • PR #4886: CLN: Fully lint recursive_ls.py

  • PR #4889: REF: Rename ColinearityWarning

  • PR #4890: BUG: Add check to ensure array in arma order selection

  • PR #4891: BLD: Fix linting and move coverage

  • PR #4893: TST: Restore incorrectly disabled test

  • PR #4895: CLN: Fix and lint for misleading indentation E125,E129

  • PR #4896: CLN: Fix and lint for potential double-negatives E713,E714

  • PR #4897: CLN: Fix and lint for multiple spaces after keyword E271

  • PR #4900: CLN: Lint for missing whitespace around modulo operator E228,E401

  • PR #4901: CLN: Fix and lint for E124 closing bracket does not match visual indentation

  • PR #4909: ENH: QIC for GEE

  • PR #4910: CLN: Blank Lines E301,E302,E303,E305,E306 in examples, tools, sm.base

  • PR #4911: MAINT: Remove future errors and warnings

  • PR #4912: BLD: Rebased ci improvements

  • PR #4913: TST: Add a fixture to close all plots

  • PR #4914: CLN: Blanks E301,E302,E303,E305,E306 in tsa

  • PR #4915: ENH: explicit exceptions in ARMA/ARIMA forecast with missing or wrong exog

  • PR #4920: BUG/ENH: Two bug fixes and several enhancements to knockoff filter (regression fdr)

  • PR #4921: BUG: remove faux endog from results if constraints

  • PR #4924: CLN: E242 space after tab, enforce all passing rules

  • PR #4925: CLN: Enforce E721, use isinstance

  • PR #4926: CLN: Enforce E306, blank lines in nested funcs

  • PR #4927: CLN: Enforce E272, multiple spaces

  • PR #4929: BLD: Add linting for any new files

  • PR #4933: Remove unused patsy import in quantile_regression.ipynb

  • PR #4937: ENH: Add nlag argument to acovf

  • PR #4941: MAINT: remove exact duplicate file datamlw.py

  • PR #4943: TST: Relax tolerance on failing test

  • PR #4944: BLD: Add pinned numpy on appveyor

  • PR #4949: BUG: Set default lags for acf/pacf plots

  • PR #4950: DOC: Fix small typo in unit root testing example

  • PR #4953: DOC: Fix nagging issues in docs

  • PR #4954: BUG: disallow use_self=False

  • PR #4959: DOC: Clean up tsa docs

  • PR #4960: BUG: Add finite check for _MinimalWLS

  • PR #4963: BUG: Remove change of global pickle method

  • PR #4967: BUG: Fix definition of GLS r2

  • PR #4968: BUG: Check inputs in KernelReg

  • PR #4971: DOC: Switch to https where used

  • PR #4972: MAINT/CLN Remove .bzrignore

  • PR #4977: [BUG/MAINT] Fix NameErrors caused by missing kwargs

  • PR #4978: [MAINT/Test] skip test instead of mangling name in test_generic_methods

  • PR #4979: [MAINT/TST] remove np.testing.dec unused imports (nose dependency)

  • PR #4980: [MAINT/TST] skip/xfail tests instead of mangling/commenting-out in genmod, regression

  • PR #4981: [MAINT] Remove info.py

  • PR #4982: DOC Fix typo Paramters–>Parameters

  • PR #4983: [TST] xfail/skip instead of commenting-out/mangling discrete tests

  • PR #4984: [TST/DOC] make commented-out code in tests/results into readable docs

  • PR #4985: [TST/DOC] Make test comments more readable

  • PR #4986: [MAINT/TST] turn commented-out code into readable docs in results_arma

  • PR #4987: [TST/MAINT] turn commented-out code into readable docs in results_ar,…

  • PR #4988: [TST/MAINT] de-duplicate get_correction_factor code

  • PR #4989: [MAINT/CLN] Remove code made unusable due to license issue

  • PR #4990: [MAINT/CLN] remove numdiff __main__ section explicitly marked as scratch work

  • PR #4993: [TST/CLN] Turn decorators __main__ section into tests

  • PR #4995: [TST] make tools.linalg __main__ section into tests

  • PR #4998: [CLN/TST] Follow instructions to remove function

  • PR #4999: [MAINT] remove wrappers.py

  • PR #5000: [MAINT] update compat to remove unusable shims e.g. py26

  • PR #5002: [MAINT] add missing import

  • PR #5003: MAINT: fix invalid exception messages

  • PR #5005: [MAINT] remove unused imports in examples+tools

  • PR #5007: MAINT: unused imports in robust

  • PR #5011: [MAINT] remove text file relics from scikits/statsmodels

  • PR #5012: [MAINT/TST] move misplaced results files in regressions/tests

  • PR #5013: [MAINT] fix typo depricated–>deprecated

  • PR #5014: [MAINT] typo in __init__ signature

  • PR #5015: [MAINT] move misplaced test_tsa_indexes

  • PR #5016: ENH: Burgs algorithm

  • PR #5020: MAINT: fix incorrect docstring summary–>summary2

  • PR #5021: MAINT: fix typo duplicated References in docstring

  • PR #5024: MAINT: silenced as_pandas warnings in documentation

  • PR #5027: MAINT: remove functions duplicated from scipy

  • PR #5029: MAINT: strict linting for sm.stats files _close_ to already passing

  • PR #5040: MAINT: clean up x13.py, delete main

  • PR #5042: ENH: Add innovations algorithm

  • PR #5043: BUG: Initialization when simulating

  • PR #5045: MAINT: strict linting for tsa.statespace.tests.results

  • PR #5057: BUG: Correct check for callable

  • PR #5058: BUG: Don’t use mutable default values

  • PR #5059: BLD: Add line displaying CPU info to CI

  • PR #5065: TST: Fix incorrect assertion

  • PR #5070: MAINT: remove file that just says to remove it

  • PR #5071: MAINT: remove example file corresponding to removed module

  • PR #5074: MAINT: strict lint test_var.py

  • PR #5075: MAINT: strict linting test_univariate.py

  • PR #5076: ENH: more work on copula (deriv, classes)

  • PR #5079: MAINT: linting statespace tests

  • PR #5080: FIX failure caused by #5076

  • PR #5083: ENH: Add “(uncentered)” after rsquared label in .summary, .summary2 when appropriate

  • PR #5086: TST: parametrize tests instead of using for loops

  • PR #5088: DOC: Add javascript to link to other doc versions

  • PR #5090: MAINT: Chrome doesn’t like having a secure link with an unsecure image

  • PR #5093: Allow results to be stored for multiple imputation

  • PR #5096: ENH remove unneeded restriction on QIC (GEE)

  • PR #5099: MAINT: fix and lint for W292 newline at end of file

  • PR #5103: BUG: fix missing new_branch_dir arg in upload_pdf

  • PR #5105: BUG/DOC: Description of k_posdef

  • PR #5114: MAINT: many but not all trailing whitespace

  • PR #5119: CLN: remove unused imports in tools, sm.tsa

  • PR #5120: BUG: Ensure internal tester exits with error if needed

  • PR #5121: MAINT: Avoid star imports

  • PR #5122: MAINT: Modernize R–>py script, lint output

  • PR #5123: CLN: Move results files to a location that is copied to install

  • PR #5124: MAINT: fix generated double whitespace

  • PR #5127: BUG: Fix NameError in grouputils, make __main__ into tests

  • PR #5130: BUG: incorrect self.score in GenericLikelihoodModel; closes #4453

  • PR #5133: TST: apply stacklevel to warning in Family.__init__

  • PR #5135: MAINT: Fix warnings

  • PR #5136: TST: improve testing util functions; de-duplicate

  • PR #5138: CLN: Use cache_readonly instead of OneTimeProperty

  • PR #5141: MAINT: Delete bspline source files

  • PR #5143: ENH/BUG Bootstrap clone rebased

  • PR #5146: Clean up the smf namespace

  • PR #5148: REF/TST: add seed to hdrboxplot, Use random order in pytest

  • PR #5149: TST: Theil test randomseed

  • PR #5152: REF: Use iterative cumsum_n

  • PR #5153: ENH: Add additional options for pacf ols

  • PR #5156: TST: Remove __main__ sections in tests

  • PR #5162: TST: Fix incorrect test closes #4325

  • PR #5164: BF: drop tolerance of a zero_constrained test

  • PR #5165: MAINT: Add decorator for tests that use matplotlib

  • PR #5166: DOC: Fix section title in QIC

  • PR #5167: TST/BUG: Fix missing SkipTest

  • PR #5170: DEPR: Remove items deprecated in previous versions

  • PR #5171: MAINT: Remove kalmanf StateSpace code supplanted by tsa.statespace

  • PR #5176: TST: Fix random generation issue

  • PR #5177: DOC: Improve Holt Winters documentation

  • PR #5178: TST: Fix scale in test

  • PR #5180: TST: Change assert_approx_equal to assert_allclose

  • PR #5184: TST: parametrize tests in test_lme

  • PR #5188: BLD/TST: Add coverage for Cython files

  • PR #5191: MAINT: Remove selected __main__ sections

  • PR #5192: MAINT: Fix incorrect pass statements

  • PR #5193: MAINT: raise specific exceptions instead of just Exception

  • PR #5194: MAINT: fix incorrect TypeError –> ValueError

  • PR #5195: BLD: Include License in Wheel

  • PR #5196: TST: Set seed when using basin hopping

  • PR #5198: TST/CLN/BUG: Fix corr nearest factor

  • PR #5200: TST: Alter test condition due to parameter scale

  • PR #5201: TST/CLN: test_arima_exog_predict, Rescale data to avoid convergence issues

  • PR #5203: BUG: raise instead of return ValueError

  • PR #5204: MAINT: Avoid/Fix FutureWarnings

  • PR #5207: TST: Ensure random numbers are reproducible

  • PR #5208: TST/CLN: Tighten tol to reduce spurious test failure

  • PR #5210: BLD: Ensure master is available when linting

  • PR #5211: MAINT: Import instead of copy/pasting utils

  • PR #5213: MAINT: Move misplaced duration results files

  • PR #5214: MAINT: remove example-like file that could never run

  • PR #5217: MAINT: Remove outdated pandas compat shims

  • PR #5218: MAINT: Move misplaced genmod results files

  • PR #5219: fixed typo

  • PR #5222: MAINT: fully lint formula

  • PR #5223: MAINT: fully lint compat

  • PR #5224: REF: raise early on invalid method

  • PR #5227: MAINT: docstring and whitespace fixups

  • PR #5228: DOC: Fix many small errors in examples

  • PR #5230: DOC: Fix small doc build errors

  • PR #5232: TST: mark smoketests

  • PR #5237: TST: Add mac testing

  • PR #5239: BLD/TST: Add platform-specific skips to CI testing

  • PR #5240: MAINT: remove cythonize.py made unnecessary by #4871

  • PR #5242: DOC: Update release instructions [skip ci]

  • PR #5244: DEPR: warn that VARResults.cov_params will become method

  • PR #5246: DOC: Added documentation of elements in anova_lm

  • PR #5248: DOC: Revert incorrect docstring change [skip ci]

  • PR #5249: MAINT: Add Script to convert notebooks

  • PR #5250: BUG/TST: TSA models: _get_index_label_loc failed when using row labels.

  • PR #5251: DOC: Use correct “autoregressive” in docstring

  • PR #5252: BUG: Allow summary even if filter_results=None (e.g. after save, load

  • PR #5257: BUG: Sequential simulation in models with state_intercept

  • PR #5260: MAINT: avoid pandas FutureWarning by checking specific condition

  • PR #5262: MAINT: fix typos in pca, wrap long lines

  • PR #5263: BLD: Only unshallow when required

  • PR #5265: MAINT: Prefer signature over formatargspec

  • PR #5267: MAINT: implement _wrap_derivative_exog for de-duplication

  • PR #5269: MAINT: De-duplicate code in iolib.summary

  • PR #5272: WIP/MAINT: Identify defunct code in summary methods

  • PR #5273: Fix incorrect parameter name in docstring

  • PR #5274: MAINT: remove self.table pinning

  • PR #5275: ENH/BUG Modify GEE indexing to remove numpy warnings

  • PR #5277: DOC: Clarify/fix docs on GLM scale estimation for negative binomial

  • PR #5292: DOC: Remove only_directive

  • PR #5295: TST: Added random seed to test_gee and verifed working

  • PR #5300: DOC fix docstring in stattools.py

  • PR #5301: BUG: MICEData sets initial imputation incorrectly

  • PR #5304: ENH: conditional logistic and Poisson regression

  • PR #5306: DOC: Workarounds to fix docbuild

  • PR #5308: REF: Collect covtype descriptions, de-duplicate normalization func

  • PR #5314: DOC: minor fix on documentation on Durbin Watson test

  • PR #5322: DOC: Move magic

  • PR #5324: ENH: analytic version of arma_acovf

  • PR #5325: BUG/TST: Fix innovations_filter, add test vs Kalman filter

  • PR #5335: MAINT: eliminate some pytest warnings

  • PR #5345: ENH: Allow dep_data to be specified using formula or names

  • PR #5348: Set python3 as interpreter for doc tools

  • PR #5352: CLN: Fix F901 and E306 mixups

  • PR #5353: CLN: W605 fixups in vector_ar

  • PR #5359: BUG: raise correct error

  • PR #5360: ENH: Fast ARMA innovation algorithm and loglike computation

  • PR #5369: MAINT: disable pytest minversion check (broken in pytest 3.10.0)

  • PR #5383: BUG: Initialization of simulation smoother with exact diffuse initialization

  • PR #5390: BUG/ENH: modify stationary cov_struct for GEE

  • PR #5397: BUG: Fix medcouple with ties

  • PR #5399: CLN: Fix some invalid escapes

  • PR #5421: CLN: informative names for test functions

  • PR #5424: MAINT: conda-forge use gcc7

  • PR #5426: Misspelling in the documentation proportions_ztest

  • PR #5435: ENH Score test enhancements for GEE

  • PR #5440: ENH: Use GLM to get starting values for GEE

  • PR #5449: ENH/DOC: Added linting instruction in CONTRIBUTING.rst

  • PR #5450: ENH: regularized GEE

  • PR #5462: Fixed broken link for Guerry Dataset

  • PR #5471: Fix broken link

  • PR #5481: ENH: Generalized Additive Models and splines (Gam 2744 rebased4)

  • PR #5484: DOC: fix gam.rst

  • PR #5485: MAINT: Travis fixes

  • PR #5489: ENH: Mediation for Mixedlm

  • PR #5494: BUG: Bad escapes

  • PR #5497: Fix typo in docstring

  • PR #5501: BUG: Correct error in VAR ACF

  • PR #5510: ENH Conditional multinomial logit

  • PR #5513: DOC: Fix spelling

  • PR #5516: ENH square root lasso

  • PR #5518: ENH dimension reduction regression

  • PR #5521: ENH: Tweedie log-likelihood (+ridge regression by gradient for all GLM)

  • PR #5532: DOC/ENH Docstring updates for clogit

  • PR #5541: DOC: Describe binomial endog formats

  • PR #5542: BUG/TEST: py27 needs slacker tolerances

  • PR #5543: BUG: Tweedie EQL quasi-likelihood

  • PR #5548: keep index of series when recoding a series

  • PR #5551: ENH: extend mixedlm optimizer attempts

  • PR #5556: Update _smoothers_lowess.pyx

  • PR #5566: Add project_urls to setup

  • PR #5567: Correct a spell mistake

  • PR #5569: ENH: Improve numerical stability of _ar_transparams, _ar_invtransparams

  • PR #5582: Jbrockmendel w605b

  • PR #5583: MAINT: Set language level for Cython

  • PR #5584: MAINT: Remov deprecation issues

  • PR #5586: DOC: Add issue and pr templates

  • PR #5587: MAINT: Resolve additional deprecations

  • PR #5588: BUG: Replace $$ in generated LaTeX

  • PR #5589: DOC: Updated the for all i, j

  • PR #5590: MAINT: Reorder travis so that legacy fails early

  • PR #5591: Jbrockmendel manywarns3

  • PR #5592: Jbrockmendel pversion

  • PR #5593: MAINT: remove never-needed callable and never-used compat functions

  • PR #5594: TST: Ensure test is identical in all runs

  • PR #5595: MAINT: Remove warnings from tests

  • PR #5596: TST: Explicitly set seed in basinhopping

  • PR #5597: MAINT: Remove unavailable imports

  • PR #5599: DOC: More emphasis and fix reference

  • PR #5600: TST: Relax tolerance for OpenBlas issue

  • PR #5601: Update mixed_linear.rst

  • PR #5602: ENH: White spec test (clean commit for PR 4721)

  • PR #5604: MAINT: Update template to encourage master check

  • PR #5605: Guofei9987 modify comments proportion confint

  • PR #5606: Mattwigway mice setting with copy warning

  • PR #5607: Jtweeder graphics addgraphics

  • PR #5611: BUG: Stop hardcoding parameters in results

  • PR #5612: MAINT: Ensure no warnings are produced by foreign

  • PR #5613: DOC: Improve PR template [skip ci]

  • PR #5614: MAINT: Deprecate scale in test function

  • PR #5615: Thequackdaddy docs

  • PR #5616: Bulleted list and minor typos in ttest_ind

  • PR #5617: CI: Implement azure-pipelines with multi-platform support

  • PR #5621: CLN: simplify lint configuration, fix some invalid escapes

  • PR #5622: DOC: Restore import

  • PR #5625: Andrew d davis tukey pvals

  • PR #5626: MAINT: Improve user-facing error message

  • PR #5627: BLD: Remove redundant travis config

  • PR #5628: MAINT: Relax tolerance on OSX only

  • PR #5630: MAINT: Enable xdist on azure

  • PR #5631: MAINT: Allow webuse fail

  • PR #5633: TST: change skip to xfail for test_compare_numdiff on OSX

  • PR #5634: Gabrielreid pandas multiindex handling bug

  • PR #5635: MAINT: Add a codecov config file

  • PR #5636: DOC: Update badges [skip ci]

  • PR #5637: CLN: strict linting for tools directory

  • PR #5638: MAINT: remove file with note to remove in 0.5.0

  • PR #5640: ENH: Improve error when ARMA endog is not 1d

  • PR #5641: Josef pkt svar irf errband 5280

  • PR #5642: TST: Relax tolerance on OSX for OpenBlas issues

  • PR #5643: MAINT: Consoliate platform checks

  • PR #5644: CLN/DOC: Remove unused module, vbench references

  • PR #5645: TST: Allow network failure in web tests

  • PR #5646: BUG: Fix MANOVA when not using formulas

  • PR #5647: TST: Adjust test_irf atol

  • PR #5648: BUG: Replace midrule with hline

  • PR #5649: CLN: strict linting for robust/tests directory

  • PR #5650: MAINT: Fix error in lint script

  • PR #5652: ENH/BUG: Use intercept form of trend / exog in VARMAX start params (not mean form)

  • PR #5653: MAINT: Reformat exceptions

  • PR #5654: Evgenyzhurko fix contingency table

  • PR #5655: BUG: summary2 use float_format when creating _simple_tables see #1964

  • PR #5656: BLD: Add linting to azure

  • PR #5657: TST: Protect multiprocess using test

  • PR #5658: BLD: Match requirements in setup and requirements

  • PR #5659: TST: Allow corr test to fail on Win32

  • PR #5660: MAINT: Fix make.bat [skip ci]

  • PR #5661: TST: Relax test tolerance on OSX

  • PR #5662: TST: Protect multiprocess on windows

  • PR #5663: MAINT: Add test runners

  • PR #5664: CLN: Fix and lint for E703 statements ending in semicolon

  • PR #5666: TST: Relax tolerance for irf test on windows

  • PR #5667: TST: Adjust tol and reset random state

  • PR #5668: TST: Adjust tolerance for test on windows

  • PR #5669: MAINT: Remove unused code

  • PR #5670: Jim varanelli issue2781

  • PR #5671: BUG: fix stats.moment_helpers inplace modification

  • PR #5672: ENH: Add cov type to summary for discrete models

  • PR #5673: ENH: Allow comparing two samples with different sizes

  • PR #5675: CLN: strict linting for emplike/tests

  • PR #5679: DOC: Clarify that predict expects arrays in dicts [skip ci]

  • PR #5680: ENH: Allow const idx to be found

  • PR #5681: BUG: Always set mle_retvals

  • PR #5683: BUG: Escape strings for latex output

  • PR #5684: BUG: fix df in summary for single constraint in wald_test_terms

  • PR #5685: Spelling

  • PR #5686: DOC: Fix parameter description in weightstats

  • PR #5691: MAINT: Near-duplicate example file, remove dominated version

  • PR #5693: CLN: Fix invalid escapes where possible

  • PR #5694: MAINT: Fix NameErrors in correlation_structures

  • PR #5695: MAINT: remove NameError-having version of levinson_durbin, just keep …

  • PR #5696: CLN: remove identical functions from garch

  • PR #5697: CLN: strict linting for examples/

  • PR #5698: PERF: Avoid impplicit check when hasconst

  • PR #5699: BUG: Limit lag length in adf

  • PR #5700: MAINT: Update import of URLError

  • PR #5701: MAINT: missing imports, typos, fixes several NameErrors

  • PR #5702: MAINT: clean up docstring’d-out failure in __main__ block

  • PR #5703: MAINT: confirm that docstring’d-out traceback no longer raises; remove

  • PR #5704: ENH: expose innovations computation method to API.

  • PR #5705: WIP: TST: Sort dicts in test_multi

  • PR #5707: ENH: KPSS - detailed error message when lags > nobs

  • PR #5709: TST: Fix bad bash

  • PR #5710: CLN: clean up over/under indentation in tsa.tests.results, E12 codes

  • PR #5712: CLN: fix invalid escapes in test_stattools introduced in #5707

  • PR #5713: CLN/EX: Troubleshoot broken example, clean up now-working scratch paper

  • PR #5715: CLN: ellipses-out invalid escapes traceback

  • PR #5716: MAINT: Fix incorrect specification of loglike arg

  • PR #5717: MAINT: fix non-working example ex_pandas

  • PR #5720: CLN: remove impossible commented-out imports, close several

  • PR #5721: CLN: strict linting for dimred, processreg, and their tests.

  • PR #5723: Spelling fix in ValueError message

  • PR #5724: MAINT: close assorted small issues

  • PR #5726: DOC: Remove redundant attributes in GLM

  • PR #5728: CLN: remove and lint for unused imports

  • PR #5729: MAINT: use dummy_sparse func within method, see GH#5687

  • PR #5730: CLN: strict linting for discrete.tests.results

  • PR #5732: CLN: strict linting for genmod/tests/results

  • PR #5734: CLN: codes with only a few violations apiece

  • PR #5736: CLN: strict linting for regression/tests/results

  • PR #5737: CLN: strict linting for tsa.filters

  • PR #5738: CLN: strict linting for stats/tests/results/

  • PR #5740: CLN: strict linting for tsa.tests.results

  • PR #5742: CLN: strict linting for remaining results directories

  • PR #5743: CLN: strict linting for results files in sandbox/regression/tests/

  • PR #5744: CLN: Fix/lint for dangerious redefinitions and comparisons

  • PR #5746: MAINT: fix missing or redundant imports

  • PR #5748: CLN: clean up adfvalues, avoid using eval

  • PR #5750: CLN: E131 hanging indentation alignment

  • PR #5758: CLN: lint for ambiguous variable names

  • PR #5760: TST: test for intentionally emitted warnings, avoid some unintentional ones

  • PR #5762: BUG: rename wts to weights issue #4725

  • PR #5765: BUG/TST: Fix+test pieces of code that would raise NameError

  • PR #5770: DEPR: deprecate StataReader, StataWriter, genfromdta

  • PR #5771: ENH: improve missing data handling for GEE

  • PR #5774: PERF: use np.sum(…) instead of sum(…)

  • PR #5778: CLN: strict linting for test_varmax

  • PR #5780: TST: Protext against SSLError

  • PR #5781: CLN: Replace #5779

  • PR #5783: BUG: Ensure coint_johansen runs with 0 lags

  • PR #5789: BUG: GEE fit_history

  • PR #5791: Holder bunch

  • PR #5792: MAINT: matplotlib normed -> density

  • PR #5793: MAINT: Adjust tolerance for random fail on OSX

  • PR #5796: CLN: test_data.py

  • PR #5798: BUG: ignore bugs instead of fixing them

  • PR #5801: CI: Consolidate coveragerc spec

  • PR #5803: ENH: QIF regression

  • PR #5805: REF/CLN: collect imports at top of file, de-duplicate imports

  • PR #5815: CLN: test_gee.py

  • PR #5816: CLN: genmod/families/

  • PR #5818: CLN: qif

  • PR #5825: MAINT: use correct key name to check cov params presence

  • PR #5830: DOC: Add docstring for base class

  • PR #5831: PERF: Import speed

  • PR #5833: BUG: ARIMA fit with trend and constant exog

  • PR #5834: DOC: Fix small errors in release notes

  • PR #5839: MAINT: RangeIndex._start deprecated in pandas 0.25

  • PR #5836: CLN: over-indentation E117

  • PR #5837: CLN: invalid escapes in linear_model

  • PR #5843: MAINT: Catch intentional warnings

  • PR #5846: DOC: Update maintainer

  • PR #5847: BUG: Allow NumPy ints #

  • PR #5848: BUG: Warn rather than print

  • PR #5850: MAINT: Improve error message

  • PR #5851: BUG: Refactor method used to name variables

  • PR #5853: BUG: Add check for xnames length

  • PR #5854: BUG: Fix MNLogit summary with float values

  • PR #5857: BUG: Allow categorical to accept pandas dtype

  • PR #5858: BUG: Fix default alignment for SimpleTable

  • PR #5859: DOC: fix incorrect ARResults.predict docstring, closes #4498

  • PR #5860: Cdown gofplot typerror

  • PR #5863: MAINT: Use pd.Categorical() instead of .astype(‘categorical’)

  • PR #5868: BUG: State space univariate smoothing w/ time-varying transition matrix: wrong transition matrix used

  • PR #5869: DOC: Improve ExponentialSmoothing docstring

  • PR #5875: DOC: Improve bug report template

  • PR #5876: BUG: Ensure keywords exist in partial reg plot

  • PR #5879: DOC: Update version dropdown javascript