Release 0.12.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 main 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: 239

Pull Requests Merged: 221

The Highlights

Statistics

New functions for hypothesis tests return a HolderTuple instance which allows tuple indexing and unpacking for (statistic, pvalue), but also has attribute access for those and for additional results statistics.

Meta-Analysis

Functions for Meta-Analysis have been added in meta_analysis. The function combine_effects performs fixed effects and random effects analysis. Several methods such as Paule-Mandel and DerSimonian-Laird are available to estimate the random effects variance. The module also includes effect size functions for standardized mean difference and for proportions that can be used with combine_effects. A notebook illustrates the usage of the new features for meta-analysis.

New hypothesis test for 2 samples

Hypothesis tests, confidence intervals and power functions have been added for proportions from two independent samples. Inferential statistics are available for difference, ratio and odds-ratio of the two proportions. Equivalence testing for two independent proportions is available based on two one-sided tests TOST.

Hypothesis tests including equivalence test, for the ratio of two independent Poisson rates are now available in test_poisson_2indep and tost_poisson_2indep

Oneway ANOVA-type analysis

Several statistical methods for ANOVA-type analysis of k independent samples have been added in module oneway. This includes standard Anova, Anova for unequal variances (Welch, Brown-Forsythe for mean), Anova based on trimmed samples (Yuen anova) and equivalence testing using the method of Wellek. Anova for equality of variances or dispersion are available for several transformations. This includes Levene test and Browne-Forsythe test for equal variances as special cases. It uses the anova_oneway function, so unequal variance and trimming options are also available for tests on variances. Several functions for effect size measures have been added, that can be used for reporting or for power and sample size computation.

Multivariate statistics

The new module multivariate includes one and two sample tests for multivariate means, Hotelling’s t-tests’, test_mvmean, test_mvmean_2indep and confidence intervals for one-sample multivariate mean confint_mvmean Additionally, hypothesis tests for covariance patterns, and for oneway equality of covariances are now available in several test_cov functions.

Time-Series Analysis

New exponential smoothing model: ETS (Error, Trend, Seasonal)

  • Class implementing ETS models ETSModel.

  • Includes linear and non-linear exponential smoothing models

  • Supports parameter fitting, in-sample prediction and out-of-sample forecasting, prediction intervals, simulation, and more.

  • Based on the innovations state space approach.

Statespace Models

New dynamic factor model for large datasets and monthly / quarterly mixed frequency models

  • New dynamic factor model DynamicFactorMQ.

  • Allows for hundreds of observed variables, by fitting with the EM algorithm

  • Allows specifying factors that load only on a specific group of variables

  • Allows for monthly / quarterly mixed frequency models. For example, this supports one popular approach to “Nowcasting” GDP

Decomposition of forecast updates based on the “news”

  • New news method for state space model results objects

  • Links updated data to changes in forecasts

  • Supports “nowcasting” exercises that progressively incorporate more and more information as time goes on

Sparse Cholesky Simulation Smoother

  • New option for simulation smoothing in state space models via the “Cholesky factor algorithm” (CFA) approach in CFASimulationSmoother

  • Takes advantage of algorithms for sparse Cholesky factorization, rather than using the typical simulation smoother based on Kalman filtering and smoothing

Option to use Chadrasekhar recursions

  • New option for state space models to use Chandrasekhar recursions rather than than the typical Kalman filtering recursions by setting filter_chandrasekhar=True.

  • Improved performance for some models with large state vectors

Forecasting Methods

Two popular method for forecasting time series, forecasting after STL decomposition (STLForecast) and the Theta model (ThetaModel) have been added.

Complex Deterministic Terms

DeterministicProcess can be used to generate deterministic processes containing time trends, seasonal dummies and Fourier components. A DeterministicProcess can be used to produce in-sample regressors or out-of-sample values suitable for forecasting.

What’s new - an overview

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

Submodules

Documentation

  • Fix the version that appears in the documentation (PR #6452)

  • Send log to dev/null/ (PR #6456)

  • Correct spelling of various (PR #6518)

  • Fix typos (PR #6531)

  • Update interactions_anova.ipynb (PR #6601)

  • Fix true type on statespace docs page (PR #6616)

  • Minor fixes for holtwinters simulate (PR #6631)

  • Change OLS example to use datasets (PR #6656)

  • Fix AutoReg docstring (PR #6662)

  • Fix fdrcorrection docstring missing is_sorted parameter (PR #6680)

  • Add new badges (PR #6704)

  • Fix number if notebook text (PR #6709)

  • Improve Factor and related docstrings (PR #6719)

  • Improve explantion of missing values in ACF and related (PR #6726)

  • Notebook for quasibinomial regression (PR #6732)

  • Improve “conservative” doc (PR #6738)

  • Update broken link (PR #6742)

  • Fix broken links with 404 error (PR #6746)

  • Demonstrate variance components analysis (PR #6758)

  • Make deprecations more visible (PR #6775)

  • Numpydoc signatures (PR #6825)

  • Correct reference in docs (PR #6837)

  • Include dot_plot (PR #6841)

  • Updated durbin_watson Docstring and Tests (PR #6848)

  • Explain low df in cluster (PR #6853)

  • Fix common doc errors (PR #6862)

  • Small doc fixes (PR #6874)

  • Fix issues in docs related to exponential smoothing (PR #6879)

  • Spelling and other doc fixes (PR #6902)

  • Correct spacing around colon in docstrings (PR #6903)

  • Initial 0.12 Release Note (PR #6923)

  • Fix doc errors and silence warning (PR #6931)

  • Clarify deprecations (PR #6932)

  • Document exceptions and warnings (PR #6943)

  • Update pandas function in hp_filter example (PR #6946)

  • Prepare docs (PR #6948)

  • Fix final issues in release note (PR #6951)

  • Final doc fixed for 0.12.0rc0 (PR #6965)

  • Update DeterministicProcess docs (PR #6968)

  • Add docstring to string_like method (PR #6972)

  • Fix LaTeX in seasonal notebook (PR #6976)

  • Add new stats to release notes for 0.12 (PR #7001)

Performance

  • State space: add Chandrasekhar recursions (PR #6411)

  • Speed up HC2/HC3 standard error calculation, using less memory (PR #6664)

  • Sparse matrices in MixedLM (PR #6766)

backport

  • MLEResults.states.predicted has wrong index (PR #6580)

  • State space: simulate with time-varying covariance matrices. (PR #6607)

  • State space: error with collapsed observations when missing (PR #6613)

  • Dataframe/series concatenation in statespace results append (PR #6768)

  • Pass cov_type, cov_kwargs through ARIMA.fit (PR #6770)

base

  • Don’t attach patsy constraint instance (PR #6521)

  • Fix constraints and bunds when use scipy.optimize.minimize (PR #6657)

  • Correct shape of fvalue and f_pvalue (PR #6831)

  • Correct dimension when data removed (PR #6888)

build

discrete

  • Don’t attach patsy constraint instance (PR #6521)

  • Sparse matrices in MixedLM (PR #6766)

  • Catch warnings in discrete (PR #6836)

  • Add improved .cdf() and .ppf() to discrete distributions (PR #6938)

  • Remove k_extra from effects_idx (PR #6939)

  • Improve count model tests (PR #6940)

docs

duration

  • Allow more than 2 groups for survdiff in statsmodels.duration (PR #6626)

gam

  • Fix GAM for 1-dim exog_linear (PR #6520)

  • Fixed BSplines to match existing docs (PR #6915)

genmod

  • Change default optimizer for glm/ridge and make it user-settable (PR #6438)

  • Fix exposure/offset handling in GEEResults (PR #6475)

  • Use GLM starting values for QIF (PR #6514)

  • Don’t attach patsy constraint instance (PR #6521)

  • Allow GEE weights to vary within clusters (PR #6582)

  • Calculate AR covariance parameters for gridded data (PR #6621)

  • Warn for non-convergence in elastic net (PR #6697)

  • Gh 6627 (PR #6852)

  • Change of BIC formula in GLM (PR #6941)

  • Make glm’s predict function return numpy array even if exposure is a pandas series (PR #6942)

  • Fix check for offset_exposure in null (PR #6957)

  • Add test for offset exposure null (PR #6959)

graphics

  • Include figsize as parameter for IRF plot (PR #6590)

  • Speed up banddepth calculations (PR #6744)

  • Fix logic in labeling corr plot (PR #6818)

  • Enable qqplot_2sample to handle uneven samples (PR #6906)

  • Support frozen dist in ProbPlots (PR #6910)

io

  • Handle pathlib.Path objects (PR #6654)

  • Added label option to summary.to_latex() (PR #6895)

  • Fixed the shifted column names in summary.to_latex() (PR #6900)

  • Removed additional hline between tabulars (PR #6905)

maintenance

  • Special docbuild (PR #6457)

  • Special docbuild” (PR #6460)

  • Correcting typo (PR #6461)

  • Avoid noise in f-pvalue (PR #6465)

  • Replace Python 3.5 with 3.8 on Azure (PR #6466)

  • Update supported versions (PR #6467)

  • Fix future warnings (PR #6469)

  • Fix issue with ragged array (PR #6471)

  • Avoid future error (PR #6473)

  • Silence expected visible deprecation warning (PR #6477)

  • Remove Python 3.5 references (PR #6492)

  • Avoid calling depr code (PR #6493)

  • Use travis cache and optimize build times (PR #6495)

  • Relax tolerance on test that occasionally fails (PR #6534)

  • Relax tolerance on test that randomly fails (PR #6588)

  • Fix appveyor/conda (PR #6653)

  • Delete empty directory (PR #6671)

  • Flake8 fixes (PR #6710)

  • Remove deprecated keyword (PR #6712)

  • Remove OrderedDict (PR #6715)

  • Remove dtype np.integer for avoid Dep Warning (PR #6728)

  • Update pip-pre links (PR #6733)

  • Spelling and small fixes (PR #6752)

  • Remove error on FutureWarning (PR #6811)

  • Fix failing tests (PR #6817)

  • Replace Warnings with Notes in regression summary (PR #6828)

  • Numpydoc should work now (PR #6842)

  • Deprecate categorical (PR #6843)

  • Remove redundant definition (PR #6845)

  • Relax tolerance on test that fails Win32 (PR #6849)

  • Fix error on nightly build (PR #6850)

  • Correct debugging info (PR #6855)

  • Mark VAR from_formula as NotImplemented (PR #6865)

  • Allow skip if rdataset fails (PR #6871)

  • Improve lint (PR #6885)

  • Change default lag in serial correlation tests (PR #6893)

  • Ensure setuptools is imported first (PR #6894)

  • Remove FutureWarnings (PR #6920)

  • Add tool to simplify documenting API in release notes (PR #6922)

  • Relax test tolerance for future compat (PR #6945)

  • Fixes for failures in wheel building (PR #6952)

  • Fixes for wheel building (PR #6954)

  • Remove print statements (PR #6985)

  • Update Azure images (PR #6992)

multivariate

  • Multivariate mean tests and confint (PR #4107)

  • Improve missing value handling in PCA (PR #6705)

nonparametric

  • Fix #6511 (PR #6515)

  • Fix domain check (PR #6547)

  • Ensure sigma estimate is positive in KDE (PR #6713)

  • Fix access to normal_reference_constant (PR #6806)

  • Add xvals param to lowess smoother (PR #6908)

  • Return self from KDEUnivariate fit (PR #6991)

  • Allow custom bandwidth functions in KDEUnivariate fit (PR #7002)

regression

  • Statsmodels.regression.linear_model.OLS.fit_regularized fails to generate correct answer (#6604) (PR #6608)

  • Change OLS example to use datasets (PR #6656)

  • Speed up HC2/HC3 standard error calculation, using less memory (PR #6664)

  • Fix summary col R2 ordering (PR #6714)

  • Insufficient input checks in QuantReg (PR #6747)

  • Add expanding initialization to RollingOLS/WLS (PR #6838)

  • Add a note when R2 is uncentered (PR #6844)

robust

  • Add normalized iqr to robust.scales (PR #6969)

  • Robust.scale.iqr does need centering, since quantiles are translation equivariant (PR #6973)

  • Add robust qn scale (PR #6990)

  • Fix bug where mad ignores center if center is not callable (PR #7000)

stats

  • Multivariate mean tests and confint (PR #4107)

  • Fix tukey-hsd for 1 pvalue (PR #6470)

  • Add option for original Breusch-Pagan heteroscedasticity test (PR #6508)

  • ENH Allow optional regularization in local fdr (PR #6622)

  • Add meta-analysis (basic methods) (PR #6632)

  • Add two independent proportion inference rebased (PR #6675)

  • Rates, poisson means two-sample comparison rebased (PR #6677)

  • Stats.base, add HolderTuple, Holder class with indexing (PR #6678)

  • Add covariance structure hypothesis tests (PR #6693)

  • Raise exception when recursive residual is not well defined (PR #6727)

  • Mediation support for PH regression (PR #6782)

  • Stats robust rebased2 (PR #6789)

  • Hotelling’s Two Sample Mean Test (PR #6810)

  • Stats moment_helpers use random state in unit test (PR #6835)

  • Updated durbin_watson Docstring and Tests (PR #6848)

  • Add recent stats addition to docs (PR #6859)

  • REF/DOC docs and refactor of recent stats (PR #6872)

  • Api cleanup and improve docstrings in stats, round 3 (PR #6897)

  • Improve descriptivestats (PR #6944)

  • Catch warning (PR #6964)

tools

  • Return column information in add_constant (PR #6830)

  • Add QR-based matrix rank (PR #6834)

  • Add Root Mean Square Percentage Error (PR #6926)

tsa

  • Fixes #6553, sliced predicted values according to predicted index (PR #6556)

  • Holt-Winters simulations (PR #6560)

  • Example notebook (r): stationarity and detrending (ADF/KPSS) (PR #6614)

  • Ensure text comparison is lower (PR #6628)

  • Minor fixes for holtwinters simulate (PR #6631)

  • New exponential smoothing implementation (PR #6699)

  • Improve warning message in KPSS (PR #6711)

  • Change trend initialization in STL (PR #6722)

  • Add check in test_whiteness (PR #6723)

  • Raise on incorrectly sized exog (PR #6730)

  • Add deterministic processes (PR #6751)

  • Add Theta forecasting method (PR #6767)

  • Automatic lag selection for Box-Pierce, Ljung-Box #6645 (PR #6785)

  • Fix missing str (PR #6827)

  • Add support for PeriodIndex to AutoReg (PR #6829)

  • Error in append for ARIMA model with trend (PR #6832)

  • Add QR-based matrix rank (PR #6834)

  • Rename unbiased to adjusted (PR #6839)

  • Ensure PACF lag length is sensible (PR #6846)

  • Allow Series as exog in predict (PR #6847)

  • Raise on nonstationary parameters when attempting to use GLS (PR #6854)

  • Relax test tolerance (PR #6856)

  • Limit maxlags in VAR (PR #6867)

  • Fix indexing with HoltWinters’s forecast (PR #6869)

  • Refactor Holt-Winters (PR #6870)

  • Fix raise exception on granger causality test (PR #6877)

  • Get_prediction method for ETS (PR #6882)

  • Ets: test for simple exponential smoothing convergence (PR #6884)

  • Added diagnostics test to ETS model (PR #6892)

  • Stop transforming ES components (PR #6904)

  • Fix extend in VARMAX with trend (PR #6909)

  • Add STL Forecasting method (PR #6911)

  • Dynamic is incorrect when not an int in statespace get_prediction (PR #6917)

  • Correct IRF nobs with exog (PR #6925)

  • Add get_prediction to AutoReg (PR #6927)

  • Standardize forecast API (PR #6933)

  • Fix small issues post ETS get_prediction merge (PR #6934)

  • Modify failing test on Windows (PR #6949)

  • Improve ETS / statespace documentation and highlights for v0.12 (PR #6950)

  • Remove FutureWarnings (PR #6958)

tsa.statespace

  • State space: add Chandrasekhar recursions (PR #6411)

  • Use reset_randomstate (PR #6433)

  • State space: add “Cholesky factor algorithm” simulation smoothing (PR #6501)

  • Bayesian estimation of SARIMAX using PyMC3 NUTS (PR #6528)

  • State space: compute smoothed state autocovariance matrices for arbitrary lags (PR #6579)

  • MLEResults.states.predicted has wrong index (PR #6580)

  • State space: simulate with time-varying covariance matrices. (PR #6607)

  • State space: error with collapsed observations when missing (PR #6613)

  • Notebook describing how to create state space custom models (PR #6682)

  • Fix covariance estimation in parameterless models (PR #6688)

  • Fix state space linting errors. (PR #6698)

  • Decomposition of forecast updates in state space models due to the “news” (PR #6765)

  • Dataframe/series concatenation in statespace results append (PR #6768)

  • Pass cov_type, cov_kwargs through ARIMA.fit (PR #6770)

  • Improve univariate smoother performance (PR #6797)

  • Add news example notebook image. (PR #6800)

  • Fix extend in VARMAX with trend (PR #6909)

  • Dynamic is incorrect when not an int in statespace get_prediction (PR #6917)

  • Add dynamic factor model with EM algorithm, option for monthly/quarterly mixed frequency model (PR #6937)

  • Improve ETS / statespace documentation and highlights for v0.12 (PR #6950)

  • SARIMAX throwing different errors when length of endogenous var is too low (PR #6961)

  • Fix start params computation with few nobs (PR #6962)

  • Relax tolerance on random failure (PR #6963)

tsa.vector.ar

  • Include figsize as parameter for IRF plot (PR #6590)

  • Raise on incorrectly sized exog (PR #6730)

  • Correct IRF nobs with exog (PR #6925)

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.12.0 release (based on git log):

  • Alex Lyttle

  • Amund Vedal

  • Baran Karakus

  • Batakrishna Sahu

  • Chad Fulton

  • Cinthia M. Tanaka

  • Dorian Bivolaru

  • Ezequiel Smucler

  • Giulio Beseghi

  • Haoyu Qi

  • Hassan Kibirige

  • He Yang

  • Henning Blunck

  • Jimmy2027

  • Joon Ro

  • Joonsuk Park

  • Josef Perktold

  • Kerby Shedden

  • Kevin Rose

  • Kevin Sheppard

  • Manmeet Kumar Chaudhuri

  • Markus Löning

  • Martin Larralde

  • Nolan Conaway

  • Paulo Galuzio

  • Peter Prescott

  • Peter Quackenbush

  • Samuel Scherrer

  • Sean Lane

  • Sebastian Pölsterl

  • Skipper Seabold

  • Thomas Brooks

  • Thomas Marchand

  • Tim Gates

  • Victor Ananyev

  • Wouter De Coster

  • Zhiqing Xiao

  • adrienpacifico

  • aeturrell

  • cd

  • das-soham

  • eirki

  • pag

  • partev

  • tagoma

  • w31ha0

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 #4107: ENH: multivariate mean tests and confint

  • PR #6411: ENH: state space: add Chandrasekhar recursions

  • PR #6433: TST/BUG: use reset_randomstate

  • PR #6438: BUG: Change default optimizer for glm/ridge and make it user-settable

  • PR #6452: DOC: Fix the version that appears in the documentation

  • PR #6456: DOC: Send log to dev/null/

  • PR #6457: DOC: Special docbuild

  • PR #6460: Revert “DOC: Special docbuild”

  • PR #6461: MAINT: correcting typo

  • PR #6465: MAINT: Avoid noise in f-pvalue

  • PR #6466: MAINT: Replace Python 3.5 with 3.8 on Azure

  • PR #6467: MAINT: Update supported versions

  • PR #6469: MAINT: Fix future warnings

  • PR #6470: BUG: fix tukey-hsd for 1 pvalue

  • PR #6471: MAINT: Fix issue with ragged array

  • PR #6473: MAINT: Avoid future error

  • PR #6474: BLD: Use pip on Azure

  • PR #6475: BUG: Fix exposure/offset handling in GEEResults

  • PR #6477: BUG: Silence expected visible deprecation warning

  • PR #6490: BLD: Attempt to cache key docbuild files

  • PR #6491: BLD: Improve doc caching

  • PR #6492: MAINT: Remove Python 3.5 references

  • PR #6493: MAINT: Avoid calling depr code

  • PR #6495: MAINT: Use travis cache and optimize build times

  • PR #6501: ENH: state space: add “Cholesky factor algorithm” simulation smoothing

  • PR #6508: ENH: Add option for original Breusch-Pagan heteroscedasticity test

  • PR #6514: ENH: use GLM starting values for QIF

  • PR #6515: BUG: fix #6511

  • PR #6518: DOC: Fix simple typo: various

  • PR #6520: BUG: fix GAM for 1-dim exog_linear

  • PR #6521: REF/BUG: don’t attach patsy constraint instance

  • PR #6528: DOC: Bayesian estimation of SARIMAX using PyMC3 NUTS

  • PR #6531: DOC: fix typos

  • PR #6534: MAINT: Relax tolerance on test that occasionally fails

  • PR #6547: BUG: Fix domain check

  • PR #6556: BUG: fixes #6553, sliced predicted values according to predicted index

  • PR #6560: ENH: Holt-Winters simulations

  • PR #6579: ENH: state space: compute smoothed state autocovariance matrices for arbitrary lags

  • PR #6580: BUG: MLEResults.states.predicted has wrong index

  • PR #6582: ENH: Allow GEE weights to vary within clusters

  • PR #6587: BLD: Azure: Mac OSX 10.13 -> 10.14

  • PR #6588: MAINT: Relax tolerance on test that randomly fails

  • PR #6590: ENH: Include figsize as parameter for IRF plot

  • PR #6601: DOC: Update interactions_anova.ipynb

  • PR #6607: BUG: state space: simulate with time-varying covariance matrices.

  • PR #6608: BUG: statsmodels.regression.linear_model.OLS.fit_regularized fails to generate correct answer (#6604)

  • PR #6613: BUG: state space: error with collapsed observations when missing

  • PR #6614: DOC/ENH: example notebook (r): stationarity and detrending (ADF/KPSS)

  • PR #6616: DOC: Fix true type on statespace docs page

  • PR #6621: ENH: Calculate AR covariance parameters for gridded data

  • PR #6622: ENH Allow optional regularization in local fdr

  • PR #6626: ENH: allow more than 2 groups for survdiff in statsmodels.duration

  • PR #6628: BUG: Ensure text comparison is lower

  • PR #6631: DOC/TST: minor fixes for holtwinters simulate

  • PR #6632: ENH: add meta-analysis (basic methods)

  • PR #6653: MAINT: Fix appveyor/conda

  • PR #6654: ENH: Handle pathlib.Path objects

  • PR #6656: DOC: change OLS example to use datasets

  • PR #6657: BUG: fix constraints and bunds when use scipy.optimize.minimize

  • PR #6662: DOC: Fix AutoReg docstring

  • PR #6664: PERF: Speed up HC2/HC3 standard error calculation, using less memory

  • PR #6671: MAINT: Delete empty directory

  • PR #6675: ENH: add two independent proportion inference rebased

  • PR #6677: ENH: rates, poisson means two-sample comparison rebased

  • PR #6678: ENH: stats.base, add HolderTuple, Holder class with indexing

  • PR #6680: DOC: Fix fdrcorrection docstring missing is_sorted parameter

  • PR #6682: ENH/DOC: Notebook describing how to create state space custom models

  • PR #6688: BUG: Fix covariance estimation in parameterless models

  • PR #6693: ENH: add covariance structure hypothesis tests

  • PR #6697: ENH: Warn for non-convergence in elastic net

  • PR #6698: CLN: Fix state space linting errors.

  • PR #6699: ENH: New exponential smoothing implementation

  • PR #6704: DOC: Add new badges

  • PR #6705: BUGENH: Improve missing value handling in PCA

  • PR #6709: DOC: Fix number if notebook text

  • PR #6710: MAINT: Flake8 fixes

  • PR #6711: ENH: Improve warning message in KPSS

  • PR #6712: MAINT: Remove deprecated keyword

  • PR #6713: BUG: Ensure sigma estimate is positive in KDE

  • PR #6714: BUG: Fix summary col R2 ordering

  • PR #6715: MAINT: Remove OrderedDict

  • PR #6719: DOC: Improve Factor and related docstrings

  • PR #6722: BUG: Change trend initialization in STL

  • PR #6723: ENH: Add check in test_whiteness

  • PR #6726: DOC: Improve explantion of missing values in ACF and related

  • PR #6727: ENH: Raise exception when recursive residual is not well defined

  • PR #6728: MAINT: Remove dtype np.integer for avoid Dep Warning

  • PR #6730: BUG: Raise on incorrectly sized exog

  • PR #6732: DOC: Notebook for quasibinomial regression

  • PR #6733: MAINT: Update pip-pre links

  • PR #6738: DOC: Improve “conservative” doc

  • PR #6742: Update broken link

  • PR #6744: ENH: Speed up banddepth calculations

  • PR #6746: DOC: Fix broken links with 404 error

  • PR #6747: BUG: Insufficient input checks in QuantReg

  • PR #6751: ENH: Add deterministic processes

  • PR #6752: MAINT: Spelling and small fixes

  • PR #6758: DOC: Demonstrate variance components analysis

  • PR #6765: ENH: Decomposition of forecast updates in state space models due to the “news”

  • PR #6766: PERF: Sparse matrices in MixedLM

  • PR #6767: ENH: Add Theta forecasting method

  • PR #6768: BUG: dataframe/series concatenation in statespace results append

  • PR #6770: BUG: pass cov_type, cov_kwargs through ARIMA.fit

  • PR #6775: DOC: Make deprecations more visible

  • PR #6782: ENH: Mediation support for PH regression

  • PR #6785: ENH: automatic lag selection for Box-Pierce, Ljung-Box #6645

  • PR #6789: ENH: Stats robust rebased2

  • PR #6797: ENH: improve univariate smoother performance

  • PR #6800: DOC: Add news example notebook image.

  • PR #6806: BUG: Fix access to normal_reference_constant

  • PR #6810: ENH: Hotelling’s Two Sample Mean Test

  • PR #6811: MAINT: Remove error on FutureWarning

  • PR #6817: MAINT: Fix failing tests

  • PR #6818: BUG: Fix logic in labeling corr plot

  • PR #6825: DOC: Numpydoc signatures

  • PR #6827: BUG: Fix missing str

  • PR #6828: MAINT: Replace Warnings with Notes in regression summary

  • PR #6829: ENH: Add support for PeriodIndex to AutoReg

  • PR #6830: ENH: Return column information in add_constant

  • PR #6831: BUG: Correct shape of fvalue and f_pvalue

  • PR #6832: BUG: error in append for ARIMA model with trend

  • PR #6834: ENH: Add QR-based matrix rank

  • PR #6835: TST: stats moment_helpers use random state in unit test

  • PR #6836: MAINT: Catch warnings in discrete

  • PR #6837: DOC: Correct reference in docs

  • PR #6838: ENH: Add expanding initialization to RollingOLS/WLS

  • PR #6839: REF: Rename unbiased to adjusted

  • PR #6841: DOC: Include dot_plot

  • PR #6842: MAINT: numpydoc should work now

  • PR #6843: MAINT: Deprecate categorical

  • PR #6844: ENH: Add a note when R2 is uncentered

  • PR #6845: MAINT: Remove redundant definition

  • PR #6846: BUG: Ensure PACF lag length is sensible

  • PR #6847: BUG: Allow Series as exog in predict

  • PR #6848: Updated durbin_watson Docstring and Tests

  • PR #6849: TST: Relax tolerance on test that fails Win32

  • PR #6850: MAINT: Fix error on nightly build

  • PR #6852: Gh 6627

  • PR #6853: DOC: Explain low df in cluster

  • PR #6854: BUG: Raise on nonstationary parameters when attempting to use GLS

  • PR #6855: MAINT: Correct debugging info

  • PR #6856: MAINT: Relax test tolerance

  • PR #6859: DOC: add recent stats addition to docs

  • PR #6862: DOC: Fix common doc errors

  • PR #6865: MAINT: Mark VAR from_formula as NotImplemented

  • PR #6867: BUG: Limit maxlags in VAR

  • PR #6868: TST: Refactor factor tests again

  • PR #6869: BUG: Fix indexing with HoltWinters’s forecast

  • PR #6870: REF: Refactor Holt-Winters

  • PR #6871: MAINT: Allow skip if rdataset fails

  • PR #6872: REF/DOC docs and refactor of recent stats

  • PR #6874: DOC: Small doc fixes

  • PR #6877: BUG: fix raise exception on granger causality test

  • PR #6879: DOC: Fix issues in docs related to exponential smoothing

  • PR #6882: ENH: get_prediction method for ETS

  • PR #6884: TST: ets: test for simple exponential smoothing convergence

  • PR #6885: MAINT: Improve lint

  • PR #6888: BUG: Correct dimension when data removed

  • PR #6892: ENH: added diagnostics test to ETS model

  • PR #6893: MAINT: Change default lag in serial correlation tests

  • PR #6894: MAINT: Ensure setuptools is imported first

  • PR #6895: ENH: Added label option to summary.to_latex()

  • PR #6897: REF/DOC: api cleanup and improve docstrings in stats, round 3

  • PR #6900: ENH: Fixed the shifted column names in summary.to_latex()

  • PR #6902: DOC: Spelling and other doc fixes

  • PR #6903: DOC: Correct spacing around colon in docstrings

  • PR #6904: BUG: Stop transforming ES components

  • PR #6905: ENH: removed additional hline between tabulars

  • PR #6906: ENH: Enable qqplot_2sample to handle uneven samples

  • PR #6908: ENH: Add xvals param to lowess smoother

  • PR #6909: BUG: fix extend in VARMAX with trend

  • PR #6910: ENH: Support frozen dist in ProbPlots

  • PR #6911: ENH: Add STL Forecasting method

  • PR #6915: BUG: Fixed BSplines to match existing docs

  • PR #6917: BUG: dynamic is incorrect when not an int in statespace get_prediction

  • PR #6920: MAINT: Remove FutureWarnings

  • PR #6922: ENH: Add tool to simplify documenting API in release notes

  • PR #6923: DOC: Initial 0.12 Release Note

  • PR #6925: BUG: Correct IRF nobs with exog

  • PR #6926: ENH: Add Root Mean Square Percentage Error

  • PR #6927: ENH: Add get_prediction to AutoReg

  • PR #6931: DOC/MAINT: Fix doc errors and silence warning

  • PR #6932: DOC: Clarify deprecations

  • PR #6933: MAINT: Standardize forecast API

  • PR #6934: MAINT: Fix small issues post ETS get_prediction merge

  • PR #6937: ENH: Add dynamic factor model with EM algorithm, option for monthly/quarterly mixed frequency model

  • PR #6938: ENH: Add improved .cdf() and .ppf() to discrete distributions

  • PR #6939: BUG: remove k_extra from effects_idx

  • PR #6940: TST: Improve count model tests

  • PR #6941: REF: Change of BIC formula in GLM

  • PR #6942: BUG: Make glm’s predict function return numpy array even if exposure is a pandas series

  • PR #6943: DOC: Document exceptions and warnings

  • PR #6944: ENH: improve descriptivestats

  • PR #6945: MAINT: Relax test tolerance for future compat

  • PR #6946: DOC: update pandas function in hp_filter example

  • PR #6948: Prepare docs

  • PR #6949: TST: Modify failing test on Windows

  • PR #6950: DOC: improve ETS / statespace documentation and highlights for v0.12

  • PR #6951: DOC: Fix final issues in release note

  • PR #6952: MAINT: Fixes for failures in wheel building

  • PR #6954: MAINT: Fixes for wheel building

  • PR #6957: BUG: Fix check for offset_exposure in null

  • PR #6958: MAINT: Remove FutureWarnings

  • PR #6959: TST: Add test for offset exposure null

  • PR #6961: BUG: SARIMAX throwing different errors when length of endogenous var is too low

  • PR #6962: BUG: Fix start params computation with few nobs

  • PR #6963: TST: Relax tolerance on random failure

  • PR #6964: MAINT: Catch warning

  • PR #6965: DOC: Final doc fixed for 0.12.0rc0

  • PR #6968: DOC: Update DeterministicProcess docs

  • PR #6969: ENH add normalized iqr to robust.scales

  • PR #6972: DOC: Add docstring to string_like method

  • PR #6973: ENH/BUG: robust.scale.iqr does need centering, since quantiles are translation equivariant

  • PR #6976: DOC: Fix LaTeX in seasonal notebook

  • PR #6985: MAINT: Remove print statements

  • PR #6990: ENH: Add robust qn scale

  • PR #6991: ENH: Return self from KDEUnivariate fit

  • PR #6992: MAINT: Update Azure images

  • PR #7000: BUG: fix bug where mad ignores center if center is not callable

  • PR #7001: DOC: add new stats to release notes for 0.12

  • PR #7002: ENH: Allow custom bandwidth functions in KDEUnivariate fit

API Changes

Notable New Classes

Moved or Removed Classes

  • statsmodels.base._penalties.L2ContraintsPenalty

  • statsmodels.tools.docstring.ParseError

  • statsmodels.tsa.holtwinters.ExponentialSmoothing

  • statsmodels.tsa.holtwinters.Holt

  • statsmodels.tsa.holtwinters.HoltWintersResults

  • statsmodels.tsa.holtwinters.HoltWintersResultsWrapper

  • statsmodels.tsa.holtwinters.SimpleExpSmoothing

  • statsmodels.tsa.stattools.ResultsStore

New Methods

Removed Methods

  • statsmodels.base.model.GEEResults.remove_data

  • statsmodels.base.model.NominalGEEResults.remove_data

  • statsmodels.base.model.OrdinalGEEResults.remove_data

  • statsmodels.base.model.VAR.from_formula

  • statsmodels.genmod._prediction.PredictionResults.se_obs

  • statsmodels.genmod._prediction.PredictionResults.t_test

  • statsmodels.genmod._prediction.PredictionResults.tvalues

  • statsmodels.genmod.generalized_estimating_equations.GEE.predict

  • statsmodels.genmod.generalized_estimating_equations.NominalGEE.predict

  • statsmodels.genmod.generalized_estimating_equations.OrdinalGEE.predict

  • statsmodels.tsa.statespace.mlemodel.ARIMAResults.append

Methods with New Arguments

Methods with Changed Arguments

  • statsmodels.regression.mixed_linear_model.MixedLM
    • New: MixedLM(start_params, reml, niter_sa, do_cg, fe_pen, cov_pen, free, full_output, method, fit_kwargs)

    • Old: MixedLM(start_params, reml, niter_sa, do_cg, fe_pen, cov_pen, free, full_output, method, kwargs)

New Functions

Removed Functions

  • statsmodels.compat.python.iteritems

  • statsmodels.compat.python.iterkeys

  • statsmodels.compat.python.itervalues

  • statsmodels.stats.diagnostic.unitroot_adf

  • statsmodels.tools.decorators.nottest

  • statsmodels.tsa.stattools.periodogram

Functions with New Arguments

Functions with Changed Arguments