NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #560 most downloaded on PyPI
Statistical computations and models for Python
Last release 1 months ago
27 Aug 2026
Ships fairly regularly
a new release about every 5 months
Most releases are documented
notes for 22 of 30 stable releases
Nothing withdrawn
no release was ever pulled
14 years old
42 releases · first in 2012
See the release notes for the complete list of enhancements, breaking changes, and bug fixes.
The statsmodels developers are happy to announce the release of 0.15.0. 358 issues were closed in this release and 655 pull requests were merged. Major new features include:
rng for controlling randomness across the package (SPEC 007), replacing seed/random_stateNamedTuple results insteadpatsy and formulaic as the backendPolars DataFrames and Series as model inputsetuptools to meson-pythonCovDetMCD, CovDetS, CovDetMM, and RLMDetSMMHurdleCountModel gained fit_regularized, and MICEData is now iterableThis release also raises the minimum supported versions of NumPy, SciPy, and pandas, and tightens input validation for many string-valued options across the package (invalid values that previously failed silently or with a confusing error now raise a clear ValueError). A handful of long-standing bugs in seldom-exercised code paths were also corrected as part of a systematic coverage audit this cycle, some of which change numerical output for affected models. See the release notes for the complete list of enhancements, breaking changes, and bug fixes.
One column per quarter.
This note covers all changes merged into main between the v0.15.0.dev0 tag (2023-05-05) and the v0.15.0 release (2026-08-27).
statsmodels is using github to store the updated documentation. Two versions are available:
Stable, the latest release
Development, the latest build of the main branch
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.
Issues closed: 358
Pull requests merged: 655
Non-merge commits: 1740
Contributors (by git log author, unique names): 171
Time span: 2023-05-05 through 2026-08-27
statsmodels is standardizing on a single rng keyword for supplying entropy (an integer seed, an array of integers, a NumPy Generator, or a RandomState) wherever a model, estimator, or plotting function needs randomness, in line with the community's SPEC 007 convention. The older random_state and seed keywords are deprecated in favor of rng. Passing the old keyword still works and is transparently remapped to rng, but it now raises a FutureWarning and will be removed in a future release. This is one of the largest cross-cutting changes in this release and touches, among others:
State space models (MLEResults.simulate, simulation smoothers, impulse response simulation): random_state -> rng.
Distributions: copulas, BernsteinDistribution, DiscretizedCount, MixtureDistribution, and related rvs-style methods: random_state -> rng.
MixedLM, nonlinls, GAM cross-validation, and several sandbox distributions: random_state -> rng.
Nonparametric estimation (KDEMultivariate, KDEMultivariateConditional, KernelReg, KernelCensoredReg, TestRegCoefC/TestRegCoefD): seed -> rng.
VAR/SVAR/IRF simulation and Monte Carlo error bands (varsim, VAR.simulate_var, VAR.plotsim, VARResults.irf_errband_mc, VARResults.irf_resim, SVARResults.sirf_errband_mc, and the IRAnalysis.plot/plot_cum_effects/errband_mc/err_band_sz1/ err_band_sz2/err_band_sz3/cum_errband_mc family): seed -> rng.
ARDL.bounds_test, graphics.functional.hdrboxplot (seed and kernel_seed), and sandbox.panel.random_panel.PanelSample: seed -> rng.
The internal statsmodels.tools.rng_qrng.check_random_state helper (which also accepts scipy.stats.qmc.QMCEngine instances) is now used consistently across these code paths to turn whatever is passed via rng into an actual Generator/RandomState instance.
See Breaking Changes and Deprecations below for what this means for existing code. 9737, 9615, 9831, 9947, 9950
Many statsmodels functions historically returned a plain tuple whose length depended on the arguments passed, so that adfuller(x) and adfuller(x, store=True) returned a different number of values. This makes results hard to unpack defensively, hard to document, and hard to type.
These functions now return purpose-built NamedTuple result classes with a fixed set of fields; fields that were not requested are None. Because a NamedTuple is a tuple, positional unpacking, indexing and comparison against plain tuples all continue to work, and field access such as res.pvalue becomes available.
The migration follows a single rule:
Where the NamedTuple unpacks exactly like the tuple it replaces, it is simply returned now, with no deprecation and no warning. This covers, among others, pacf/ccf/pccf with alpha set, lagmat with original="sep", kdensity/kdensityfft with the default retgrid=True, plot_partregress with ret_coords=True, and the store=True paths of the stats.diagnostic tests.
Where adopting it would change how many values are unpacked, the legacy tuple is still returned and a FutureWarning is raised. Pass result_object=True to opt in now, or result_object=False to keep the current behaviour and silence the warning. The default changes in 0.16.
Functions whose result shape never varied were converted outright, with no flag and no warning: block_jackknife, q_stat, pacf_burg, levinson_durbin, levinson_durbin_pacf, breakvar_heteroskedasticity_test, coint, cffilter, hpfilter, hamilton_filter, forecast_interval, the IRF/SIRF error-band methods, the ARIMA parameter estimators, and RegressionResults.compare_lr_test.
The migration was completed by converting the remaining Holder/ HolderTuple result objects across stats and robust (covariance and scale estimators, proportion, rates, nonparametric, multivariate, effect_size, oneway, and more) to documented NamedTuple classes, and HolderTuple itself is now deprecated (see Breaking Changes and Deprecations below). Where a converted class used to support unpacking into a short tuple like statistic, pvalue = result, a compat_2tuple_unpack decorator preserves that behaviour, with a FutureWarning, during the transition.
10025, 10027, 10029, 10030, 10031, 10035, 10072
statsmodels now has an abstracted formula-handling layer (statsmodels.formula) that can use either patsy (the default engine when it is installed, for backward compatibility) or formulaic as the engine behind the formula interface (smf.ols("y ~ x", data=df), etc.). The engine can be selected explicitly with the SM_FORMULA_ENGINE environment variable ("patsy" or "formulaic"). formulaic is now a required runtime dependency (formulaic>=1.1.0) even when patsy continues to be used as the default engine. This lays the groundwork for statsmodels to move away from patsy, which has been in low-maintenance mode for several years. 9423, 9470
statsmodels' build backend switched from setuptools (with a custom setup.py) to meson-python. Anyone building statsmodels from source needs Meson/Ninja available and a build environment satisfying the new build requirements (numpy>=2.0, scipy>=1.13, cython>=3.0.13). This does not affect users installing prebuilt wheels from PyPI. 9634
Models and the formula API now accept Polars DataFrame/Series objects wherever pandas objects are accepted. Polars input is converted to pandas at the data-entry point (handle_data, and the formula-handling layer), so all internal computation continues to use pandas/NumPy unchanged; column names, index information, and predictions with Polars exog are preserved. Polars is an optional dependency: code paths that do not receive Polars objects are unaffected, and the relevant tests are skipped when Polars is not installed. 9804
Several new robust estimators and supporting tools were added:
statsmodels.robust.covariance.CovDetMCD (minimum covariance determinant with deterministic starts), ~statsmodels.robust.covariance.CovDetS (S-estimator for mean/covariance with deterministic starts), and ~statsmodels.robust.covariance.CovDetMM (an MM-estimator built on top of CovDetS). These are preliminary/experimental APIs. 9227, 8129
statsmodels.robust.resistant_linear_model.RLMDetSMM, an MM-estimator for regression using S-estimator starting values, plus additional robust norms and supporting tools. 9186
Fixes and additions to scale.Huber and a new robust M-scale estimator. 9210
statsmodels.multivariate.multivariate_ols.MultivariateLS, a new multivariate least-squares model. 8919
statsmodels.tsa.stattools.leybourne implementing the Leybourne-McCabe stationarity test. 9399
A two-sample z-test for the unequal-variances case. 8959
"one-sided" alternative hypotheses for proportion_confint and confint_poisson. 9249, 9255
Games-Howell post-hoc test added alongside a fix to Tukey's HSD for the unequal-variance case. 9487
A sample-size calculation for the Wilcoxon/Mann-Whitney test. 9401
Order validation for the Hannan-Rissanen ARMA estimator. 9819
statsmodels.tsa.stattools.pccf, the partial cross-correlation function, together with a companion ~statsmodels.graphics.tsaplots.plot_pccf. 9802
statsmodels.tsa.filters.hamilton_filter.hamilton_filter, Hamilton's regression-based alternative to the HP filter. 9957, 9991
statsmodels.tsa.stattools.block_jackknife, a delete-k (block) jackknife estimator of bias and standard error. 10001
ARDL models can now use a "ctt" trend. 9518
x13_arima_analysis gained seasonality fit diagnostics and an optional raw spec parameter. 9498, 9550
A Jonckheere-Terpstra test for ordered k-sample alternatives (statsmodels.stats.nonparametric.jonckheere_terpstra), following Terpstra (1952) and Jonckheere (1954). 9874, 10067, 10075
A Diebold-Mariano test for equal predictive accuracy of two forecasts (statsmodels.tsa.stattools.diebold_mariano_test), with an optional Harvey et al. (1997) small-sample correction. 10066
A Pesaran-Timmermann test of directional predictive accuracy (statsmodels.stats.diagnostic.pesaran_timmermann). 10055
Local false discovery rate estimation (statsmodels.stats.multitest.local_fdr_correction), based on the Grenander estimator of the p-value density. 10069
statsmodels.graphics.tsaplots.plot_ccf and ~statsmodels.graphics.tsaplots.plot_accf_grid for plotting cross-correlations and cross-correlation matrices, and ccf gained an option to return confidence intervals. 8782, 8783
statsmodels.graphics.tsaplots.seasonal_diagnostic_plot, a new seasonal diagnostic plot. 9787
statsmodels.graphics.regressionplots.add_ellipse for adding confidence ellipses to scatter plots. 9815
qqplot_2samples accepts additional plot keyword arguments. 9544
GLMResults.get_margeff (marginal effects for GLM). 8889
GLM models now preserve the names of input pandas Series. 9130
het_white gained an option to omit interaction (cross) terms. 9691
Faster computation of state space "news"/revision impacts, and a significant performance optimization of VECM to avoid an O(T^2) projection matrix. 8937, 9720
statsmodels.stats.stattools.medcouple gained an O(N log N) algorithm (use_fast=True, the default), replacing the previous O(N^2) implementation, which remains available via use_fast=False. 9571
Cython 3 compatibility, and compatibility of the tsa.statespace Cython code with SciPy ILP64 builds. 9078, 9798
Experimental Pyodide/WebAssembly support and CI jobs. 9270, 9343
Free-threaded (no-GIL) CPython compatibility work, including free-threading-compatible Cython modules and CI coverage. 9717
Late in the release cycle, essentially every string-valued parameter that accepts a fixed set of options (method, alternative, trend, and similar) was audited and, where it wasn't already, routed through statsmodels.tools.validation.string_like with an explicit options= tuple (10161, plus follow-ups 10167, 10173). This is the largest single change in this release by number of call sites touched, and it changes behavior in two distinct ways:
Previously-silent bad input now raises a clean, documented ValueError. A number of functions had validation gaps where an unrecognized string either silently fell through to a default branch (for example VECM's deterministic, seasonal_decompose's model, and oneway's use_var family) or produced a confusing KeyError/NameError instead of the documented error (for example ~statsmodels.tsa.arima.specification.SARIMAXSpecification.validate_estimator). Code that was accidentally relying on one of these fallback paths, rather than passing a value from the documented {...} set, will now see a ValueError where it previously ran (possibly incorrectly) without complaint.
Undocumented short-form aliases now emit a FutureWarning instead of working silently. The most widespread example is the alternative parameter used throughout stats and tsa for hypothesis-test direction ("two-sided"/"larger"/"smaller", or "increasing"/"decreasing"/"two-sided" for heteroskedasticity tests): informal short forms such as "2s", "l", "s", "i", "inc", "d", "dec", or "2" were accepted but never documented. These still work in 0.15.0, but now raise a FutureWarning naming the documented spelling to switch to, and will stop being accepted after statsmodels 0.16 (10170, 10180). This affects, among others, ~statsmodels.stats.weightstats.DescrStatsW/ ~statsmodels.stats.weightstats.CompareMeans and the module-level ztest/zconfint/ztost/ttest_ind/ttost_ind functions in statsmodels.stats.weightstats, ~statsmodels.stats.diagnostic.het_goldfeldquandt, ~statsmodels.tsa.stattools.breakvar_heteroskedasticity_test (and the state space/ETS test_heteroskedasticity methods built on it), PredictionResults.t_test/PredictionResultsBase.t_test, most of statsmodels.stats.power, several functions in statsmodels.stats.proportion and statsmodels.stats.rates, ~statsmodels.stats.oneway.confint_noncentrality, ~statsmodels.stats.meta_analysis.effectsize_2proportions (whose statistic parameter separately gained "rd"/"rr"/"or"/ "arcsine" as deprecated aliases for "diff"/"risk-ratio"/ "odds-ratio"/"arcsin"), and ~statsmodels.stats._lilliefors.ksstat (whose alternative gained deprecated aliases for the scipy.stats.kstest-style spellings "two_sided"/"less"/"greater"). Pass the documented spelling to silence the warning; the deprecated forms will be removed, not just undocumented, starting after statsmodels 0.16.
A few of the more consequential correctness fixes in this release (see Notable Bug Fixes below for the full list):
families.Binomial.deriv() was missing a division by n and returned an incorrect value; it now correctly returns 1 - 2 * mu / n. 9862
The log-likelihood computation for ETSModel was corrected. 9400
A state space model transition-timing bug was fixed. 9688
anova_lm silently returned NaN p-values when models were passed in reverse order. 9852
Numerical instability in VIF was fixed by standardizing the design matrix before computing it. 9835
wald_test_terms reported the raw number of constraint rows as df_constraint, rather than the rank-adjusted degrees of freedom that wald_test itself already computes; this was wrong for rank-deficient models (e.g. incomplete factorial designs). 9907
The adjusted (unbiased) ccovf/acovf normalized by len(x) - k rather than by the actual number of overlapping observation pairs, which is only the same thing when the two series are equal length. 9916
breakvar_heteroskedasticity_test (and the state space/ETS test_heteroskedasticity methods built on it) referred the ratio of two sums of squares directly to F(numer_dof, denom_dof); that ratio is only F-distributed after rescaling by denom_dof / numer_dof, so p-values were wrong whenever missing observations left the two subsets with different numbers of usable residuals. Balanced samples were unaffected. 10171
Every TreatmentEffectResults produced by ~statsmodels.treatment.treatment_effects.TreatmentEffect's ra/aipw/aipw_wls/ipw_ra methods was labeled .method = "IPW", regardless of which method actually produced it. Each method now labels its own result correctly. 10164
BinomialBayesMixedGLM.fit/PoissonBayesMixedGLM.fit (documented as equivalent to fit_map) called fit_map and discarded its return value, so .fit() always returned None instead of the fitted results instance -- any code using the documented .fit() entry point (rather than calling .fit_map() directly) could not get a usable result. 10195
The state space univariate filter/smoother (used for exact diffuse initialization, and as the automatic fallback whenever the multivariate filter hits a singular forecast-error covariance) computed the smoothed measurement disturbance in a whitened basis and never transformed it back, so smoothed_measurement_disturbance was wrong by an observation-dependent factor for any model that exercised this code path -- off by as much as 124 in one of the affected test cases. The corresponding disturbance covariance cannot be recovered the same way from what the univariate recursions compute, so that quantity now raises a warning instead of silently returning a value in the wrong basis. 9979
GLS.hessian_factor returned incorrect values for both non-scalar sigma cases: for a 1-d (heteroskedastic-weights) sigma it returned the whitening factor 1 / sqrt(sigma) instead of the Hessian weight 1 / sigma (10196), and for a full 2-d (non-diagonal) sigma its output does not correspond to the actual Hessian at all; rather than continue to return a plausible-looking but wrong answer, the 2-d case now raises NotImplementedError (10203, see Breaking Changes and Deprecations below).
In the non-IRLS gradient-optimizer path of GLM.fit, the fallback that is supposed to reuse normalized_cov_params when the observed Hessian cannot be inverted was unreachable dead code, so bse/cov_params() silently came back as all-NaN any time the Hessian inversion failed, even though a usable covariance estimate from the optimizer was available. 9794
LikelihoodModel.fit(method="newton") used the opposite sign convention from every other optimizer for its internal score/Hessian closures. This made no difference to the Newton step itself, but it meant the ridge_factor Hessian regularization (used to stabilize the solve when the Hessian is poorly conditioned) was applied with the wrong sign -- shrinking the regularized Hessian's magnitude instead of increasing it, the opposite of what regularization is supposed to do. This is most consequential for models fit with a non-default ridge_factor or a near-singular Hessian. 10184
Tweedie GLM log-likelihood (1 < var_power < 2, the compound Poisson-Gamma case commonly used for claim-severity/insurance-style data) computed log(wright_bessel(...)), which overflows to inf before the log is taken for a range of realistic endog/mu/scale combinations, silently producing an infinite or garbage log-likelihood. Fixed by using scipy.special.log_wright_bessel directly, which does not have this overflow. Requires SciPy >= 1.14 to take effect; on older SciPy (or 32-bit platforms, where log_wright_bessel is not accurate enough) the previous, overflow-prone computation is still used. 10179, 10186, 10188
HurdleCountModel.fit passed its caller's start_params unsplit to both of its two component models, so any start_params of the documented, whole-model length raised a shape-mismatch error from deep inside the optimizer instead of fitting. It is now split the same way fit_regularized already splits it. The same fix also makes fit_regularized report the joint refit's own convergence flag (previously overwritten by the two component fits' flags) and makes the L1-penalized solver's Hessian-inversion fallback raise on a non-finite (rather than merely singular) Hessian instead of silently proceeding with a NaN covariance. 10205
ARDLResults.apply/append raised for a model that originally had no exog and was applied to a series with no exog either -- a legitimate no-op round trip -- and, separately, its two specific, documented exog-mismatch errors were unreachable for most of the mismatches they describe because model reconstruction failed first with an unrelated, confusing error. 10207
A few of the correctness fixes described above change what a call does, not just the numbers it returns, because the previous behavior had no correct fallback:
GLS.hessian_factor (and anything built on it, e.g. GLS.hessian) raises NotImplementedError for a full 2-d (non-diagonal) sigma, instead of silently returning a value that does not correspond to the actual Hessian. The 1-d (heteroskedastic-weights) and scalar sigma cases are unaffected and continue to work. 10203
The state space simulation smoother's smoothed measurement disturbance covariance (as opposed to the disturbance itself, which is now computed correctly, see above) cannot be recovered in the original basis from what the univariate filter/smoother computes, so requesting it now raises a warning instead of silently returning a value in the wrong basis. 9979
psturng (the studentized range p-value approximation underlying Tukey's HSD and the Games-Howell test) raises ValueError for degrees of freedom 1 <= v < 2 combined with a very small p-value, instead of returning a fabricated 0.1. Neither R's ptukey nor the literature this implementation follows supports a real computation in that region. 7327
MixedLM.fit's warning for keyword arguments it does not recognize changed from RuntimeWarning to FutureWarning, and now states that a future version will raise instead of dropping the argument. Code that specifically filters RuntimeWarning to silence this message will need to filter FutureWarning instead. 9695
As described above, wherever a function or model previously accepted seed or random_state to control randomness, it now accepts rng instead. The old keyword names still work but emit a FutureWarning pointing at rng; they will be removed in a future release. If your code passes seed= or random_state= by keyword to statsmodels functions, you should switch to rng= to avoid the warning (and future breakage). Positional usage is unaffected in most cases since rng occupies the same position the old keyword did.
As described above, functions that returned a tuple whose length depended on their arguments are moving to fixed-shape NamedTuple results. Where the NamedTuple unpacks exactly like the tuple it replaces there is nothing to do: existing code keeps working and no warning is raised.
Where adopting it would change how many values are unpacked, the affected call now emits a FutureWarning and continues to return the legacy tuple. This applies to:
~statsmodels.tsa.stattools.adfuller, ~statsmodels.tsa.stattools.kpss, ~statsmodels.tsa.stattools.range_unit_root_test (store=False), and ~statsmodels.tsa.stattools.acf when only one of qstat or alpha is given.
~statsmodels.regression.linear_model.yule_walker (inv=False) and OLSResults.el_test.
~statsmodels.stats.diagnostic.acorr_lm, ~statsmodels.stats.diagnostic.acorr_breusch_godfrey, ~statsmodels.stats.diagnostic.het_arch, ~statsmodels.stats.diagnostic.compare_cox, ~statsmodels.stats.diagnostic.compare_j and ~statsmodels.stats.diagnostic.het_goldfeldquandt with store=False.
~statsmodels.nonparametric.kde.kdensity and ~statsmodels.nonparametric.kde.kdensityfft with retgrid=False, and ~statsmodels.graphics.regressionplots.plot_partregress with ret_coords=False.
Pass result_object=True to adopt the new result now, or result_object=False to keep the old return type and silence the warning. The default becomes the NamedTuple in 0.16.
RegressionResults.compare_lr_test always returned three values, so it was converted directly to a CompareLRTestResult with no deprecation period; it still unpacks as a three-tuple.
statsmodels.stats.base.HolderTuple, used internally as the return type for many statistical tests before the NamedTuple migration above, is now deprecated and will be removed after statsmodels 0.16. It is no longer constructed anywhere internally. Code that checked isinstance(result, HolderTuple) or relied on HolderTuple's specific 2-tuple-unpacking behaviour should switch to the documented NamedTuple result class and named attribute access (e.g. result.statistic, result.pvalue) instead. 10072
As described above (Stricter input validation for string-valued options), short, undocumented spellings of the alternative hypothesis-direction parameter ("2s", "l", "s", "i", "inc", "d", "dec", "2", and a few compare/statistic aliases in ~statsmodels.stats.meta_analysis and ~statsmodels.stats._lilliefors) now raise a FutureWarning naming the documented replacement instead of working silently, and will be removed after statsmodels 0.16. 10170, 10173, 10180
Several previously-undocumented, silently-accepted string values elsewhere were similarly tightened to raise ValueError for anything outside the documented set -- this is a validation fix, not a deprecation, so there is no warning period; code passing a value outside the documented {...} set needs to be corrected directly. 10161, 10167
The following classes and one function were found, during a systematic coverage audit, to have no callers anywhere in the codebase and no test coverage. They now raise a FutureWarning on construction/use and will be removed after statsmodels 0.16: NonlinearLS, MLEGLS, TSMLEModel, GLSHet, GLSHet2, TsaDescriptive, and the _Var class in tsa.varma_process (whose own docstring already called it "Obsolete"). nonparametric.smoothers_lowess_old.lowess gets the same treatment as a function -- its own docstring examples already point at the actively maintained statsmodels.nonparametric.lowess. If you rely on any of these, please open an issue. 10156
FactorResults.uniq_stderr previously accepted a documented kurt argument that could never actually be supplied, because the method was wrapped in @cache_readonly and so was only ever accessed as a bare attribute (result.uniq_stderr). The cache_readonly wrapper has been removed so kurt is usable as documented; this means existing code must change result.uniq_stderr to result.uniq_stderr(). There is no deprecation period for this one, since the old attribute-style access could never have supplied kurt correctly in the first place. 10175
NumPy: 1.18 -> 1.23.5
SciPy: 1.4 -> 1.8
pandas: 1.0 -> 1.4
patsy: 0.5.2 -> 0.5.6
formulaic: new required runtime dependency, >=1.1.0
Building from source now requires NumPy >= 2.0, SciPy >= 1.13, and Cython >= 3.0.13 (see the meson-python migration above). This does not affect users installing wheels from PyPI.
The following previously-deprecated (not previously-working) parameters and behaviors were removed as part of a general deprecation clean-up (9936):
grangercausalitytests: the verbose parameter (deprecated since 0.14) has been removed. The function no longer prints results; use the returned dictionary as before.
AutoReg/ar_select_order: the old_names parameter (pre-0.12 variable naming, deprecated since 0.13) has been removed.
kpss: passing nlags=None now raises a ValueError instead of warning and silently falling back to 'auto'. Pass 'auto', 'legacy', or an explicit integer.
A number of internal compatibility shims for very old NumPy/SciPy/Python versions were removed from statsmodels.compat, including compat.numpy.lstsq, NP_LT_114, compat.python.asstr, asunicode, lfilter, and compat.scipy.SP_LT_16/SP_LT_17 (along with the vendored multivariate_t fallback they guarded). These were internal implementation details, not public API, but could have been imported directly.
pandas has been privatizing or removing several small utilities that statsmodels relied on (cache_readonly, deprecate_kwarg, Appender, Substitution). statsmodels now vendors its own copies of these (in statsmodels.compat.pandas and statsmodels.tools.docstring_helpers) so behavior stays stable across pandas versions, including pandas 3. 9615, 9820, 9831
The long-empty statsmodels.interface package was removed. 9721
_lazywhere was removed in favor of apply_where. 9543
scipy.interpolate.interp2d (removed upstream in recent SciPy) is no longer relied on by TableDist. 9832
Enhancements
Outlier-robust covariance estimation. 8129
ccf can optionally return confidence intervals. 8782
Plot cross-correlations and the auto/cross-correlation matrix. 8783
Plot the prediction curve over a scatter plot in GLMGamResults.plot_partial. 8881
Add get_margeff to GLM. 8889
Add MultivariateLS. 8919
Faster computation of state space revision impacts. 8937
Two-sample z-test, unequal-variances case. 8959
Improve lag selection in pacf. 9016
Add Cython 3 compatibility. 9078
GLM models now save the names of input pandas Series. 9130
Robust: additional tools and norms. 9186
Add CovDetMCD, CovDetMM, RLMDetSMM, and related estimators. 9227
Add a "one-sided" alternative for proportion_confint. 9249
Add an alternative option to confint_poisson. 9255
Add optional parameters to summary_col to indicate fixed effects. 9280
Ensure returned arrays are owned (not views). 9334
Improve precision of a diagnostic printout (mean_diff:.3g). 9388
Add the Leybourne-McCabe stationarity test. 9399
Add a sample-size calculation for Wilcoxon/Mann-Whitney tests. 9401
More reliable casting of pandas data. 9407
Add an abstracted formula engine supporting patsy and formulaic. 9423
Add ruff lint support. 9453
x13_arima_analysis can produce seasonality fit diagnostics. 9498
Allow the ARDL model to use a "ctt" trend. 9518
Add plot keyword arguments to qqplot_2samples. 9544
x13_arima_analysis gained an optional raw spec parameter. 9550
Support array-like and pandas-like data more broadly. 9582
Add a "no cross terms" option to White's heteroscedasticity test. 9691
Add missing attributes to AutoReg. 9750
Add a seasonal diagnostic plot to graphics.tsaplots. 9787
Make tsa.statespace Cython usage compatible with SciPy ILP64 builds. 9798
Allow seasonal-differencing-only models with non-seasonal estimators. 9811
Add add_ellipse to graphics, and support passing x/y arrays. 9815
Add order validation to the Hannan-Rissanen estimator. 9819
Vendor Appender and Substitution docstring helpers from pandas. 9820
Vendor cache_readonly and deprecate_kwarg from pandas' private API. 9831
Report the last root-finder value in the solve_power convergence warning. 9885
Consistently use rng to move towards SPEC-007. 9950
Add the partial cross-correlation function pccf and plot_pccf. 9802
Add the Hamilton filter. 9957
Add a delete-k (block) jackknife estimator. 10001
Allow pre-calculated error bands to be passed to the IRF plots. 9816
Support fixed_params in innovations_mle. 9845
Raise an informative error for impossible one-sided solve_power cases. 9895
Add a min_diag option to cov_nearest for zero or negative diagonal entries. 9898
acf/pacf accept a list of lags in addition to maxlag. 10016
Return NamedTuple results in place of variable-length tuples. 10025, 10027, 10029, 10030, 10035, 10072
Accept Polars DataFrame/Series input in models and the formula API. 9804
Add the Jonckheere-Terpstra ordered trend test. 9874
Add the Diebold-Mariano test of equal predictive accuracy. 10066
Add the Pesaran-Timmermann test of directional predictive accuracy. 10055
Add local false discovery rate estimation (local_fdr_correction). 10069
Add LocalProjections, a Jordà (2005) local-projections estimator for impulse response functions with Newey-West HAC standard errors. 9871
Implement an L1-penalized solver for GLM. 10101
Add CRV3 (cluster-jackknife) cluster-robust inference for OLS/ WLS. 10103
Warn when exog is (numerically) singular in the *LS model family, instead of silently returning an unreliable fit. 10140
Make the ndim check in array_like orthogonal to maxdim, so the two can be combined instead of one silently overriding the other. 10090
NominalGEE accepts non-numeric groups labels (for example strings), instead of failing to cast them to float64 internally. 10182
Robust linear model (RLM) scale-estimator callables passed via scale_est may now optionally accept the fitted model and residuals, in addition to the previously-supported single-argument (residuals only) form, which continues to work unchanged. 10191
Add fit_regularized to HurdleCountModel. 10204
MICEData is now iterable: each iteration step advances the chain by one update cycle and yields the current imputed dataset, so itertools.islice(mice_data, n) produces n successive imputed datasets. 10210
Performance
Optimize VECM memory/speed by avoiding an O(T^2) projection matrix. 9720
Improve the performance of ConditionalMNLogit. 9036
Add an O(N log N) algorithm for medcouple. 9571
Fix a typo in the InfeasibleTestError exception string. 8878
Correct diagnostics for changes in pandas. 8887
MNLogit Wald tests: fix ravel, string cov_names. 8907
Fix writing a read-only array under pandas 2 copy-on-write. 8942
Fix an issue in seasonal.py. 9029
Ensure ARIMA simulation is reproducible. 9165
Fix scale.Huber and add a robust M-scale. 9210
Correct cov_kwargs -> cov_kwds. 9240
Ensure the Zivot-Andrews test does not overwrite its input. 9311
Avoid an in-place modification bug. 9385
Correct resid from UECM. 9390
Correct the x/y label location in qqplot_2sample. 9394
Remove an incorrect method assignment in GLM's summary2. 9396
Ensure the Hessian is skipped where appropriate. 9398
Correct the log-likelihood computation for ETSModel. 9400
Ensure VAR can forecast with 0 lags. 9413
Correct DatetimeIndex handling. 9457
Correct handling of PeriodIndex in seasonal_decompose. 9461
SVAR: fix A/B dtype and a one-parameter score shape bug. 9468
Fix formula eval depth in model selection. 9471
Tukey's HSD: fix an unused variance and add Games-Howell for the unequal-variance case. 9487
Fix a bug in Runs.runs_test for the case of a single run. 9524
Make the Binomial family more robust to the corner case mu=0, endog=0. 9581
Fix the add_trend error message to correctly identify constant columns. 9636
Fix conversion of 1-d arrays to scalars. 9673
Fix a state space model transition-timing bug. 9688
Pass alpha through to plot_predict. 9728
Fix an incorrect length comparison in endpoint transformation logic. 9729
Fix compilation errors in statespace/meson.build. 9738
Fix patsy eval_env handling in FormulaManager. 9739
Raise an error for invalid endog input in emplike.DescStat. 9747
Add an informative error message when Hessian inversion fails in fit_regularized. 9757
Replace bare except clauses with except Exception. 9758
Treat empty docstrings as None in the Docstring class. 9773
Fix use_boxcox control flow in ExponentialSmoothing.fit. 9797
Override the resid property in UECMResults. 9812
Avoid a division by zero in estimate_location. 9814
L-BFGS-B: respect disp=False instead of always printing output. 9823
Remove a dead assignment to cov_p in GLM's fit. 9826
Fix the GLMInfluence.hat_matrix_diag method name. 9830
Fix VIF numerical instability by standardizing the design matrix. 9835
Skip summary diagnostics when slim=True. 9844
Fix anova_lm silently returning NaN p-values when models are passed in reverse order. 9852
Set k_exog_user on SVARResults so summary() works. 9853
Fix Binomial.deriv() to correctly return 1 - 2*mu/n (it was missing the division by n). 9862
Record the robust scale in RLM.fit_history. 9866
Fix the NegativeBinomial check for the optional alpha parameter. 9877
Return nan from Power.solve_power when it fails to converge, rather than a misleading value. 9884
Correct several parameter names in docstrings (prob_infl, bin_edges, pred_kwds, param_nums, mu1_low). 9886
Fix DiscreteResults crashing with full_output=0. 9887
Fix an ccovf shape mismatch for arrays of different lengths. 9888
describe/Description now handle a 0-row (empty) input gracefully. 9899
Fix an issue with random generation. 9901
Attach mlefit attributes to the results instance so they appear in dir(). 9902
Do not pass hess to L-BFGS-B/TNC in _fit_minimize, which do not accept it. 9908
Read the entropy integration limits from the kernel. 9919
Populate _retain_cols in out_of_sample without requiring a prior in_sample call. 9920
Correct a test that relied on the removed random-state singleton. 9924
Fix an import failure when matplotlib is not installed. 9925
Unify group_sums orientation and fix group_demean. 9933
Fix the scale attribute and resid_pearson for a fixed-scale cov_type. 9824
Pass ax through to dot_plot in CombineResults.plot_forest. 9829
Filter unsupported keyword arguments in MixedLM.fit instead of raising an AttributeError. 9906
Fix a Sison-Glaz confidence-interval failure for small or sparse counts. 9909
Fix the removal of the compat lstsq shim. 9958
Raise on non-2x2 tables in stats.mcnemar. 9974
Respect caller warning filters in the discrete fit_regularized (l1) path. 9976
Reject None in string_like and array_like unless optional=True. 9985, 9987
Do not re-validate the specification when extending SARIMAX results, so an exog constant column no longer blocks extend. 9992
score_test returns a documented NamedTuple result rather than a plain tuple (see the NamedTuple return values highlight above). 9993, 10072
Select the correct axis in drop_missing. 9994
Ensure AutoReg (and other) summary() calls still work after remove_data(). 10002, 10009
Report the correct accepted types in dict_like. 10005
Clip Wilson proportion_confint bounds to [0, 1]. 10010
Give sign_test a clear error when every observation ties with mu0. 10012
multipletests no longer raises ZeroDivisionError on an empty p-value array. 10013
maxabs and iqr no longer raise on empty input, matching the other eval_measures. 10014
Use the non-missing sample size for the acf confidence interval and Q-statistic when NaNs are handled. 10017
Raise an explicit error rather than dividing by zero in acf/acovf. 10020
linear_rainbow(..., use_distance=True) now centers on the exog centroid, so the result no longer depends on the arbitrary order observations happen to be stored in. 9903
ARDLResults.apply/append lost the per-variable exog lag order, because they inherited AutoRegResults.apply, which always reconstructs the cloned model as a plain AutoReg. 9915
The adjusted ccovf divided by len(x) - k instead of the actual number of overlapping observation pairs. 9916
wald_test_terms now reports the rank-adjusted degrees of freedom for rank-deficient models instead of the raw constraint-matrix row count. 9907
Cast the np.repeat argument to platform intp size in the Jonckheere-Terpstra test so it works on 32-bit platforms (Pyodide). 10075
breakvar_heteroskedasticity_test (and the state space and ETS test_heteroskedasticity methods built on it) referred the raw ratio of the two sums of squares to F(numer_dof, denom_dof). The ratio of sums is that F only after rescaling by denom_dof / numer_dof, so the p-values were wrong whenever missing observations left the two subsets with different numbers of usable residuals -- for example a multivariate state space model with a ragged edge. The use_f=False variant had its multiplier and its degrees of freedom interchanged, and the decreasing alternative did not swap the degrees of freedom when it inverted the statistic. Balanced samples, which is the usual case, are unaffected.
Fix edge cases in the O(N log N) medcouple path. 10084
Check the sign of the smallest eigenvalue before taking its square root when forming a condition number, instead of letting a tiny negative value (floating-point noise) raise. 10088
Fix MNLogit.resid_response raising ValueError instead of returning residuals. 10089
Forward a kwarg that MixedLM.from_formula was silently dropping instead of passing to the superclass constructor. 10105
Pivot the QR factorization used in tools.matrix_rank, so rank is computed correctly for matrices that need pivoting for numerical stability. 10106
Fix numerous small bugs in robust.norms, RLM, and stats.stattools. 10113
Add a missing self in an ETSModel update path. 10120
Correct the distargs usage in robust.scale.scale_trimmed. 10130
Fix a line-style bug in the Bland-Altman agreement plot. 10131
Enable the percentile option in _select_sigma for kernel bandwidth selection. 10132
Fix a sign/orientation bug (factor.py reversed the intended direction). 10133
Only initialize the trend component in exponential smoothing when the model actually has one. 10134
Correct the Hessian choice in othermod.betareg. 10135
Ensure the bar gap size is computed correctly in mosaic_plot. 10136
Ensure SVAR raises for options it does not actually implement, instead of silently ignoring them. 10137
Fix several bugs found in a systematic full-codebase scan, including in MixedLM and stats.multivariate_tools. 10139
Fix additional small bugs, including in iolib.table. 10141
Correct the shape of the values returned by CanCorr. 10143
Fix OLSInfluence._ols_xnoti crashing on every call. 10152
Fix RLMDetSMM.fit crashing with its own documented h=None default. 10154
Fix MICEData using the observed-row index instead of the full index when building predict_miss_kwds. 10163
Guard against zero_kwds=None in effectsize_2proportions. 10165
Fix a crash in SARIMAX time-varying regression when the state vector also includes differencing. 10172
Coerce the offset argument with array_like in PoissonZiGMLE, instead of failing on plain Python sequences. 10174
Coerce cov_null with array_like in stats.multivariate instead of requiring a NumPy array. 10176
get_prediction for GLM-like models now always has a linear predictor available when one is requested. 10178
Correct the knot-centering computation in get_knots_bsplines for splines with few interior knots, where it previously produced incorrect (non-equally-spaced) knots or raised. 10177
Pass transformed through to the likelihood when computing the MarkovSwitching Hessian, matching score. 10187, 10148
wald_test (chi-square path, the default) raised AttributeError for any results class without a df_resid attribute, such as MarkovRegressionResults/MarkovAutoregressionResults, even though df_resid is only needed for the F-test (use_f=True) path. 9297
BinomialBayesMixedGLM.fit/PoissonBayesMixedGLM.fit always returned None instead of the fitted results instance (see Breaking Changes and Deprecations above). VariedCovStruct.summary() (in genmod.cov_struct) printed directly instead of returning a string like the other covariance-structure summary() methods. 10195
GLS.hessian_factor was wrong for both non-scalar sigma cases, and ProcessMLE.covariance() omitted the exp() link transform on the scale/smoothing parameters for models not built from a formula, silently producing wrong (and sometimes NaN, through a negative variance) covariance matrices. 10196; see also 10203 and Breaking Changes and Deprecations above.
In the non-IRLS gradient-optimizer path of GLM.fit, a valid normalized_cov_params fallback was discarded whenever the observed Hessian could not be inverted, so bse came back all-NaN even though a usable covariance estimate existed. 9794
The ridge_factor Hessian regularization in LikelihoodModel.fit(method="newton") was applied with the wrong sign for the "newton" branch specifically. 10184
Fix the Tweedie GLM log-likelihood overflowing to inf for 1 < var_power < 2 by using scipy.special.log_wright_bessel (SciPy >= 1.14). 10179, 10186, 10188
psturng/Tukey's HSD/Games-Howell: raise a clear error instead of returning a fabricated p-value for degrees of freedom 1 <= v < 2 with an extreme statistic; also fixes wording in related error messages. 7327
MNLogit.score_test(exog_extra=...) crashed with AttributeError because MNLogit did not implement score_factor/ hessian_factor. 10185
emplikeAFT.predict used endog where it meant exog, so passing new data to predict from raised or produced nonsensical output. 10197
Two contour-plotting bugs in emplike descriptive statistics: DescStatUV.plot_contour's default levels were in decreasing order, which recent Matplotlib rejects outright, and DescStatMV.mv_mean_contour contoured the unbounded -2 log log-likelihood ratio against levels documented as significance levels instead of the already-computed p-value, making the plotted region degenerate. 10197
rvs_kernel's Beta-kernel perturbation step ignored the rng argument and always drew from SciPy's global default state, so two calls with identically-seeded generators did not reproduce the same output. 10198
Representation.initialize_components raised TypeError on every call (missing the required k_states argument in its internal Initialization.from_components call). 10200
miso_lfilter selected the wrong output column for any number of input variables other than 2 or 3 (an IndexError for 1 variable, silently wrong output with no error for 4 or more). 10201
HurdleCountModel.fit now splits start_params between its zero and main components instead of passing the full vector to both, and fit_regularized reports the joint refit's own convergence flag; the L1-penalized solver also raises on a non-finite Hessian instead of silently returning a NaN covariance. 10205
ARDLResults.apply/append no longer raises on a legitimate no-exog-to-no-exog round trip, and its exog-mismatch error messages are now actually reachable. 10207
Migrate the build backend from setuptools/setup.py to meson-python. 9634
Update minimum dependency versions (multiple passes). 9110, 9112
Add experimental Pyodide/WebAssembly support and CI jobs, including fixing an OpenBLAS symbol error under Emscripten. 9270, 9343
Avoid non-deterministic ordering in include_dirs lists (reproducible builds). 9296
Further clean-up of the build configuration. 9632
Generate free-threading (no-GIL) compatible Cython modules. 9717
Ensure the libm C math library is linked for all build targets. 9778
Remove the oldest-supported-numpy build workaround now that NumPy 2 is the floor for building from source. 9312
CI: add Python 3.13/3.14 (including free-threaded 3.14t) jobs, drop active Python 3.9 testing, and pin GitHub Actions to full commit SHAs for supply chain hardening. 9547, 9656, 9709, 9913, 9843
Routine dependency updates for GitHub Actions were kept current via dependabot throughout the release cycle (actions/checkout, actions/setup-python, actions/setup-node, github/codeql-action, pypa/cibuildwheel, r-lib/actions/setup-pandoc, and ts-graphviz/setup-graphviz) across roughly two dozen pull requests not individually itemized here.
Improve the documentation-build requirements. 9949
Improve notebook generation. 9990
Add a CI run for the X-13ARIMA-SEATS tests. 10021
Add a lint-only CI workflow (ruff + flake8). 10064
Improve the documentation-generation CI job, and switch the X-13ARIMA-SEATS CI job to build with coverage and use a different binary installation method. 10052, 10048, 10051
Remove the coveralls integration. 10080
Routine dependabot bumps for pypa/cibuildwheel and actions/github-script. 10070, 10071
Also look for .exe-suffixed binaries when locating the X-13ARIMA-SEATS executable on Windows. 10087
In addition to numerous individual typo, notebook, and docstring corrections, this release cycle included a large, systematic effort to bring docstrings across the codebase in line with the numpydoc standard (module by module: discrete, genmod, stats, tsa/ statespace, base/compat/datasets, graphics, imputation/multivariate/nonparametric, emplike/duration, treatment/gam, tools, othermod/regression/robust, and more), plus a documentation theme change to pydata-sphinx-theme and a pass over example notebooks to fix formatting and broken links. A second, final pass in the closing weeks of the cycle brought the remaining modules up to the same standard and fixed up the stragglers it turned up along the way: tools (10107), robust (10108), stats (10110), othermod/treatment/multivariate (10111), base/datasets/compat (10112), regression (10114), formula/graphics/imputation (10116), core tsa routines (10117), discrete/duration/gam/genmod (10119), distributions/emplike/iolib/miscmodels (10121), nonparametric (10123), vector_ar (10124), statespace (10127), and dataset docstrings (10128), plus general clean-up of numpy/ pandas usage (10115), rng parameter docstrings (10145), and the AGENTS.md guidance used to drive this pass (10125).
Correct links to notebooks. 8886
Correct a typo in the WLS.loglike docstring. 8900
Add install instructions for the nightly build. 8941
Correct the signature of CopulaDistribution. 8946
Fix an inconsistency in var_model.py. 8948
Fix inclusion of plots in the docs. 8963
Include the correct plot in scatter_ellipse docs. 8974
Various small typo fixes. 9011, 9082, 9192, 9208, 9285, 9397, 9462, 9532, 9558, 9626, 9848, 9850, 9873, 9941
Fix broken plots/content in linear_regression_diagnostics_plots. 9158
Fix interaction and other example notebooks. 9216, 9218, 9551, 9552, 9554, 9617, 9621, 9683, 9718, 9724, 9784, 9864
Update the ztest/ztest_mean p-value description. 9226
Improve documentation for regression diagnostics, stats, and summary. 9230
Generate docs for plot_ccf and plot_accf_grid. 9299
Fix documentation of AutoReg. 9310
Add a CITATION file. 9346
Improve documentation of acf and plot_acf. 9348
Clarify notation for the error term in the regression docs. 9361
Fix docstring formula display in the SVAR class. 9372
Improve docs for ExponentialSmoothing and related places. 9391
Update the mediation tutorial documentation. 9422
Remove an empty cell from an ARMA example notebook. 9483
Fix a broken link to a citation reference. 9561
Document currently supported Python versions. 9588
Fix the Gamma loglike_obs docstring and clarify weight parameterization; align Gamma/Negative-Binomial notation in the GLM families table. 9660, 9890, 9892, 9893
Fix a broken academic reference in anova.py. 9749
Fix an import in the api-structure page. 9755
Add the seasonal diagnostic plot to the docs. 9788
Correct the PredictionResults.conf_int docstring. 9813
Fix incorrect parameter names in deconvolve, powerdiscrepancy, and VECMResults.predict docstrings, and fix formula rendering in powerdiscrepancy. 9838, 9839
Switch the documentation theme to pydata-sphinx-theme. 9861
Improve math formulas in robust.norms docstrings. 9876
Add missing PoissonResults/NegativeBinomialPResults to the discrete-models autosummary. 9914
Systematic docstring fixes by module: discrete (9929), genmod (9930), stats (9931), tsa/statespace (9934), base/compat/ datasets (9935), graphics (9937), imputation/multivariate/ nonparametric (9938), othermod/regression/robust (9940), tools (9945), statespace (9946), emplike/duration (9943), treatment/gam (9944).
Update notebooks for the deprecations introduced in this release. 9939
Improve the robust.norms docstrings. 9766
Add an ARIMA tutorial notebook. 9792
Add a plot for the Hamilton filter. 9991
Add this release note. 9951
Many small documentation fixes, including for the new notebook and the STL docstring. 9952, 9954, 9960, 9961
Fix the NegativeBinomialP.fit docstring, notebook title levels, and a misplaced reference. 9962, 9963
Allow all notebooks to run again. 9955
Document that exog is matched by position for non-formula models. 9967
Remove docstring sections that did not render correctly. 9969
Use HTTPS for the MixedLM reference, clarify the add_constant prepend default, fix the ANOVA example link, and list all GEE covariance structures. 9996, 9997, 9999, 10000
Correct the recipr0 summary line and the discrete results parameters. 10006, 10011
Remove five documented parameters that are not in the signature. 10028
Add numpydoc Parameters sections to the new NamedTuple result classes. 10031
Add an AI-use policy for contributions, and an AGENTS.md for AI coding agents. 10045, 10078
Move README.rst to README.md. 10079, 10081
Clarify the anova_lm Type I/II/III sums-of-squares documentation. 9309
Add an explanation of the Benjamini-Hochberg procedure to the fdrcorrection docstring. 4216
Correct typos in the Hurdle Count Model example notebook. 9477
Fix the statsmodels.family -> statsmodels.families submodule name in the docs. 7568
Reorganize and improve the robust.norms docstrings. 8975, 10061
Fix the ETS simple-exponential-smoothing equations. 9484
Clarify GLMGam out-of-sample prediction and the GLSAR rho argument. 9998, 10047
Various small documentation and rst fixes. 10033, 10034, 10036, 10037, 10038, 10040, 10041, 10046, 10053, 10057, 10062, 10063
Clarify how to access TukeyHSD rejection decisions and p-values. 9956
Improve the yule_walker documentation. 10076
Reduce Sphinx cross-reference noise/warnings. 10097
Fix a typo in the WLS example notebook's row labels, and remove an unused scipy import and cell left over from it. 10099, 10100
Fix incorrect parameter types recorded in the regression docstrings. 10104
Fix the UECM docstring. 10118
Replace broken OECD glossary links in the endog/exog documentation. 10122
Improve the pacf docstring. 10169
Clarify that VARResults.df_model counts free parameters per equation (neqs * k_ar lagged terms plus k_exog deterministic terms), not the total across all equations. 10209
A substantial amount of routine maintenance went into keeping the test suite green against upstream changes in NumPy, SciPy, and pandas (including pandas copy-on-write and preparation for pandas 3), adopting ruff for linting in addition to flake8, running isort/pyupgrade across the codebase, relaxing overly tight test tolerances, and improving thread safety of the test suite ahead of free-threaded CPython support.
In the final weeks of the cycle, a systematic coverage audit went through results-class attributes and methods, computational code paths, and summary/table content that had no test asserting on it, adding regression tests and turning up several of the bug fixes listed above. 10150, 10151, 10153, 10155
Selected items:
Reduce direct use of the global np.random state in the library and in tests. 9878, 9879, 9737
Prepare for pandas 3 (string dtype changes, removed features). 9245, 9247, 9602, 9689, 9722
Adopt ruff for linting. 9453, 9642, 9643, 9650
Run isort across the codebase. 9855
Remove the obsolete, empty statsmodels.interface package. 9721
Improve thread safety of the test suite. 9742, 9904, 9910
Add CI coverage for Python 3.13/3.14 and free-threaded CPython. 9547, 9656, 9709
Move from isort to ruff for import sorting. 9981
Reduce mutation of model state inside fit() methods. 9972
Remove long-standing anti-patterns across genmod, multivariate, robust, tsa, stats and tools, and extend the same conventions to the remaining modules. 9973, 9977, 9978, 9980, 9984
Use pathlib in place of os.path. 9988
Remove unproductive if __name__ == "__main__" blocks, converting the useful ones into tests. 10023
Archive unused statsmodels.sandbox files and remove leftover debug code. 10018, 10019
Remove further deprecations and outdated compatibility code. 10015, 10026
Raise the declared Python floor to the actual minimum of 3.10, and improve the formula-engine specification. 9953, 9995
Add tests for the summary()-after-remove_data() pattern across models. 10003, 10007, 10008
Add a marker for joblib-dependent tests and fix a test on older SciPy. 9948, 10022
Clean up the examples and assorted lint. 9959, 9989
Update the declared NumPy minimum to reflect the version actually required, and remove the legacy NumPy code it made unreachable. 10032
Reduce warning noise in the test suite (new filterwarnings entries and pytest.warns wrappers for warnings introduced by the NamedTuple migration). 10068
Remove the now-redundant method validation in yule_walker (already performed by string_like). 10077
Rename misleadingly-named WLS equivalence tests, and clean up remaining small issues and lint. 10039, 10062, 10082
Prefer pandas.read_csv over numpy.genfromtxt for reading example data. 10054
Protect against pandas 4 changes. 10058, 10065
Improve the issue and pull-request templates. 10050, 10060
Assorted small maintenance ahead of the release. 10056
Test the remaining edge cases in the Jonckheere-Terpstra test. 10083
Move the NamedTuple result classes away from a shared limited-iteration mixin, standardize field names, and simplify the mix of NamedTuple and dataclass usage introduced earlier in the cycle. 10093, 10095, 10096, 10098
Restore a behavior change that had been introduced accidentally. 10094
Improve import performance in some cases. 10102
Move non-core code out of the main package. 10168
Re-enable a previously-skipped test, and change the warning class expected from fit_collinear and from tests running under WASM. 10138, 10142, 10144
Silence expected-but-noisy singularity warnings in the test suite. 10146
Add tests for the rng argument selector. 10147
Add a marker for matplotlib-dependent tests. 10166
CI: work around a Cython/conda incompatibility that intermittently broke the legacy conda test job. 10158, 10160, 10162
Add tools/check_public_api_coverage.py and tools/class_coverage_report.py, AST-based scripts that find public API surface and estimation-class code with no test coverage, plus a CI job that runs them with a baseline so the zero-coverage set cannot grow; this tooling drove much of the coverage-motivated bug-hunting elsewhere in this release. 10189
Standardize fully on ruff for linting and drop flake8 from CI and pre-commit, now that ruff covers the rules previously split across both tools. 10192, 10193
Add further regression tests from the public-API coverage audit for statsmodels.test, docstring_helpers, eval_measures.stde, moment_helpers.mnc2mvsk, gof.gof_chisquare_discrete/ gof_binning_discrete, RegressionFDR.threshold, weightstats.DescrStatsW.ttost_mean/CompareMeans.ztost_ind, datasets.utils.clear_data_home, iolib.table.SimpleTable.pad, GenericLikelihoodModel.reduceparams/nloglike, and DistributedModel.fit_joblib/DistributedResults.predict, each checked against an independent reference rather than only asserting no exception is raised. 10194
Add coverage for VARProcess/VARResults autocorrelation methods. 10199
Reduce the number of Linux CI jobs to speed up completion. 10181
Further pandas-compatibility maintenance (factor.py, grouputils.py, an x13 test). 10206
Skip a test requiring an exact LinAlgError message on WASM/Pyodide. 10202
See github issues for a list of bug fixes included in this release
Thanks to everyone who contributed code, documentation, bug reports, and review to this release cycle. The following list of contributors is generated from git log between v0.15.0.dev0 and the v0.15.0 release, and may not be complete or fully deduplicated across differently-configured git identities:
Achraf Ez, Aditi Juneja, Adrian Ross, Agriya Khetarpal, Alex Alborghetti, Alexander Fischer, Andrés, Andrés López, Anh Trinh, Aniket, Aniket Singh Yadav, Anselm Hahn, Antoine Mayerowitz, Anton Karpov, Anuraag Pandhi, Artem Glebov, Ayush Gupta, Ben, Benjamin Leff, Bortlesboat, Caleb Lindgren, Chad Fulton, Christine P. Chai, Clément Fauchereau, Daan Knoope, David Ivanov, Deshan, Dhairya Motta, Dhruvil Darji, Eden Rochman, Elton Chang, Erich Morisse, Eugen Goebel, Evan Lyall, Evgeni Burovski, FuturMix, Hadi Dayekh, Harish Bhavandla, Hood Chatham, IsaacP, IntegralIndefinida, Illia Polovnikov, Iman, Jake Soloff, Jesse W. Collins, Jim Varanelli, Joey Scanga, Josef Perktold, Joshua Markovic, Justin Mahlik, Kaif, Kakarot35, Kayvan Zahiri, Kevin Sheppard, Kevin Gregory, Kumar Aditya, Lakshmi786, Loi Nguyen, Luke J, Maciej Skorski, Manlai Amar, Marc Bresson, Mathias Hauser, Maxime Gourguechon, Melissa Wu, Michał Górny, Michel de Ruiter, Naimish Machchhar, Panzerkampfwagen-del, Pranav Achar, Puneet Dixit, Rahul Rathnavel K, Ralf Gommers, Rebecca N. Palmer, Ritika shrestha, RoyS, Seaic Mac Murchadha, Sebastian Pölsterl, Shamus, Solaris-star, Sreekant Baheti, Tartopohm, Vedant Madane, Vikram Kumar, Viktor, Vitaliy, Vladimir Saraikin, Wali Reheman, Will Tirone, YangWu1227, Zbigniew Jędrzejewski-Szmek, Zhang Hong, Zhengbo Wang, adarshsm, alekracicot, camaramm, chuenchen309, cjck944084735-dot, genrichez, hass-nation, lev, libokai, louisabraham, mkzung, star1327p, uttam12331, whn, and many others.
These lists are automatically generated based on git log and may not be complete.
The following Pull Requests were merged since the last release:
4216: DOC: Added explanation of fdr_bh to docstring of fdrcorrection
7326: BUG: Fix libsturng issue #7324
7568: MAINT: Fix incorrect submodule name (statsmodels.family -> sm.families)
8129: ENH: Outlier robust covariance - rebased
8782: ENH/TST: ccf to optionally return confidence intervals
8783: ENH: Plot cross-correlations and auto/cross-correlation matrix
8865: MAINT: Move from Styler.applymap to map
8866: DOC: Add admonitions for changes and deprecations
8867: DEV: Start of 0.15 branch
8870: TST: install missing *.csv files needed by tsa.stl tests
8872: MAINT: Add CI for install and sdist install
8874: Backport of #8870 and #8872
8875: TST: Relax tolerance on overly tight test
8876: TST: Relax tolerance on overly tight test
8878: BUG Fix typo in InfeasibleTestError exception string
8881: ENH: plot prediction curve over scatter in GLMGamResults.plot_partial
8886: DOC: Correct links to notebooks
8887: BUG: Correct diagnostics for changes in pandas
8889: ENH: add get_margeff to GLM
8897: MAINT: Update for future pandas changes
8900: DOC: correct typo in WLS.loglike docstring
8907: BUG: mnlogit wald tests, ravel, string cov_names
8919: ENH: add MultivariateLS
8930: MAINT: Remove deprecated utility
8932: CLN: Fix typos
8937: ENH/PERF: faster computation of revision impacts
8939: MAINT: Update nightly location
8940: MAINT: Make changes for deprecations
8941: DOC: Add install instructions for nightly
8942: BUG: Writing read-only arry on pandas 2/CoW
8946: DOC: correct signature of CopulaDistribution
8948: DOC: fix inconsistency in var_model.py
8959: ENH: 2-sample z-test unequal variances case
8963: DOC: Fix inclusion of plots
8974: DOC: Include correct plot in scatter_ellipse
8975: DOC: docstrings in robust.norms, improve, reorganize
8988: STY: Switch from == to is for type comparrison
8989: MAINT: Insert some initial NumPy caps
8990: MAINT: Block pandas 2.1.0
8992: Bump actions/checkout from 3 to 4
9011: DOC: fix small typo
9016: ENH: Improve lag selection in pacf
9029: Update seasonal.py
9036: ENH: Improved performance of the ConditionalMNLogit class
9041: Backport 0.14.1
9046: Forward port
9059: TST: Ensure value is float
9078: ENH: Add compatability with Cython 3
9082: DOC: fix typo
9083: CI: Ensure non-zero exit fails
9086: Bump actions/setup-python from 4 to 5
9087: MAINT: Use RandomState in-place of np.random.seed
9088: MAINT: Protect against future pandas changes to merge/sorting
9089: MAINT: Use modern freq names
9092: Backport 0.14.1
9098: Bump github/codeql-action from 2 to 3
9101: refactor code to drop constant columns
9106: MAINT: Explore NumPy 2 compatability
9110: BLD: Update minimums
9111: MAINT: Fix future issues in pandas
9112: Update mins v2
9113: MAINT: Remove conditions producing warnings
9115: MAINT: Clean up and silence some warnings
9116: CI: Update pip pre to 3.12
9117: edited requirements.txt
9124: MAINT: Fix future issues due to array shapes
9126: MAINT: Fixes for pre-release testing
9130: ENH: GLM models now save the names of input Pandas Series
9142: Fix linting error
9143: Fix string formatting
9144: MAINT: Replace quarterly string identified
9149: Bump ts-graphviz/setup-graphviz from 1 to 2
9150: MAINT: Fixes for future changes
9158: DOC: Fix broken in linear_regression_diagnostics_plots
9165: BUG: Ensure ARIMA simulation is reproducable
9186: ENH: robust: tools and more norms
9192: DOC: fixed boxpierece typos
9195: MAINT: Make compatability with NumPy 2
9200: Cherry pick commits from 0.15 for 0.14.3
9203: DOC: Add release note
9208: DOC: fixed typos init_training_endog
9210: BUG/ENH: fix scale.Huber and add robust MScale
9212: DOC: Final docs for 0.14.2
9213: DOC: Final docs for 0.14.2
9216: DOC: Fix interactions notebook
9218: DOC: Fix multiple issues in notebooks
9226: DOC: Update pvalue description in weightstats.py of ztest and ztest_mean
9227: ENH: add CovDetMCD and det for regression
9230: DOC: Improve docs of regression_diagnostics.html, stats.html, summary
9240: BUG: Correct cov_kwargs -> cov_kwds
9245: MAINT: Fix issues with pandas 3
9247: MAINT: Additional fixes for pandas 3
9249: added "one-sided" alternative for proportion_confint
9255: ENH: add alternative option to confint_poisson
9262: MAINT: Change future keyword argument
9270: Add Pyodide support and CI jobs for statsmodels
9280: ENH: Add optional parameters for summary_col to indicate FEs (rebased)
9285: DOC: Replace postive by positive
9291: REF: Remove numpy testing import from test runner
9292: MAINT: Update requirements
9296: Avoid random ordering in include_dirs lists
9299: DOC: Generate docs for plot_ccf and plot_accf_grid
9309: DOC: Add explanation of typ I II III of anova_lm
9310: DOC: Fix documentation of statsmodels.tsa.ar_model.AutoReg
9311: BUG: Ensure ZA does not overwrite
9312: MAINT: Remove oldest-supported-numpy
9334: ENH/BUG: Ensure array is owned
9336: MAINT: Change how indices are compared
9341: Bump actions/setup-node from 4.0.2 to 4.0.3
9343: Fix OpenBLAS pow_dd unresolved symbol error, update Emscripten CI testing
9346: DOC: Add citation file
9348: DOC: Improve documentation of acf and plot_acf
9351: STY: Accept 88 characters in linting
9354: MAINT: Simplify and standardize setup
9356: MAINT: Backport changes needed for 0.14.3 release
9358: TST: Relax tolerance on test that fails for dynamic factor
9359: MAINT: Run pyupgrade on 0.14 branch
9360: MAINT: Run pyupgrade on main branch
9361: adjusting notation of error term in regression docs
9363: DOC: Add release note for 0.14.3
9364: DOC: Spelling
9365: Backport of #9270: add Pyodide support and CI jobs for v0.14.x
9370: Bump actions/setup-node from 4.0.3 to 4.0.4
9372: Fix docstring formula display in SVAR class
9377: DOC: Add release note for 0.14.4
9379: DOC: Fix version number
9385: BUG: Avoid modification in place
9386: MAINT: Fix scalar assignment
9388: ENH: changed np.round(mean_dff,2) -> mean_diff:.3g
9389: feature/wilcoxon mann whitney sample size
9390: BUG: Corect resid from UECM
9391: DOC: Imroves docs for exponentialsmoothing and other places
9394: BUG: Correct x and y label location in qqplot_2sample
9395: MAINT: Replace deprecated Pandas append with concat in dynamic_factor_mq
9396: BUG: Remove method setting in summary2 of genmod
9397: DOC: Fix typo in previous fix
9398: BUG: Ensure hessian is skipped
9399: ENH: Add leybourne-mccabe test
9400: BUG: Correct LLF for ETSModel
9401: Feature/wilcoxon mann whitney sample size squashed
9407: ENH: more reliable casting of pandas data
9411: Bump actions/setup-node from 4.0.4 to 4.1.0
9413: BUG: Ensure VAR can forecast with 0 lags
9422: DOC: updated mediation tutorial documentation
9423: ENH: Abstract formula engine
9424: TST: Make test more resiliant
9439: Dependencies consistency
9449: CI: Update permissions
9453: ENH: Add ruff support
9457: BUG: Correct DatetimeIndex use
9458: TST: Restore skip when no x13 available
9461: BUG: Correct handleing of PeriodIndex in seasonal_decompose
9462: DOC: Corrected a typo in chi^2
9467: Update conf.py year
9468: BUG: svar, A,B dtype, one parameter score shape, closes #9302
9470: MAINT: Bump formulaic to 1.1.0
9471: Fix formula eval depth in select models
9477: DOC: Corrected typos in the Hurdle Count Model example
9483: DOC: remove empty cell in tsa_arma_0.ipyb file
9484: DOC: fixed ETS simple exponential smoothing equations
9487: BUG/ENH: Tukeyhsd, fix unused variance, add Games-Howell
9492: Bump actions/setup-node from 4.1.0 to 4.2.0
9498: Modify x13_arima_analysis to produce seasonality fit diagnostics
9503: TST: Relax tolerance on overly tight test
9510: fix doc for extrapolate_trend and allow period as well
9518: [ENH] Allow ARDL model trend 'ctt'
9524: BUG: Fix bug in Runs.runs_test for the case of a single run yielding …
9532: DOC: fix duplicate words in weightstats
9535: Bump actions/setup-node from 4.2.0 to 4.3.0
9541: BUG: Co
Note truncated.
This patch release fixes an issue with pandas 3.0.0 that prevented statsmodels from importing. It also addresses some minor changes that improve futur
This patch release fixes an issue with pandas 3.0.0 that prevented statsmodels from importing. It also addresses some minor changes that improve future compatibility in NumPy.
This patch release fixes an issue with recent SciPy releases (1.16+) that prevented statsmodels from importing. It also addresses some small changes t
This patch release fixes an issue with recent SciPy releases (1.16+) that prevented statsmodels from importing. It also addresses some small changes that improve future compatibility.
The statsmodels developers are pleased to announce the release of 0.14.4. This release contains one feature and no fixes.
The statsmodels developers are pleased to announce the release of 0.14.4. This release contains one feature and no fixes.
New Feature:
statsmodels is using github to store the updated documentation. Two version are available:
Stable, the latest release
Development, the latest build of the main branch
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.
Issues Closed: 1
Pull Requests Merged: 1
This release bring official Pyodide support to a statsmodel release. It also adds a fast implementation of the medcouple robust skewness estimator (O(n log n), optional via use_fast=True).
It is otherwise identical to the previous release.
Special thanks to Agriya Khetarpal for working through Pyodide-specific issues, and improving other areas of statsmodels while doing so.
The following Pull Requests were merged since the last release:
9365: Backport of #9270: add Pyodide support and CI jobs for v0.14.x
XXXX: ENH: Add fast medcouple implementation (use_fast=True) with O(n log n) complexity, legacy version kept for small/tied datasets
This is a packaging and compatibility release that will allow statsmodels to run in environments using NumPy 2 and recent pandas.
This is a packaging and compatibility release that will allow statsmodels to run in environments using NumPy 2 and recent pandas.
This is a packaging and compatibility release that will allow statsmodels to run in environments using NumPy 2 and recent pandas.
statsmodels is using github to store the updated documentation. Two version are available:
Stable, the latest release
Development, the latest build of the main branch
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.
Issues Closed: 1
Pull Requests Merged: 5
This release if a packaging and modernization release. It solves two key issues:
Corrects the build procedure for MacOS on both x86_64 and arm64
Improves compatibility with recent pandas releases
This release is NumPy 2.0 compatible. NumPy 2.0 is only available for Python 3.9+. This means that the minimum Python has been increased to 3.9 to match. NumPy 2 is only required to build statsmodels, and statsmodels will continue to run on NumPy 1.23.5+.
Note that when running using NumPy 2, all dependencies that use build against NumPy (e.g., Scipy and pandas) must be NumPy 2 compatible. You can continue to run against NumPy 1.22 - 1.26 along with other components of the scientific Python stack until all required dependencies have been updated.
There are no new features in release 0.14.3.
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
See github issues for a list of bug fixes included in this release
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.
The following Pull Requests were merged since the last release:
9356: MAINT: Backport changes needed for 0.14.3 release
9358: TST: Relax tolerance on test that fails for dynamic factor
9359: MAINT: Run pyupgrade on 0.14 branch
9363: DOC: Add release note for 0.14.3
9364: DOC: Spelling
This is a compatibility release that will allow statsmodels to run in environments using NumPy 2.
This is a compatibility release that will allow statsmodels to run in environments using NumPy 2.
statsmodels is using github to store the updated documentation. Two version are available:
Stable, the latest release
Development, the latest build of the main branch
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.
Issues Closed: 22
Pull Requests Merged: 24
This release brings compatibility with NumPy 2.0.0. This is the only key feature of this release. Several minor patches have been backported. These either fix bugs that have been documented, improve the documentation or are necessary for NumPy 2.0 compatability.
NumPy 2.0 is only available for Python 3.9+. This means that the minimum Python has been increased to 3.9 to match. NumPy 2 is only required to build statsmodels, and statsmodels will continue to run on NumPy 1.23.5+.
Note that when running using NumPy 2, all dependencies that use build against NumPy (e.g., Scipy and pandas) must be NumPy 2 compatible. You can continue to run against NumPy 1.22 - 1.26 along with other components of the scientific Python stack until all required dependencies have been updated.
The following lists the main new features of statsmodels 0.14.2. In addition, release 0.14.2 includes bug fixes, refactorings and improvements in many areas.
Bump github/codeql-action from 2 to 3 (9098)
Bump ts-graphviz/setup-graphviz from 1 to 2 (9149)
Add MultivariateLS (8919)
Outlier robust covariance - rebased (8129)
Outlier robust covariance - rebased (8129)
Ensure ARIMA simulation is reproducable (9165)
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
See github issues for a list of bug fixes included in this release
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.14.2 release (based on git log):
Josef Perktold
Kevin Sheppard
Manlai Amar
Michel De Ruiter
Trinh Quoc Anh
Zhengbo Wang
cppt
dependabot[bot]
s174139
These lists of names are automatically generated based on git log, and may not be complete.
The following Pull Requests were merged since the last release:
9029: Update seasonal.py
9098: Bump github/codeql-action from 2 to 3
9110: BLD: Update minimums
9111: MAINT: Fix future issues in pandas
9115: MAINT: Clean up and silence some warnings
9117: edited requirements.txt
9124: MAINT: Fix future issues due to array shapes
9142: Fix linting error
9143: Fix string formatting
9144: MAINT: Replace quarterly string identified
9149: Bump ts-graphviz/setup-graphviz from 1 to 2
9150: MAINT: Fixes for future changes
9158: DOC: Fix broken in linear_regression_diagnostics_plots
9165: BUG: Ensure ARIMA simulation is reproducable
9192: DOC: fixed boxpierece typos
9195: MAINT: Make compatability with NumPy 2
9200: Cherry pick commits from 0.15 for 0.14.3
This is a bug fix and future-proofing release that contains all bug fixes that have been applied since 0.14.0 was released.
This is a bug fix and future-proofing release that contains all bug fixes that have been applied since 0.14.0 was released.
There are no enhancements or changes to the statsmdoels API.
statsmodels is using github to store the updated documentation. Two version are available:
Stable, the latest release
Development, the latest build of the main branch
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.
Issues Closed: 41
Pull Requests Merged: 22
This is a bug-fix and compatability focused release. There are two enhancements to the graphics module.
The following lists the main new features of statsmodels 0.14.1. In addition, release 0.14.1 includes bug fixes, refactorings and improvements in many areas.
Faster computation of revision impacts (8937)
Mnlogit wald tests, ravel, string cov_names (8907)
Mnlogit wald tests, ravel, string cov_names (8907)
Mnlogit wald tests, ravel, string cov_names (8907)
Correct signature of CopulaDistribution (8946)
Add get_margeff to GLM (8889)
Fix inclusion of plots (8963)
ccf to optionally return confidence intervals (8782)
Plot cross-correlations and auto/cross-correlation matrix (8783:)
plot prediction curve over scatter in GLMGamResults.plot_partial (8881)
Update nightly location (8939)
Make changes for deprecations (8940)
Switch from == to is for type comparrison (8988)
Insert some initial NumPy caps (8989)
Block pandas 2.1.0 (8990)
Correct typo in WLS.loglike docstring (8900)
2-sample z-test unequal variances case (8959)
Ccf to optionally return confidence intervals (8782)
Fix inconsistency in var_model.py (8948)
Faster computation of revision impacts (8937)
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
See github issues for a list of bug fixes included in this release
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.14.1 release (based on git log):
Artem Glebov
Chad Fulton
Josef Perktold
Kevin Sheppard
Melissa Wu
Rebecca N. Palmer
Sebastian Pölsterl
Tartopohm
Tom Adamczewski
These lists of names are automatically generated based on git log, and may not be complete.
The following Pull Requests were merged since the last release:
8782: ENH/TST: ccf to optionally return confidence intervals
8783: ENH: Plot cross-correlations and auto/cross-correlation matrix
8881: ENH: plot prediction curve over scatter in GLMGamResults.plot_partial
8886: DOC: Correct links to notebooks
8900: DOC: correct typo in WLS.loglike docstring
8907: BUG: mnlogit wald tests, ravel, string cov_names
8930: MAINT: Remove deprecated utility
8932: CLN: Fix typos
8939: MAINT: Update nightly location
8940: MAINT: Make changes for deprecations
8941: DOC: Add install instructions for nightly
8942: BUG: Writing read-only arry on pandas 2/CoW
8946: DOC: correct signature of CopulaDistribution
8948: DOC: fix inconsistency in var_model.py
8963: DOC: Fix inclusion of plots
8974: DOC: Include correct plot in scatter_ellipse
8988: STY: Switch from == to is for type comparrison
8989: MAINT: Insert some initial NumPy caps
8990: MAINT: Block pandas 2.1.0
The statsmodels developers are happy to announce the first release of the 0.14 branch. 255 issues were closed in this release and 345 pull requests we
The statsmodels developers are happy to announce the first release of the 0.14 branch. 255 issues were closed in this release and 345 pull requests were merged. Major new features include:
statsmodels is using github to store the updated documentation. Two version are available:
Stable, the latest release
Development, the latest build of the main branch
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.
Issues Closed: 255
Pull Requests Merged: 345
~statsmodels.treatment.TreatmentEffect estimates treatment effect for a binary treatment and potential outcome for a continuous outcome variable using 5 different methods, ipw, ra, aipw, aipw-wls, ipw-ra. Standard errors and inference are based on the joint GMM representation of selection or treatment model, outcome model and effect functions.
statsmodels.discrete.truncated_model.HurdleCountModel implements hurdle models for count data with either Poisson or NegativeBinomialP as submodels. Three left truncated models used for zero truncation are available, statsmodels.discrete.truncated_model.TruncatedLFPoisson, statsmodels.discrete.truncated_model.TruncatedLFNegativeBinomialP and statsmodels.discrete.truncated_model.TruncatedLFGeneralizedPoisson. Models for right censoring at one are implemented but only as support for the hurdle models.
Results methods for post-estimation have been added or extended.
get_distribution returns a scipy or scipy compatible distribution instance with parameters based on the estimated model. This is available for GLM, discrete models and BetaModel.
get_prediction returns predicted statistics including inferential statistics, standard errors and confidence intervals. The which keyword selects which statistic is predicted. Inference for statistics that are nonlinear in the estimated parameters are based on the delta-method for standard errors.
get_diagnostic returns a Diagnostic class with additional specification statistics, tests and plots. Currently only available for count models.
get_influence returns a class with outlier and influence diagnostics. (This was mostly added in previous releases.)
score_test makes score (LM) test available as alternative to Wald tests. This is currently available for GLM and some discrete models. The score tests can optionally be robust to misspecification similar to cov_type for wald tests.
Hypothesis tests, confidence intervals and other inferential statistics are now available for one and two sample Poisson rates.
Methods of Archimedean copulas have been extended to multivariate copulas with dimension larger than 2. The pdf method of Frank and Gumbel has been extended only to dimensions 3 and 4.
New class ECDFDiscrete for empirical distribution function when observations are not unique as in discrete distributions.
The existing ~statsmodels.tsa.seasonal.STL class has been extended to handle multiple seasonal components in ~statsmodels.tsa.seasonal.MSTL. See 8160.
burg option in pacf 8113
new link for GLM: Logc 8155
rename class names for links for GLM, lower case names are deprecated 8569
allow singular covariance in gaussian copula 8504
GLM: Tweedie full loglikelihood 8560
x13: option for location of temporary files 8564
Added an information set argument to get_prediction and predict methods of statespace models that lets the user decide on which information set to use when making forecasts. 8002
The following lists the main new features of statsmodels 0.14.0. In addition, release 0.14.0 includes bug fixes, refactorings and improvements in many areas.
Fix ZivotAndrewsUnitRoot.run() docstring (7812)
Fixes typo "Welsh ttest" to "Welch ttest" (7839)
Update maxlag to maxlags (7916)
Add prediction results to docs (7932)
Add tests for pandas compat (7939)
Fix heading level (7954)
Fix prediction docstrings (7970)
Remove DataFrame.append usage (7986)
ETS model loglike doc typo fix (8003)
Fix doc errors in MLEResults predict (8005)
Grammar (8023)
Fix missing reference (8038)
Apply small docstring corrections (8042)
Clarify difference between q_stat and acorr_ljungbox (8191)
Fix a typo in the documentation (8275)
Fix histogram (8299)
Add notebook for Poisson post-estimation overview (8420)
Add version (8863)
REF/ENH delta method and nonlinear wald test rebased (7758)
Discrete scorefactor offset rebased3 (7825)
Deprecate cols in conf_int (7842)
Add start_params to TestPenalizedPoissonOraclePenalized2 (7868)
ENH/REF generic get_prediction (7870)
Start move to scalar test statistics (7874)
Get_prediction for more models and cases (7900)
Scoretest betareg (7907)
Discrete add get_distribution, add which="var" for NBP, GPP (7929)
Add notebook for Poisson post-estimation overview (8420)
GenericLikelihood Results hasattr for df_resid is always true, s… (8476)
Nelder-Mead and Powell has bounds in scipy (8545)
Diagnostic class rebased (7597)
Discrete scorefactor offset rebased3 (7825)
Add start_params to TestPenalizedPoissonOraclePenalized2 (7868)
ENH/REF generic get_prediction (7870)
Add CountResults.get_diagnostic (7895)
Get_prediction for more models and cases (7900)
Discrete add get_distribution, add which="var" for NBP, GPP (7929)
Add get_influence to DiscreteResults (7951)
Truncated, hurdle count model rebased (7973)
ENH/REF/DOC improve hurdle and truncated count models (8031)
Add method and converged attributes to DiscreteModel. (8305)
Add notebook for Poisson post-estimation overview (8420)
Add notebook for hurdle count model (8424)
REF/DOC Poisson diagnostic (8502)
PerfectSeparation, warn by default instead of raise, GLM, discrete (8552)
Fixes, discrete perfect prediction check, Multinomial fit (8669)
MNLogit if endog is series with no name (8674)
Get_distribution, return 1-d instead of column frozen distribution (8780)
Numpy compat, indexed assignment shape in NegativeBinomial (8822)
Support offset in truncated count models (8845)
Denominator needs to be a vector (8086)
Adding weighted empirical CDF (8192)
Add parameter allow_singular for gaussian copula (8504)
Lint, pep-8 of empirical distribution, remove __main__ (8546)
Remove extradoc from distribution, scipy deprecation (8598)
Archimedean k_dim > 2, deriv inverse in generator transform (8633)
Archimedean rvs for k_dim>2, test/gof tools (8642)
Correct tau for small theta in FrankCopula (8662)
Release 0.13.1 documentation (7881)
Issue #7889 (7890)
Fix heading level (7954)
DEV Guide modify redundant text (8104)
Fix spelling in ARDL (8127)
Fix typos in docstring (8169)
Improve docs for using fleiss_kappa (8203)
Fix docs std_null twice instead of std_alternative (8228)
Missing f prefix on f-strings fix (8245)
Updated duration.rst to display output (8259)
Small doc fixes (8264)
Update book reference in ETS example (8282)
Easy PR! Fix minor typos (8316)
Added detailed ValueError to prepare_trend_spec() (8365)
Fix typo in documentation (8386)
Improvements to linear regression diagnostics example (8402)
Use pandas loc in contrasts notebook (8433)
Fix warnings (8483)
Add release note for 0.13.3 (8485)
Final 0.13.3 docs (8493)
Add release notes for .4 and .5 (8501)
Fix typo in gmm.py (8527)
Orthographic fix (8555)
Changes made in the documentation on endogeneity (8557)
Add to rst docs, fix docstrings (8559)
Add Statsmodels logo to Readme (8571)
Added notebook links to TSA documentation and doc strings (8585)
Fix docstring typo in rank_compare_2indep (8593)
Fix doc build (8608)
Fix indent (8613)
Remove dupe section (8618)
Fix extlinks (8621)
Various doc fixes and improvements (8648)
Fix typo in examples/notebooks/mixed_lm_example.ipynb (8684)
Fix developer page linting requirements (8744)
Add a better description of the plot generated by plot_fit (8760)
Add old release notes and draft of 0.14 (8798)
Merge existing highlights (8799)
Update PRs in release note (8805)
Improve release notes highlights (8806)
Fix more deprecations and restore doc build (8826)
Final changes for 0.14.0rc0 notes (8839)
Fix internet address of dataset (8861)
Small additional fixes (8862)
Use sorted residual to calcualte _cpr (7875)
Genmod's loglog Formula Fixes (7787)
Allow all appropriate links in a Family (7816)
Discrete scorefactor offset rebased3 (7825)
GLM score_test, use correct df_resid (7843)
ENH/REF generic get_prediction (7870)
Fix prediction docstrings (7970)
Handle lists and tuples (8010)
Adding logc link (8155)
GLM negative binomial warns if default used for parameter alpha (8371)
GLM predict which and get_prediction (8505)
Deprecate link aliases (8547)
PerfectSeparation, warn by default instead of raise, GLM, discrete (8552)
Tweedie loglike (8560)
Glm links (8569)
ENH/REF generic get_prediction (7870)
Get_prediction for more models and cases (7900)
Add start_params to TestPenalizedPoissonOraclePenalized2 (7868)
Correct limit in mean diff plot (7921)
Linear regression diagnosis (8102)
Fix bug #8248 (8249)
Fixed minor typo on matplotlib import alias (8271)
Fix histogram (8299)
Add _repr_latex_ methods to iolib tables (8134)
Determine if all rows have same length (8257)
Possibility of not printing r-squared in summary_col (8658)
Adding extra text in html of summary2.Summary #8663 (8664)
Switch to new codecov upload method (7799)
Update setup to build normally when NumPy availble (7801)
Clean up usage of private SciPy APIs as much as possible (7820)
Fix for deprecation (7832)
Protect against future pandas changes (7844)
Merge pull request #7787 from gmcmacran/loglogDoc (7845)
Merge pull request #7791 from Wooqo/fix-hw (7846)
Merge pull request #7795 from bashtage/bug-none-kpss (7847)
Merge pull request #7801 from bashtage/change-setup (7850)
Merge pull request #7812 from joaomacalos/zivot-andrews-docs (7852)
Merge pull request #7799 from bashtage/update-codecov (7853)
Merge pull request #7820 from rgommers/scipy-imports (7854)
BACKPORT Merge pull request #7844 from bashtage/future-pandas (7855)
Merge pull request #7816 from tncowart/unalias_links (7857)
Merge pull request #7832 from larsoner/dep (7858)
Merge pull request #7874 from bashtage/scalar-wald (7876)
Merge pull request #7842 from bashtage/deprecate-cols (7877)
Merge pull request #7839 from guilhermesilveira/main (7878)
Merge pull request #7868 from josef-pkt/tst_penalized_convergence (7879)
Silence warning (7904)
Remove Future and Deprecation warnings (7914)
Start removing pytest warns with None (7943)
Prevent future issues with pytest (7965)
Relax tolerance on VAR test (7988)
Modify setup requirements (7993)
Add slim to summary docstring (8004)
Add conditional models to API (8011)
Add stacklevel to warnings (8014)
Pin numpydoc (8041)
Unpin numpydoc (8043)
Add backport action (8052)
Correct upstream target (8074)
Cleanup CI (8083)
[maintenance/0.13.x] Merge pull request #7950 from bashtage/cond-number (8084)
Correct backport errors (8085)
Stop using conda temporarily (8088)
Correct small future issues (8089)
Correct setup for oldest supported (8092)
Release note for 0.13.2 (8107)
Use correct setuptools backend (8109)
Update examples in python (8146)
Avoid divide by 0 in aicc (8176)
Correct linting (8181)
Use requirements (8210)
Relax overly tight tolerance (8215)
Auto bug report (8244)
Small code quality and modernizations (8246)
Further class clean (8247)
Upper bound on Cython for CI (8258)
Remove distutils (8266)
Correct clean command (8268)
Update used actions, cache pip deps, Python 3.10 (8278)
Correct requirements-dev (8285)
Update lint (8296)
Remove pandas warning from pytest errors (8320)
Remove unintended print statements (8347)
Fix lint and upstream induced changes (8366)
Relax tolerance due to Scipy changes (8368)
GitHub Workflows security hardening (8411)
Fix Matplotlib deprecation of loc as a positional keyword in legend functions (8429)
Add a weekly scheduled run to the Azure pipelines (8430)
Add Python 3.11 jobs (8431)
Fix future warnings (8434)
Fix Windows and SciPy issues (8455)
Fix develop installs (8462)
Refactor doc build (8464)
Use stable Python 3.11 on macOS (8466)
Replave setup with setup_method in tests (8469)
Relax tolerance on tests that marginally fail (8470)
Future fixes for 0.13 (8473)
Try to fix object issue (8474)
Update doc build instructions (8479)
Update doc build instructions (8480)
Backport Python 3.11 to 0.13.x branch (8484)
Set some Pins (8489)
Refine pins (8491)
Refine pins (8492)
Remove redundant wheel dep from pyproject.toml (8498)
Add Dependabot configuration for GitHub Actions updates (8499)
Bump actions/setup-python from 3 to 4 (8500)
Add CodeQL workflow (8509)
Fix pre testing errors (8540)
Remove deprecated alias (8566)
Clean up deprecations (8588)
Disable failing random test, imputation, mediation (8597)
Fix style in sandbox/distributions (8603)
Fix test change due to pandas (8604)
Pin sphinx (8611)
Relax test tol for OSX fail (8612)
Update copyright date in docs/source/conf.py (8694)
MAINT/TST unit test failures, compatibility changes (8777)
Update pyproject for 3.10 (7880)
Simplify pyproject using oldest supported numpy (7989)
Update doc builder to Python 3.9 (7997)
Resore doct build to 3.8 (7999)
Switch to single threaded doc build (8012)
Improve specificity of warning check (8797)
Ensure statsmodels test suite passes with pandas CoW (8816)
Remove deprecated np.alltrue and np.product (8823)
Remove casts from array to scalar (8825)
Switch DeprecationWarn to FutureWarn (8834)
Check dtype for xvals in lowess (8047)
Correct description of cut parameter for KDEUnivariate (8340)
Improve specificity of warning check (8797)
Fix lowess Cython to handle read-only (8820)
Get_prediction for more models and cases (7900)
Scoretest betareg (7907)
MLEInfluence for two-part models, extra params, BetaModel (7912)
Robust add MQuantileNorm (3183)
Update maxlag to maxlags (7916)
Ensure pinv_wexog is available (8161)
Enforce type check in recursive_olsresiduals (8225)
Faster whitening matrix calculation for sm.GLS() (8373)
Add GLS singular test (8375)
Adding extra text in html of summary2.Summary #8663 (8664)
Mixedlm fit_regularized, missing vcomp in results (8682)
Correct assignment in different versions of pandas (8793)
Robust add MQuantileNorm (3183)
Fix robust.norm.Hampel (8801)
REF/ENH delta method and nonlinear wald test rebased (7758)
Update proportion.py (7777)
GLM score_test, use correct df_resid (7843)
Correct prop ci (7998)
Use scipy.stats.studentized_range in tukey hsd when available (8035)
Use nobs ratio in power and samplesize proportions_2indep (8093)
Ensure exog is well specified (8130)
Make ygrid work for etest_poisson_2indep (8137)
Allows arrays in porportions (8154)
hypothesis tests, confint, power for rates (poisson, negbin) (8166)
Clarify difference between q_stat and acorr_ljungbox (8191)
Fix #8227 wrong standard error of the mean (8260)
Fix critical values for hansen structural change test (8263)
ENH/DOC fixes in docs, missing in stats.api fpr rates (8324)
Fix max in tost_proportions_2indep, vectorize tost (8333)
Docs/add-missing-return-value-from-aggregate-raters-to-doc (8400)
Add notebook for stats poisson rates (8412)
Corrected the docstring of normal_sample_size_one_tail() (8414)
Notebook rankcompare (8427)
Fix docstrings (8494)
REF/DOC Poisson diagnostic (8502)
Normal_sample_size_one_tail, fix std_alt default, minimum nobs (8544)
Ref/ENH misc, smaller fixes or enhancements (8567)
Correct ContrastResults (8615)
Fix fdrcorrection_twostage, order, pvals>1 (8623)
Add FTestPowerF2 as corrected version of FTestPower (8656)
Fix test_knockoff.py::test_sim failures and link (8673)
Doc fixes, bugs in proportion (8702)
Add CountResults.get_diagnostic (7895)
MLEInfluence for two-part models, extra params, BetaModel (7912)
Add get_influence to DiscreteResults (7951)
REF/DOC Poisson diagnostic (8502)
Treatment effect rebased (8034)
Add notebook for treatment effect (8418)
Incorrect HW predictions (7791)
Handle None in kpss (7795)
Fix ZivotAndrewsUnitRoot.run() docstring (7812)
Fox ACF/PACF docstrings (7927)
Option of initial values whe simulating VAR model (7930)
Correct STL api (7933)
Correct condition number (7950)
Correct incorrect initial trend access (7969)
ETS model loglike doc typo fix (8003)
Fix doc errors in MLEResults predict (8005)
Add apply to AutoRegResults (8006)
New census binaries have different tails (8007)
Add append method to AutoRegResults (8009)
Grammar (8023)
Bugfix for tsa/stattools.py grangercausalitytest with uncentered_tss (8026)
Improve testing of grangercausality (8036)
Add burg as an option for method to pacf (8113)
Fix ValueError output in lagmat when using pandas (8118)
Add typing support classes (8152)
Add MSTL algorithm for multi-seasonal time series decomposition (8160)
Move STL and MSTL tests to STL subpackage (8179)
Clarify difference between q_stat and acorr_ljungbox (8191)
Change heading levels in MSTL notebook to fix docs (8218)
Add MSTL docs (8221)
Remove print statement in MSTL test fixture (8226)
Switch to inexact match (8239)
Fix typo comment in tsa_model.py (8272)
Avoid removing directories from path in x13 (8308)
Fix auto lag selection in acorr_ljungbox #8338 (8339)
Fix when exog is Series and its name have multiple chars (8343)
ETS loglike indexing bug when y_hat == 0 (8355)
Remove inhonogenous array constructor (8367)
Ensure x_columns is a list (8378)
Dickey Fuller constant values (issue #8471 ) (8537)
X13.py option for location of temporary files (8564)
Ref/ENH misc, smaller fixes or enhancements (8567)
AR/MA creation with ArmaProcess.from_roots (8742)
Statespace: issue FutureWarning for unknown keyword args (8810)
Correct initial level, treand and seasonal (8831)
Add sharex for seasonal decompose plots (8835)
Correct seasonal order (7906)
Add prediction results to docs (7932)
Fix heuristic and simple initial seasonals in state space ExponentialSmoothing (7991)
Remove aliasing of type punned pointers (7995)
Prevent signed and unsigned int comparison (8000)
Add information set selection (predicted, filtered, smoothed) and "signal" prediction to state space predict (8002)
Function to compute smoothed state weights (observations and prior mean) for state space models (8013)
Improve some state space docstrings. (8015)
State space: add revisions to news, decomposition of smoothed states/signals (8028)
State space: improve weights performance (8030)
Fix a typo in the documentation (8275)
SARIMAX variance starting parameter when the MA order is large relative to sample size (8297)
Fix sim smoother nan, dims / add options (8354)
Loop instead of if in SARIMAX transition init (8743)
Statespace: issue FutureWarning for unknown keyword args (8810)
Option of initial values whe simulating VAR model (7930)
Number of simulations on simualte var (7958)
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
See github issues for a list of bug fixes included in this release
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.14.0 release (based on git log):
Adam Murphy
Alex
Alex Blackwell
Alex Thompson
AmarAdilovic
Amit Anchalia
Anthony Lee
Bill
Chad Fulton
Christian Lorentzen
Daedalos
EC-AI
Eitan Hemed
Elliot A Martin
Eric Larson
Eva Maxfield Brown
Evgeny Zhurko
Ewout Ter Hoeven
Geoffrey Oxberry
Greg Mcmahan
Gregory Parkes
Guilherme Silveira
Henry Schreiner
Ishan Chokshi
James Fiedler
Jan-Frederik Konopka
Jere Lahelma
Joao Pedro
Josef Perktold
João Tanaka
Kees Mulder
Kerby Shedden
Kevin Sheppard
Kirill Milash
Kirill Ulanov
Kishan Manani
Lindsay Stevens
Malte Londschien
Matt Spinelli
Max Foxley-Marrable
Michael Chirico
Michał Górny
Neil Zhao
Nicholas Shea
Nicky Sandhu
Nikita Kostiuchenko
Pavlo Fesenko
Peter Stöckli
Pierre Haessig
Prajwal Kafle
Ralf Gommers
Ramon Viñas
Rebecca N. Palmer
Ryan Russell
Samuel Wallan
Stefan Vodita
Thomas Cowart
Tobias Gebhard
Toshiaki Asakura
Wainberg
Winfield Chen
Yiming Paul Li
Zach Probst
Zachariah
code-review-doctor
dependabot[bot]
enricovara
j-svensmark
kuritzen
lanzariel
mildc055ee
oronimbus
partev
rambam613
vasudeva-ram
wisp3rwind
zhengkai2001
These lists of names are automatically generated based on git log, and may not be complete.
The following Pull Requests were merged since the last release:
3183: ENH: robust add MQuantileNorm
7597: ENH: Diagnostic class rebased
7758: REF/ENH delta method and nonlinear wald test rebased
7777: Update proportion.py
7787: DOC: Genmod's loglog Formula Fixes
7791: BUG: incorrect HW predictions
7795: BUG: Handle None in kpss
7799: MAINT: Switch to new codecov upload method
7801: MAINT: Update setup to build normally when NumPy availble
7812: DOC: fix ZivotAndrewsUnitRoot.run() docstring
7816: BUG: Allow all appropriate links in a Family
7820: MAINT: clean up usage of private SciPy APIs as much as possible
7825: Discrete scorefactor offset rebased3
7832: FIX: Fix for deprecation
7839: DOC: Fixes typo "Welsh ttest" to "Welch ttest"
7842: MAINT: Deprecate cols in conf_int
7843: BUG: GLM score_test, use correct df_resid
7844: MAINT: Protect against future pandas changes
7845: BACKPORT: Merge pull request #7787 from gmcmacran/loglogDoc
7846: BACKPORT: Merge pull request #7791 from Wooqo/fix-hw
7847: BACKPORT: Merge pull request #7795 from bashtage/bug-none-kpss
7850: BACKPORT: Merge pull request #7801 from bashtage/change-setup
7852: BACKPORT: Merge pull request #7812 from joaomacalos/zivot-andrews-docs
7853: BACKPORT: Merge pull request #7799 from bashtage/update-codecov
7854: BACKPORT: Merge pull request #7820 from rgommers/scipy-imports
7855: BACKPORT Merge pull request #7844 from bashtage/future-pandas
7857: BACKPORT: Merge pull request #7816 from tncowart/unalias_links
7858: BACKPORT: Merge pull request #7832 from larsoner/dep
7868: TST: add start_params to TestPenalizedPoissonOraclePenalized2
7870: ENH/REF generic get_prediction
7874: ENH: Start move to scalar test statistics
7875: BUG: Use sorted residual to calcualte _cpr
7876: BACKPORT: Merge pull request #7874 from bashtage/scalar-wald
7877: BACKPORT: Merge pull request #7842 from bashtage/deprecate-cols
7878: BACKPORT: Merge pull request #7839 from guilhermesilveira/main
7879: BACKPORT: Merge pull request #7868 from josef-pkt/tst_penalized_convergence
7880: MAINT: Update pyproject for 3.10
7881: RLS: Release 0.13.1 documentation
7890: DOC: Issue #7889
7895: REF/ENH: add CountResults.get_diagnostic
7900: ENH/BUG: get_prediction for more models and cases
7904: MAINT: Silence warning
7906: BUG: Correct seasonal order
7907: ENH/REF: Scoretest betareg
7912: ENH: MLEInfluence for two-part models, extra params, BetaModel
7914: MAINT: Remove Future and Deprecation warnings
7916: DOC: update maxlag to maxlags
7921: BUG: Correct limit in mean diff plot
7927: DOC: Fox ACF/PACF docstrings
7929: ENH/REF: discrete add get_distribution, add which="var" for NBP, GPP
7930: ENH: Option of initial values whe simulating VAR model
7932: DOC: Add prediction results to docs
7933: DOC: Correct STL api
7939: TST: Add tests for pandas compat
7940: MAINT: Future NumPy compat
7943: MAINT: Start removing pytest warns with None
7950: BUG: Correct condition number
7951: ENH: add get_influence to DiscreteResults
7954: DOC: Fix heading level
7958: ENH: Number of simulations on simualte var
7965: MAINT: Prevent future issues with pytest
7969: BUG: Correct incorrect initial trend access
7970: DOC: Fix prediction docstrings
7973: ENH: Truncated, hurdle count model rebased
7986: MAINT: Remove DataFrame.append usage
7988: MAINT: Relax tolerance on VAR test
7989: MAINT: Simplify pyproject using oldest supported numpy
7991: BUG/DOC: Fix heuristic and simple initial seasonals in state space ExponentialSmoothing
7993: MAINT: Modify setup requirements
7995: MAINT: Remove aliasing of type punned pointers
7996: MAINT: Fix issues in future pandas
7997: MAINT: Update doc builder to Python 3.9
7998: BUG: Correct prop ci
7999: MAINT: Resore doct build to 3.8
8000: CLN: Prevent signed and unsigned int comparison
8001: MAINT: Update binom_test to binomtest
8002: ENH: Add information set selection (predicted, filtered, smoothed) and "signal" prediction to state space predict
8003: DOC: ETS model loglike doc typo fix
8004: MAINT: Add slim to summary docstring
8005: DOC: Fix doc errors in MLEResults predict
8006: ENH: Add apply to AutoRegResults
8007: new census binaries have different tails
8009: ENH: Add append method to AutoRegResults
8010: GEE inputs: handle lists and tuples
8011: MAINT: Add conditional models to API
8012: MAINT: Switch to single threaded doc build
8013: ENH: function to compute smoothed state weights (observations and prior mean) for state space models
8014: MAINT: Add stacklevel to warnings
8015: DOC: improve some state space docstrings.
8023: Grammar
8026: bugfix for tsa/stattools.py grangercausalitytest with uncentered_tss
8028: ENH: state space: add revisions to news, decomposition of smoothed states/signals
8030: PERF: state space: improve weights performance
8031: ENH/REF/DOC improve hurdle and truncated count models
8034: ENH: Treatment effect rebased
8035: ENH: use scipy.stats.studentized_range in tukey hsd when available
8036: MAINT: Improve testing of grangercausality
8037: MAINT: Protect against future pandas changes
8038: DOC: Fix missing reference
8041: MAINT: Pin numpydoc
8042: DOC: Apply small docstring corrections
8043: MAINT: Unpin numpydoc
8047: BUG: Check dtype for xvals in lowess
8052: MAINT: Add backport action
8053: [maintenance/0.13.x] Merge pull request #8035 from swallan/scipy-studentized-range-qcrit-pvalue
8054: [maintenance/0.13.x] Merge pull request #7989 from bashtage/try-oldest-supported-numpy
8055: [maintenance/0.13.x] Merge pull request #7906 from bashtage/reverse-seasonal
8056: [maintenance/0.13.x] Merge pull request #7921 from bashtage/mean-diff-plot
8057: [maintenance/0.13.x] Merge pull request #7927 from bashtage/enricovara-patch-1
8058: [maintenance/0.13.x] Merge pull request #7939 from bashtage/test-pandas-compat
8059: [maintenance/0.13.x] Merge pull request #7954 from bashtage/recursive-ls-heading
8060: [maintenance/0.13.x] Merge pull request #7969 from bashtage/hw-wrong-param
8061: [maintenance/0.13.x] Merge pull request #7988 from bashtage/relax-tol-var-test
8062: [maintenance/0.13.x] Merge pull request #7991 from ChadFulton/ss-exp-smth-seasonals
8063: [maintenance/0.13.x] Merge pull request #7995 from bashtage/remove-aliasing
8064: [maintenance/0.13.x] Merge pull request #8000 from bashtage/unsigned-int-comparrison
8065: [maintenance/0.13.x] Merge pull request #8003 from pkaf/ets-loglike-doc
8066: [maintenance/0.13.x] Merge pull request #8007 from rambam613/patch-1
8068: [maintenance/0.13.x] Merge pull request #8015 from ChadFulton/ss-docs
8069: [maintenance/0.13.x] Merge pull request #8023 from MichaelChirico/patch-1
8070: [maintenance/0.13.x] Merge pull request #8026 from wirkuttis/bugfix_statstools
8072: [maintenance/0.13.x] Merge pull request #8042 from bashtage/pin-numpydoc
8073: [maintenance/0.13.x] Merge pull request #8047 from bashtage/fix-lowess-8046
8074: MAINT: Correct upstream target
8075: [maintenance/0.13.x] Merge pull request #7916 from zprobs/main
8077: [maintenance/0.13.x] Merge pull request #8037 from bashtage/future-pandas
8078: [maintenance/0.13.x] Merge pull request #8005 from bashtage/mle-results-doc
8079: [maintenance/0.13.x] Merge pull request #8004 from bashtage/doc-slim
8080: [maintenance/0.13.x] Merge pull request #7875 from ZachariahPang/Fix-wrong-order-datapoints
8081: [maintenance/0.13.x] Merge pull request #7940 from bashtage/future-co…
8082: [maintenance/0.13.x] Merge pull request #7946 from bashtage/remove-looseversion
8083: MAINT: Cleanup CI
8084: [maintenance/0.13.x] Merge pull request #7950 from bashtage/cond-number
8085: MAINT: Correct backport errors
8086: BUG: denominator needs to be a vector
8088: MAINT: Stop using conda temporarily
8089: MAINT: Correct small future issues
8092: MAINT: Correct setup for oldest supported
8093: BUG: use nobs ratio in power and samplesize proportions_2indep
8096: [maintenance/0.13.x] Merge pull request #8093 from josef-pkt/bug_proportion_pwer_2indep
8097: [maintenance/0.13.x] Merge pull request #8086 from xjcl/patch-1
8102: DOC: Linear regression diagnosis
8104: DOC: DEV Guide modify redundant text
8107: MAINT: Release note for 0.13.2
8109: fix(setup): use correct setuptools backend
8111: [maintenance/0.13.x] Merge pull request #8109 from henryiii/patch-2
8113: ENH: add burg as an option for method to pacf
8118: BUG: Fix ValueError output in lagmat when using pandas
8127: DOC: Fix spelling in ARDL
8130: BUG: Ensure exog is well specified
8134: ENH: Add _repr_latex_ methods to iolib tables
8137: BUG: Make ygrid work for etest_poisson_2indep
8146: MAINT: Update examples in python
8152: TYP: Add typing support classes
8154: BUG: Allows arrays in porportions
8155: ENH: Adding logc link
8160: ENH: Add MSTL algorithm for multi-seasonal time series decomposition
8161: BUG: Ensure pinv_wexog is available
8166: ENH: hypothesis tests, confint, power for rates (poisson, negbin)
8169: DOC: Fix typos in docstring
8176: BUG: Avoid divide by 0 in aicc
8179: REF: Move STL and MSTL tests to STL subpackage
8181: MAINT: Correct linting
8191: DOC: Clarify difference between q_stat and acorr_ljungbox
8192: adding weighted empirical CDF
8203: DOC: Improve docs for using fleiss_kappa
8210: MAINT: Use requirements
8215: MAINT: Relax overly tight tolerance
8218: DOC: Change heading levels in MSTL notebook to fix docs
8221: DOC: Add MSTL docs
8225: BUG: Enforce type check in recursive_olsresiduals
8226: TST: Remove print statement in MSTL test fixture
8228: Fix docs std_null twice instead of std_alternative
8239: BUG: Switch to inexact match
8244: Auto bug report
8245: Missing f prefix on f-strings fix
8246: MAINT: Small code quality and modernizations
8247: MAINT: Further class clean
8249: Fix bug #8248
8257: BUG: determine if all rows have same length
8258: MAINT: Upper bound on Cython for CI
8259: DOC: Updated duration.rst to display output
8260: BUG: fix #8227 wrong standard error of the mean
8263: BUG: fix critical values for hansen structural change test
8264: DOC: Small doc fixes
8266: MAINT: Remove distutils
8268: BUG: Correct clean command
8271: Fixed minor typo on matplotlib import alias
8272: MAINT: fix typo comment in tsa_model.py
8275: DOC: fix a typo in the documentation
8278: CI: Update used actions, cache pip deps, Python 3.10
8282: Update book reference in ETS example
8285: MAINT: Correct requirements-dev
8296: MAINT: Update lint
8297: BUG: SARIMAX variance starting parameter when the MA order is large relative to sample size
8299: DOC: fix histogram
8305: ENH: Add method and converged attributes to DiscreteModel.
8308: BUG: Avoid removing directories from path in x13
8316: Easy PR! Fix minor typos
8320: MAINT: Remove pandas warning from pytest errors
8324: ENH/DOC fixes in docs, missing in stats.api fpr rates
8333: BUG/ENH: fix max in tost_proportions_2indep, vectorize tost
8335: Update data.py
8339: BUG: Fix auto lag selection in acorr_ljungbox #8338
8340: DOC: Correct description of cut parameter for KDEUnivariate
8343: BUG: Fix when exog is Series and its name have multiple chars
8347: MAINT: Remove unintended print statements
8354: BUG/ENH: Fix sim smoother nan, dims / add options
8355: BUG: ETS loglike indexing bug when y_hat == 0
8365: DOC: added detailed ValueError to prepare_trend_spec()
8366: MAINT: Fix lint and upstream induced changes
8367: MAINT: Remove inhonogenous array constructor
8368: MAINT: Relax tolerance due to Scipy changes
8371: GLM negative binomial warns if default used for parameter alpha
8373: ENH: faster whitening matrix calculation for sm.GLS()
8375: TST: Add GLS singular test
8378: BUG: Ensure x_columns is a list
8386: Fix typo in documentation
8400: docs/add-missing-return-value-from-aggregate-raters-to-doc
8402: DOC: Improvements to linear regression diagnostics example
8411: GitHub Workflows security hardening
8412: DOC: add notebook for stats poisson rates
8414: Corrected the docstring of normal_sample_size_one_tail()
8418: DOC: add notebook for treatment effect
8420: DOC: add notebook for Poisson post-estimation overview
8424: DOC: add notebook for hurdle count model
8427: DOC: Notebook rankcompare
8429: Fix Matplotlib deprecation of loc as a positional keyword in legend functions
8430: CI: Add a weekly scheduled run to the Azure pipelines
8431: CI: Add Python 3.11 jobs
8433: Maint: use pandas loc in contrasts notebook
8434: MAINT: Fix future warnings
8455: MAINT: Fix Windows and SciPy issues
8462: MAINT: fix develop installs
8464: MAINT: Refactor doc build
8466: CI: Use stable Python 3.11 on macOS
8469: MAINT: Replave setup with setup_method in tests
8470: TST: Relax tolerance on tests that marginally fail
8473: MAINT: Future fixes for 0.13
8474: MAINT: Try to fix object issue
8476: BUG: GenericLikelihood Results hasattr for df_resid is always true, s…
8479: MAINT: Update doc build instructions
8480: MAINT: Update doc build instructions
8483: DOC: Fix warnings
8484: MAINT: Backport Python 3.11 to 0.13.x branch
8485: DOC: Add release note for 0.13.3
8489: MAINT: Set some Pins
8491: MAINT: Refine pins
8492: MAINT: Refine pins
8493: DOC: Final 0.13.3 docs
8494: DOC: fix docstrings
8498: BLD: Remove redundant wheel dep from pyproject.toml
8499: Add Dependabot configuration for GitHub Actions updates
8500: Bump actions/setup-python from 3 to 4
8501: DOC: Add release notes for .4 and .5
8502: REF/DOC Poisson diagnostic
8504: add parameter allow_singular for gaussian copula
8505: REF/ENH: GLM predict which and get_prediction
8509: Add CodeQL workflow
8521: fix typo in fit_regularized
8527: DOC: Fix typo in gmm.py
8537: BUG: Dickey Fuller constant values (issue #8471 )
8540: MAINT: fix pre testing errors
8544: BUG: normal_sample_size_one_tail, fix std_alt default, minimum nobs
8545: ENH: Nelder-Mead and Powell has bounds in scipy
8546: STY: lint, pep-8 of empirical distribution, remove __main__
8547: MAINT: Deprecate link aliases
8552: REF: PerfectSeparation, warn by default instead of raise, GLM, discrete
8555: Orthographic fix
8557: Changes made in the documentation on endogeneity
8559: DOC: add to rst docs, fix docstrings
8560: ENH: Tweedie loglike
8564: ENH: x13.py option for location of temporary files
8566: MAINT: Remove deprecated alias
8567: Ref/ENH misc, smaller fixes or enhancements
8569: REF/TST: glm links
8571: Add Statsmodels logo to Readme
8585: DOC: added notebook links to TSA documentation and doc strings
8588: MAINT: Clean up deprecations
8593: DOC: fix docstring typo in rank_compare_2indep
8597: TST: disable failing random test, imputation, mediation
8598: MAINT/REF: remove extradoc from distribution, scipy deprecation
8603: MAINT: Fix style in sandbox/distributions
8604: MAINT/TST: Fix test change due to pandas
8608: DOC: Fix doc build
8611: MAINT: Pin sphinx
8612: MAINT/TST: Relax test tol for OSX fail
8613: DOC: Fix indent
8615: BUG: Correct ContrastResults
8618: DOC: Remove dupe section
8621: DOC: Fix extlinks
8623: BUG: fix fdrcorrection_twostage, order, pvals>1
8633: ENH/BUG: archimedean k_dim > 2, deriv inverse in generator transform
8642: ENH/TST: archimedean rvs for k_dim>2, test/gof tools
8648: DOC: various doc fixes and improvements
8656: ENH/BUG: add FTestPowerF2 as corrected version of FTestPower
8658: ENH/TST: Possibility of not printing r-squared in summary_col
8662: BUG/ENH: correct tau for small theta in FrankCopula
8664: BUG: Adding extra text in html of summary2.Summary #8663
8669: BUG: fixes, discrete perfect prediction check, Multinomial fit
8673: Fix test_knockoff.py::test_sim failures and link
8674: BUG: MNLogit if endog is series with no name
8682: BUG: mixedlm fit_regularized, missing vcomp in results
8684: DOC: Fix typo in examples/notebooks/mixed_lm_example.ipynb
8693: TST: readd deleted test_package.py
8694: Update copyright date in docs/source/conf.py
8702: BUG/DOC: doc fixes, bugs in proportion
8735: BUG: a few more small bug fixes
8742: ENH/TST: AR/MA creation with ArmaProcess.from_roots
8743: BUG: loop instead of if in SARIMAX transition init
8744: DOC: fix developer page linting requirements
8760: DOC: Add a better description of the plot generated by plot_fit
8777: MAINT/TST unit test failures, compatibility changes
8780: REF: get_distribution, return 1-d instead of column frozen distribution
8793: BUG: Correct assignment in different versions of pandas
8797: MAINT: Improve specificity of warning check
8798: DOC: Add old release notes and draft of 0.14
8799: DOC: Merge existing highlights
8801: BUG: fix robust.norm.Hampel
8805: DOC: Update PRs in release note
8806: DOC: improve release notes highlights
8810: ENH/BUG: statespace: issue FutureWarning for unknown keyword args
8816: MAINT: Ensure statsmodels test suite passes with pandas CoW
8819: MAINT: Cap sphinx in the doc build
8820: MAINT: Fix lowess Cython to handle read-only
8822: MAINT: numpy compat, indexed assignment shape in NegativeBinomial
8823: Maint: remove deprecated np.alltrue and np.product
8825: MAINT: Remove casts from array to scalar
8826: MAINT/DOC: Fix more deprecations and restore doc build
8828: Theta method bug
8829: DOC: Correct docstring for diff
8830: MAINT: Monkey deprecated patsy function
8831: BUG: Correct initial level, treand and seasonal
8834: MAINT: Switch DeprecationWarn to FutureWarn
8835: ENH: Add sharex for seasonal decompose plots
8839: DOC: Final changes for 0.14.0rc0 notes
8845: BUG/ENH: support offset in truncated count models
8847: DOC: Use JSON for versioning
8851: BUG: Fix added variable plots to work with OLS
8857: DOC: Small fix for STLForecast example
8858: DOC: Fix example notebooks
8861: DOC: Fix internet address of dataset
8862: DOC: Small additional fixes
8863: DOC: Add version
8865: MAINT: Move from Styler.applymap to map
8866: DOC: Add admonitions for changes and deprecations
The statsmodels developers are happy to announce the first release candidate for 0.14.0. 248 issues were closed in this release and 335 pull requests
The statsmodels developers are happy to announce the first release candidate for 0.14.0. 248 issues were closed in this release and 335 pull requests were merged. Major new features include:
The statsmodels developers are happy to announce the Python 3.11 compatibility release for the 0.13 branch.
The statsmodels developers are happy to announce the Python 3.11 compatibility release for the 0.13 branch.
This release contains no bug fixes other than any needed to ensure statsmodels is compatible with Python 3.11. It also resolves an issue with PyPI that affects 0.13.4.
The statsmodels developers are happy to announce the Python 3.11 compatibility release for the 0.13 branch. This release contains no bug fixes other t
The statsmodels developers are happy to announce the Python 3.11 compatibility release for the 0.13 branch. This release contains no bug fixes other than any needed to ensure statsmodels is compatible with Python 3.11. It also resolves an issue with the source code generation in 0.13.3 that affects installs on Python 3.11 that use the source tarball.
The statsmodels developers are happy to announce the Python 3.11 compatibility release for the 0.13 branch. This release contains no bug fixes other t
The statsmodels developers are happy to announce the Python 3.11 compatibility release for the 0.13 branch. This release contains no bug fixes other than any needed to ensure statsmodels is compatible with Python 3.11.
statsmodels is using github to store the updated documentation. Two version are available:
Stable, the latest release
Development, the latest build of the main branch
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.
Issues Closed: 79
Pull Requests Merged: 7
This is a Python 3.11 compatability release only. There are no significant new features or bug fixes.
Backport Python 3.11 to 0.13.x branch (8484)
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.13.3 release (based on git log):
Ewout Ter Hoeven
Kevin Sheppard
These lists of names are automatically generated based on git log, and may not be complete.
The following Pull Requests were merged since the last release:
8470: TST: Relax tolerance on tests that marginally fail
8473: MAINT: Future fixes for 0.13
8474: MAINT: Try to fix object issue
8479: MAINT: Update doc build instructions
8480: MAINT: Update doc build instructions
8483: DOC: Fix warnings
8484: MAINT: Backport Python 3.11 to 0.13.x branch
8485: DOC: Add release note for 0.13.3
8489: MAINT: Set some Pins
8491: MAINT: Refine pins
8493: DOC: Final 0.13.3 docs
The statsmodels developers are happy to announce the bugfix release for the 0.13 branch. This release fixes 10 bugs and provides protection against ch
The statsmodels developers are happy to announce the bugfix release for the 0.13 branch. This release fixes 10 bugs and provides protection against changes in recent versions of upstream packages.
statsmodels is using github to store the updated documentation. Two version are available:
Stable, the latest release
Development, the latest build of the main branch
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.
Issues Closed: 61
Pull Requests Merged: 35
This a bug fix and deprecation only release.
[maintenance/0.13.x] Merge pull request #7991 from ChadFulton/ss-exp-smth-seasonals (8062)
[maintenance/0.13.x] Merge pull request #7989 from bashtage/try-oldest-supported-numpy (8054)
[maintenance/0.13.x] Merge pull request #7906 from bashtage/reverse-seasonal (8055)
[maintenance/0.13.x] Merge pull request #7939 from bashtage/test-pandas-compat (8058)
[maintenance/0.13.x] Merge pull request #8000 from bashtage/unsigned-int-comparrison (8064)
[maintenance/0.13.x] Merge pull request #8003 from pkaf/ets-loglike-doc (8065)
[maintenance/0.13.x] Merge pull request #8007 from rambam613/patch-1 (8066)
[maintenance/0.13.x] Merge pull request #8015 from ChadFulton/ss-docs (8068)
[maintenance/0.13.x] Merge pull request #8023 from MichaelChirico/patch-1 (8069)
[maintenance/0.13.x] Merge pull request #8026 from wirkuttis/bugfix_statstools (8070)
[maintenance/0.13.x] Merge pull request #8047 from bashtage/fix-lowess-8046 (8073)
Correct upstream target (8074)
[maintenance/0.13.x] Merge pull request #7916 from zprobs/main (8075)
[maintenance/0.13.x] Merge pull request #8037 from bashtage/future-pandas (8077)
[maintenance/0.13.x] Merge pull request #8004 from bashtage/doc-slim (8079)
[maintenance/0.13.x] Merge pull request #7946 from bashtage/remove-looseversion (8082)
Cleanup CI (8083)
[maintenance/0.13.x] Merge pull request #7950 from bashtage/cond-number (8084)
Correct backport errors (8085)
Correct small future issues (8089)
Correct setup for oldest supported (8092)
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.13.2 release (based on git log):
Chad Fulton
Josef Perktold
Kevin Sheppard
These lists of names are automatically generated based on git log, and may not be complete.
The following Pull Requests were merged since the last release:
8053: [maintenance/0.13.x] Merge pull request #8035 from swallan/scipy-studentized-range-qcrit-pvalue
8054: [maintenance/0.13.x] Merge pull request #7989 from bashtage/try-oldest-supported-numpy
8055: [maintenance/0.13.x] Merge pull request #7906 from bashtage/reverse-seasonal
8056: [maintenance/0.13.x] Merge pull request #7921 from bashtage/mean-diff-plot
8057: [maintenance/0.13.x] Merge pull request #7927 from bashtage/enricovara-patch-1
8058: [maintenance/0.13.x] Merge pull request #7939 from bashtage/test-pandas-compat
8059: [maintenance/0.13.x] Merge pull request #7954 from bashtage/recursive-ls-heading
8060: [maintenance/0.13.x] Merge pull request #7969 from bashtage/hw-wrong-param
8061: [maintenance/0.13.x] Merge pull request #7988 from bashtage/relax-tol-var-test
8062: [maintenance/0.13.x] Merge pull request #7991 from ChadFulton/ss-exp-smth-seasonals
8063: [maintenance/0.13.x] Merge pull request #7995 from bashtage/remove-aliasing
8064: [maintenance/0.13.x] Merge pull request #8000 from bashtage/unsigned-int-comparrison
8065: [maintenance/0.13.x] Merge pull request #8003 from pkaf/ets-loglike-doc
8066: [maintenance/0.13.x] Merge pull request #8007 from rambam613/patch-1
8068: [maintenance/0.13.x] Merge pull request #8015 from ChadFulton/ss-docs
8069: [maintenance/0.13.x] Merge pull request #8023 from MichaelChirico/patch-1
8070: [maintenance/0.13.x] Merge pull request #8026 from wirkuttis/bugfix_statstools
8072: [maintenance/0.13.x] Merge pull request #8042 from bashtage/pin-numpydoc
8073: [maintenance/0.13.x] Merge pull request #8047 from bashtage/fix-lowess-8046
8074: MAINT: Correct upstream target
8075: [maintenance/0.13.x] Merge pull request #7916 from zprobs/main
8077: [maintenance/0.13.x] Merge pull request #8037 from bashtage/future-pandas
8078: [maintenance/0.13.x] Merge pull request #8005 from bashtage/mle-results-doc
8079: [maintenance/0.13.x] Merge pull request #8004 from bashtage/doc-slim
8080: [maintenance/0.13.x] Merge pull request #7875 from ZachariahPang/Fix-wrong-order-datapoints
8081: [maintenance/0.13.x] Merge pull request #7940 from bashtage/future-co…
8082: [maintenance/0.13.x] Merge pull request #7946 from bashtage/remove-looseversion
8083: MAINT: Cleanup CI
8084: [maintenance/0.13.x] Merge pull request #7950 from bashtage/cond-number
8085: MAINT: Correct backport errors
8088: MAINT: Stop using conda temporarily
8089: MAINT: Correct small future issues
8092: MAINT: Correct setup for oldest supported
8096: [maintenance/0.13.x] Merge pull request #8093 from josef-pkt/bug_proportion_pwer_2indep
8097: [maintenance/0.13.x] Merge pull request #8086 from xjcl/patch-1
The statsmodels developers are happy to announce the bug fix release for the 0.13 branch. This release fixes 8 bugs and brings initial support for Pyt
The statsmodels developers are happy to announce the bug fix release for the 0.13 branch. This release fixes 8 bugs and brings initial support for Python 3.10.
statsmodels is using github to store the updated documentation. Two version are available:
Stable, the latest release
Development, the latest build of the main branch
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.
Issues Closed: 13
Pull Requests Merged: 15
This a bug fix and deprecation only release.
Merge pull request #7787 from gmcmacran/loglogDoc (7845)
Merge pull request #7791 from Wooqo/fix-hw (7846)
Merge pull request #7795 from bashtage/bug-none-kpss (7847)
Merge pull request #7801 from bashtage/change-setup (7850)
Merge pull request #7812 from joaomacalos/zivot-andrews-docs (7852)
Merge pull request #7799 from bashtage/update-codecov (7853)
Merge pull request #7820 from rgommers/scipy-imports (7854)
BACKPORT Merge pull request #7844 from bashtage/future-pandas (7855)
Merge pull request #7816 from tncowart/unalias_links (7857)
Merge pull request #7832 from larsoner/dep (7858)
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.13.1 release (based on git log):
Josef Perktold
Kevin Sheppard
These lists of names are automatically generated based on git log, and may not be complete.
The following Pull Requests were merged since the last release:
7845: BACKPORT: Merge pull request #7787 from gmcmacran/loglogDoc
7846: BACKPORT: Merge pull request #7791 from Wooqo/fix-hw
7847: BACKPORT: Merge pull request #7795 from bashtage/bug-none-kpss
7850: BACKPORT: Merge pull request #7801 from bashtage/change-setup
7852: BACKPORT: Merge pull request #7812 from joaomacalos/zivot-andrews-docs
7853: BACKPORT: Merge pull request #7799 from bashtage/update-codecov
7854: BACKPORT: Merge pull request #7820 from rgommers/scipy-imports
7855: BACKPORT Merge pull request #7844 from bashtage/future-pandas
7857: BACKPORT: Merge pull request #7816 from tncowart/unalias_links
7858: BACKPORT: Merge pull request #7832 from larsoner/dep
7876: BACKPORT: Merge pull request #7874 from bashtage/scalar-wald
7877: BACKPORT: Merge pull request #7842 from bashtage/deprecate-cols
7878: BACKPORT: Merge pull request #7839 from guilhermesilveira/main
7879: BACKPORT: Merge pull request #7868 from josef-pkt/tst_penalized_convergence
7880: MAINT: Update pyproject for 3.10
The statsmodels developers are happy to announce the first release candidate for 0.13.0. 227 issues were closed in this release and 143 pull requests
The statsmodels developers are happy to announce the first release candidate for 0.13.0. 227 issues were closed in this release and 143 pull requests were merged. Major new features include:
statsmodels is using github to store the updated documentation. Two version are available:
Stable, the latest release
Development, the latest build of the main branch
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.
Issues Closed: 238
Pull Requests Merged: 165
~statsmodels.othermod.betareg.BetaModel estimates a regression model for dependent variable in the unit interval such as fractions and proportions based on the Beta distribution. The Model is parameterized by mean and precision, where both can depend on explanatory variables through link functions.
statsmodels.miscmodels.ordinal_model.OrderedModel implements cumulative link models for ordinal data, based on Logit, Probit or a userprovided CDF link.
Statsmodels includes now basic support for mainly bivariate copulas. Currently, 10 copulas are available, Archimedean, elliptical and asymmetric extreme value copulas. ~statsmodels.distributions.copula.api.CopulaDistribution combines a copula with marginal distributions to create multivariate distributions.
~statsmodels.distributions.discrete.DiscretizedCount provides count distributions generated by discretizing continuous distributions available in scipy. The parameters of the distribution can be estimated by maximum likelihood with ~statsmodels.distributions.discrete.DiscretizedModel.
~statsmodels.distributions.berstein.BernsteinDistribution creates nonparametric univariate and multivariate distributions using Bernstein polynomials on a regular grid. This can be used to smooth histograms or approximate distributions on the unit hypercube. When the marginal distributions are uniform, then the BernsteinDistribution is a copula.
Brunner-Munzel test is nonparametric comparison of two samples and is an extension of Wilcoxon-Mann-Whitney and Fligner-Policello tests that requires only ordinal information without further assumption on the distributions of the samples. Statsmodels provides the Brunner Munzel hypothesis test for stochastic equality in ~statsmodels.stats.nonparametric.rank_compare_2indep but also confidence intervals and equivalence testing (TOST) for the stochastically larger statistic, also known as Common Language effect size.
Asymmetric kernels can nonparametrically estimate density and cumulative distribution function for random variables that have limited support, either unit interval or positive or nonnegative real line. Beta kernels are available for data in the unit interval. The available kernels for positive data are “gamma”, “gamma2”, “bs”, “invgamma”, “invgauss”, “lognorm”, “recipinvgauss” and “weibull” ~statsmodels.nonparametric.kernels_asymmetric.pdf_kernel_asym estimates a kernel density given a bandwidth parameter. ~statsmodels.nonparametric.kernels_asymmetric.cdf_kernel_asym estimates a kernel cdf.
~statsmodels.tsa.ardl.ARDL adds support for specifying and estimating ARDL models, and ~statsmodels.tsa.ardl.UECM support specifying models in error correction form. ~statsmodels.tsa.ardl.ardl_select_order simplifies selecting both AR and DL model orders. ~statsmodels.tsa.ardl.UECM.bounds_test implements the bounds test of Peseran, Shin and Smith (2001) for testing whether there is a levels relationship without knowing teh orders of integration of the variables.
Allow fixing parameters in ARIMA estimator Hannan-Rissanen (~statsmodels.tsa.arima.estimators.hannan_rissanen) through the new fixed_params argument
The following lists the main new features of statsmodels 0.13.0. In addition, release 0.13.0 includes bug fixes, refactorings and improvements in many areas.
Allow fixing parameters in ARIMA estimator Hannan-Rissanen (7497, 7501)
OLS add "slim" option to summary method (7693 based on 6880)
Add loglog link for use with GLM (7594)
improved default derivatives in CDFLink (7287)
GLM enhanced and corrected get_distribution (7535)
GLMResults info_criteria, add dk_params option to include scale in parameter count (7693)
GLMResults add pseudo R-squared, Cox-Snell and McFadden (7682 based on 7367)
nonparametric: add tricube kernel (7697 based on 7671)
Port missed doc fix (7123)
Rls note (7293)
Minor updates to v0.12.2 release notes (7303)
Update doc for tweedie allowed links (7395)
Don't point to release version (7399)
Fixed error in linear mixed effects example (7402)
Fix for upstream changes in PyMC3 notebook (7416)
Remove redundant words in PCA docstring (7423)
Misc fixes in docstr of fdrcorrection (7426)
Small doc fixes (7434)
Typo, plats->plots (7458)
Specify impulse to impulse_responses in VARMAX notebook (7475)
Fix errors in theta notebook (7539)
Add github actions to build docs (7540)
Fix GH actions (7541)
Continue working on it (7552)
Continue working on push ability (7553)
Continue working on push ability (7554)
Finalize push ability (7555)
Finalize push ability (7556)
Finalize push ability (7557)
Finalize push ability (7558)
Get doc push to work (7559)
Get doc push to work (7560)
Get doc push to work (7561)
Improve rolling OLS notebook (7572)
Correct docstring (7587)
Copula in user guide and examples (7607)
Improve ARDL and documentation (7611)
Clarify which series is on x-axis (7612)
Small clean of example (7614)
Spelling error in docs fixed (7618)
Update dev page flake8 command to follow PULL_REQUEST_TEMPLATE.md (7644)
Improve copula notebook (7651)
Remove duplication methods section (7676)
Second try ixing duplicate methods (7677)
Fix a typo (7681)
Improve ARDL notebook (7699)
Update versions.json (7702)
Update versions file (7708)
Update release note (7714)
Update release note (7726)
Correct MultivariateTestResults doc string (7735)
Correct MultivariateTestResults doc string (7738)
Add missing function doc head (7740)
More 0.13 (7757)
Fix lowess notebook (7770)
Added fft to ccovf and ccf (7721)
Improve Lowess (7768)
Backports (7222)
Backports (7291)
Forecast after extend w/ time varying matrix (7437)
Use np.linalg.solve() instead of np.linalg.inv() in Newton-Raphson Algorithm (7429)
Allow remove_data to work when an attribute is not implemented (7511)
REF/BUG generic likelihood LLRMixin use df_resid instead of df_model for llr_pvalue (7586)
Raise when invalid optimization options passed to optimizer (7596)
Add an error message for not found data (7490)
Add discretized count distribution (7488)
ZI predict, fix offset default if None, allow exog_infl None if constant (7670)
Copula 7254 rebased (7408)
Add discretized count distribution (7488)
Random number generation wrapper for rng, qrng (7608)
BUG/REF copula another round for 0.13 (7648)
Temporarily change the default RNG in check_random_state (7652)
More copula improvements for 0.13 (7723)
Fix for upstream changes in PyMC3 notebook (7416)
Correct small typo in Theta model Notebook (7450)
Prevent indent running on None (7462)
Update versions file (7708)
Improve docs and docstrings, mainly for recent additions (7727)
Api.py, docstring improvements (7732)
Add to release notes, smaller doc fixes, references (7743)
Change default derivative in CDFLink (7287)
Allow user to configure GEE qic (7471)
Score and Hessian for Tweedie models (7489)
BUG/ENH fix and enh GLM, family get_distribution (7535)
Enh glm loglog (7594)
McFadden and Cox&Snell Pseudo R squared to GLMResults (7682)
Add dk_params option to GLM info_criteria (7693)
Warn kwargs glm (7750)
GLM init invalid kwargs use ValueWarning (7751)
Fix UserWarning: marker is redundantly defined (Matplotlib v 3.4.1) (7400)
Fix axis labels in qqplots (7413)
Remove typo in plot_pacf example (7514)
Start process of changing default in plot-pacf (7582)
Improve limit format in diff plot (7592)
Clarify which series is on x-axis (7612)
Graphics.plot_partregress add eval_env options (7673)
Add support for pickling for generic path-like objects (7581)
Fix summary().as_latex, line in top table dropped (7748)
V0.12.1 backports (7121)
Backport fixes for 0.12.2 compat release (7221)
Fix descriptive stats with extension dtypes (7404)
Fix pip pre test failures (7405)
Fix README badges (7406)
Silence warnings and future compat (7425)
Use loadscope to avoid rerunning setup (7432)
Remove cyclic import risks (7438)
Fit future and deprecation warnings (7474)
Avoid future issues in pandas (7495)
Remove 32-bit testing (7536)
Fix contrasts for Pandas changes (7546)
Correct example implementation (7547)
Check push ability (7551)
Remove deprecated functions (7575)
Remove additional deprecated features (7577)
Remove recarray (7578)
Remove deprecated code (7579)
Correct notebooks for deprecations (7580)
Fix spelling errors (7583)
Clarify minimum versions (7590)
Revert exception to warning (7599)
Silence future warnings (7617)
Avoid passing bad optimization param (7620)
Pin matplotlib (7641)
Modernize prediction in notebooks (7649)
Protect against changes in numeric indexes (7685)
Final issues in __all__ (7742)
Fix hard to reach errors (7744)
Multivariate - Return E and H matrices in dict (5491)
Added the option full_matrices=False in the PCA method (7329)
Factor fit ml em resets seed (rebased) (7703)
Correct MultivariateTestResults doc string (7735)
Correct MultivariateTestResults doc string (7738)
Add missing function doc head (7740)
ENH add tricube kernel (7697)
Fix lowess spikes/nans from epsilon values (7766)
Improve Lowess (7768)
Betareg rebased3 Beta regression (7543)
REF/BUG generic likelihood LLRMixin use df_resid instead of df_model for llr_pvalue (7586)
Oaxaca Variance/Other Models (7713)
Allow remove_data to work when an attribute is not implemented (7511)
Fix scale parameter in elastic net (7571)
Regression, allow remove_data to remove wendog, wexog, wresid (7595)
Spelling error in docs fixed (7618)
Add dk_params option to GLM info_criteria (7693)
Quantile regression use dimension of x matrix rather than rank (7694)
Add option for slim summary in OLS results (7696)
Enable VIF to work with DataFrames (7704)
Runs test numeric cutoff error (7422)
Resolve TODO in proportion.py (7515)
Improve sidak multipletest precision close to zero (7668)
Proportions_chisquare prevent integer overflow (7669)
Fix lilliefors results for single-column DataFrames (7698)
Describe / Description do not return percentiles (7710)
ENH: add options to meta-analysis plot_forest (7772)
Change default derivative in CDFLink (7287)
Fix style issue (7739)
Add Helper function to solve for polynomial coefficients from roots for ARIMA (6921)
Changed month abbreviations with localization (7409)
Add ARDL model (7433)
Fix typo in ets error (7435)
Add fixed_params to Hannan Rissanen (GH7202) (7497)
Enable ARIMA.fit(method='hannan_rissanen') with fixed parameters (GH7501) (7502)
Fix errors when making dynamic forecasts (7516)
Correct index location of seasonal (7545)
Handle non-date index with a freq (7574)
Start process of changing default in plot-pacf (7582)
Correct docstring (7587)
Let VAR results complete when model has perfect fit (7588)
Rename nc to n everywhere (7593)
Improve ARDL and documentation (7611)
Add RUR stationarity test to statsmodels.tsa.stattools (7616)
Improve ARDL and UECM (7619)
Improve error message in seasonal for bad freq (7643)
ENH Fixed Range Unit-Root critical values (7645)
Add SARIMAX FAQ (7656)
Add to the SARIMAX FAQ (7659)
Improve SARIMAX FAQ Notebook (7661)
Improve ARIMA documentation (7662)
Update TSA Api (7701)
Correct ArmaProcess.from_estimation (7709)
Added fft to ccovf and ccf (7721)
Port missed doc fix (7123)
Forecast after extend w/ time varying matrix (7437)
Specify impulse to impulse_responses in VARMAX notebook (7475)
Column name can be passed as an argument in impulse_responses in VARMAX (7506)
Statespace MLEModel false validation error with nested fix_params (GH7507) (7508)
Ensure attributes exist (7538)
Ensure warning does not raise (7589)
Assert correct iloc dtypes (7737)
Fix float index usage in IRF error bands (7397)
Add error if too few values (7591)
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
See github issues for a list of bug fixes included in this release
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.13.0 release (based on git log):
Aidan Russell
Alexander Stiebing
Austin Adams
Ben Greiner
Brent Pedersen
Chad Fulton
Chadwick Boulay
Edwin Rijgersberg
Ezequiel Smucler
Mcbain
Graham Inggs
Greg Mcmahan
Helder Oliveira
Hsiao Yi
Jack Liu
Jake Jiacheng Liu
Jeremy Bejarano
Joris Van Den Bossche
Josef Perktold
Juan Orduz
Kerby Shedden
Kevin Sheppard
Luke Gregor
Malte Zietlow
Masanori Kanazu
Max Mahlke
Michele Fortunato
Mike Ovyan
Min Rk
Natalie Heer
Nikolai Korolev
Omar Gutiérrez
Oswaldo
Pamphile Roy
Pratyush Sharan
Roberto Nunes Mourão
Simardeep27
Simon Høxbro Hansen
Sin Kim
Skipper Seabold
Stefan Appelhoff
Thomas Brooks
Tomohiro Endo
Wahram Andrikyan
cxan96
janosbiro
partev
w31ha0
These lists of names are automatically generated based on git log, and may not be complete.
The following Pull Requests were merged since the last release:
5491: ENH: multivariate - Return E and H matrices in dict
6921: ENH: Add Helper function to solve for polynomial coefficients from roots for ARIMA
7121: MAINT: v0.12.1 backports
7123: DOC: Port missed doc fix
7221: MAINT: Backport fixes for 0.12.2 compat release
7222: Backports
7287: REF: change default derivative in CDFLink
7291: Backports
7293: Rls note
7303: DOC: Minor updates to v0.12.2 release notes
7329: ENH: Added the option full_matrices=False in the PCA method
7395: DOC: update doc for tweedie allowed links
7397: BUG: Fix float index usage in IRF error bands
7399: DOC: Don't point to release version
7400: MAINT: Fix UserWarning: marker is redundantly defined (Matplotlib v 3.4.1)
7402: DOC: fixed error in linear mixed effects example
7404: MAINT: Fix descriptive stats with extension dtypes
7405: MAINT: Fix pip pre test failures
7406: MAINT: Fix README badges
7408: Copula 7254 rebased
7409: ENH: changed month abbreviations with localization
7413: BUG: Fix axis labels in qqplots
7416: MAINT: Fix for upstream changes in PyMC3 notebook
7422: BUG: Runs test numeric cutoff error
7423: DOC/MAINT: Remove redundant words in PCA docstring
7425: MAINT: Silence warnings and future compat
7426: DOC: misc fixes in docstr of fdrcorrection
7429: ENH: Use np.linalg.solve() instead of np.linalg.inv() in Newton-Raphson Algorithm
7432: MAINT: Use loadscope to avoid rerunning setup
7433: ENH: Add ARDL model
7434: DOC: Small doc fixes
7435: fix typo in ets error
7437: BUG: forecast after extend w/ time varying matrix
7438: MAINT: Remove cyclic import risks
7450: Correct small typo in Theta model Notebook
7458: DOC: typo, plats->plots
7462: BUG: Prevent indent running on None
7471: ENH: Allow user to configure GEE qic
7474: MAINT: Fit future and deprecation warnings
7475: Specify impulse to impulse_responses in VARMAX notebook
7488: ENH: add discretized count distribution
7489: BUG: score and Hessian for Tweedie models
7490: ENH: Add an error message for not found data
7495: MAINT: Avoid future issues in pandas
7497: ENH: Add fixed_params to Hannan Rissanen (GH7202)
7502: ENH: Enable ARIMA.fit(method='hannan_rissanen') with fixed parameters (GH7501)
7506: ENH: Column name can be passed as an argument in impulse_responses in VARMAX
7508: BUG: statespace MLEModel false validation error with nested fix_params (GH7507)
7511: Allow remove_data to work when an attribute is not implemented
7514: Remove typo in plot_pacf example
7515: resolve TODO in proportion.py
7516: BUG: Fix errors when making dynamic forecasts
7535: BUG/ENH fix and enh GLM, family get_distribution
7536: MAINT: Remove 32-bit testing
7538: BUG: Ensure attributes exist
7539: DOC: Fix errors in theta notebook
7540: MAINT: Add github actions to build docs
7541: MAINT: Fix GH actions
7543: Betareg rebased3 Beta regression
7545: BUG: Correct index location of seasonal
7546: MAINT: Fix contrasts for Pandas changes
7547: MAINT: Correct example implementation
7551: MAINT: Check push ability
7552: MAINT: Continue working on it
7553: MAINT: Continue working on push ability
7554: MAINT: Continue working on push ability
7555: MAINT: Finalize push ability
7556: MAINT: Finalize push ability
7557: MAINT: Finalize push ability
7558: MAINT: Finalize push ability
7559: MAINT: Get doc push to work
7560: MAINT: Get doc push to work
7561: MAINT: Get doc push to work
7571: BUG: Fix scale parameter in elastic net
7572: DOC: Improve rolling OLS notebook
7574: BUG: Handle non-date index with a freq
7575: MAINT: Remove deprecated functions
7577: MAINT: Remove additional deprecated features
7578: MAINT: Remove recarray
7579: MAINT: Remove deprecated code
7580: MAINT: Correct notebooks for deprecations
7581: ENH: Add support for pickling for generic path-like objects
7582: ENH: Start process of changing default in plot-pacf
7583: MAINT: Fix spelling errors
7586: REF/BUG generic likelihood LLRMixin use df_resid instead of df_model for llr_pvalue
7587: DOC: Correct docstring
7588: BUG: Let VAR results complete when model has perfect fit
7589: BUG: Ensure warning does not raise
7590: MAINT: Clarify minimum versions
7591: ENH: Add error if too few values
7592: ENH: Improve limit format in diff plot
7593: MAINT: Rename nc to n everywhere
7594: Enh glm loglog
7595: BUG: regression, allow remove_data to remove wendog, wexog, wresid
7596: ENH: Raise when invalid optimization options passed to optimizer
7599: MAINT: Revert exception to warning
7607: DOC: copula in user guide and examples
7608: ENH: random number generation wrapper for rng, qrng
7611: ENH: Improve ARDL and documentation
7612: BUG/DOC: Clarify which series is on x-axis
7614: DOC: Small clean of example
7616: ENH: Add RUR stationarity test to statsmodels.tsa.stattools
7617: MAINT: Silence future warnings
7618: DOC: spelling error in docs fixed
7619: ENH: Improve ARDL and UECM
7620: MAINT: Avoid passing bad optimization param
7641: MAINT: Pin matplotlib
7643: ENH: Improve error message in seasonal for bad freq
7644: DOC: Update dev page flake8 command to follow PULL_REQUEST_TEMPLATE.md
7645: ENH Fixed Range Unit-Root critical values
7648: BUG/REF copula another round for 0.13
7649: MAINT: Modernize prediction in notebooks
7651: ENH: Improve copula notebook
7652: MAINT: Temporarily change the default RNG in check_random_state
7656: DOC: Add SARIMAX FAQ
7659: DOC: Add to the SARIMAX FAQ
7661: DOC: Improve SARIMAX FAQ Notebook
7662: DOC: Improve ARIMA documentation
7668: BUG: improve sidak multipletest precision close to zero
7669: BUG: proportions_chisquare prevent integer overflow
7670: BUG: ZI predict, fix offset default if None, allow exog_infl None if constant
7673: ENH/BUG: graphics.plot_partregress add eval_env options
7676: DOC: Remove duplication methods section
7677: DOC: Second try ixing duplicate methods
7681: fix a typo
7682: ENH: McFadden and Cox&Snell Pseudo R squared to GLMResults
7685: MAINT: Protect against changes in numeric indexes
7693: ENH: add dk_params option to GLM info_criteria
7694: ENH: quantile regression use dimension of x matrix rather than rank
7696: ENH: add option for slim summary in OLS results
7697: ENH add tricube kernel
7698: ENH: Fix lilliefors results for single-column DataFrames
7699: DOC: Improve ARDL notebook
7701: MAINT: Update TSA Api
7702: DOC: Update versions.json
7703: BUG: Factor fit ml em resets seed (rebased)
7704: ENH: Enable VIF to work with DataFrames
7708: MAINT: Update versions file
7709: BUG: Correct ArmaProcess.from_estimation
7710: BUG: describe / Description do not return percentiles
7713: ENH: Oaxaca Variance/Other Models
7714: DOC: Update release note
7721: ENH: Added fft to ccovf and ccf
7723: REF/ENH: more copula improvements for 0.13
7726: DOC: Update release note
7727: DOC: improve docs and docstrings, mainly for recent additions
7732: DOC: api.py, docstring improvements
7735: DOC: Correct MultivariateTestResults doc string
7737: TST: Assert correct iloc dtypes
7738: DOC: Correct MultivariateTestResults doc string
7739: MAINT: Fix style issue
7740: DOC: add missing function doc head
7742: MAINT: Final issues in __all__
7743: DOC: add to release notes, smaller doc fixes, references
7744: MAINT: Fix hard to reach errors
7748: BUG: fix summary().as_latex, line in top table dropped
7750: ENH: Warn kwargs glm
7751: REF: GLM init invalid kwargs use ValueWarning
7757: BUG/MAINT/DOC: more 0.13
7766: BUG: fix lowess spikes/nans from epsilon values
7768: PERF/TST: Improve Lowess
7770: DOC: Fix lowess notebook
7772: ENH: add options to meta-analysis plot_forest
The statsmodels developers are happy to announce the first release candidate for 0.13.0. 227 issues were closed in this release and 143 pull requests
The statsmodels developers are happy to announce the first release candidate for 0.13.0. 227 issues were closed in this release and 143 pull requests were merged. Major new features include:
This is a bug-fix release from the 0.12.x branch. Users are encouraged to upgrade.
This is a bug-fix release from the 0.12.x branch. Users are encouraged to upgrade.
Notable changes include fixes for a bug that could lead to incorrect results in forecasts with the new ARIMA model (when d > 0 and trend='t') and a bug in the LM test for autocorrelation.
This is a minor release from the 0.12.x branch with bug fixes and essential maintenance only.
This is a minor release from the 0.12.x branch with bug fixes and essential maintenance only.
This is a bug fix release.
Besides receiving contributions for new and improved features and for bugfixes, important contributions to general maintenance for this release came from
Kevin Sheppard
Chad Fulton
Josef Perktold
Kerby Shedden
Pratyush Sharan
The following Pull Requests were merged since the last release:
7016: BLD: avoid setuptools version 50, windows build problem
7017: BUG: param names with higher order trend in VARMAX
7020: REF: Don't validate specification in SARIMAX when cloning to get extended time varying matrices
7025: BUG: Ensure bestlag is defined in autolag
7028: BUG: Correct axis None case
7040: Bug fix ets get prediction
7052: ENH: handle/warn for singularities in MixedLM
7055: BUG: Fix squeeze when nsimulation is 1
7073: DOC: fix several doc issues in stats functions
7088: DOC: augmented docstrings from statsmodels.base.optimizer
7090: DOC: Fix contradicting KPSS-statistics interpretations in stationarity_detrending_adf_kpss.ipynb
7093: BUG: Correct prediction intervals for ThetaModel
7109: some fixes in the doc of grangercausalitytests
7116: BUG: don't raise error in impacts table if no news.
7118: MAINT: Fix issues in main branches of dependencies
The statsmodels developers are happy to announce release 0.12.0. 239 issues were closed in this release and 221 pull requests were merged.
The statsmodels developers are happy to announce release 0.12.0. 239 issues were closed in this release and 221 pull requests were merged.
Major new features include:
The statsmodels developers are happy to announce the first release candidate for 0.12.0. 223 issues were closed in this release and 208 pull requests
The statsmodels developers are happy to announce the first release candidate for 0.12.0. 223 issues were closed in this release and 208 pull requests were merged. Major new features include:
This is a bug fix release. It fixes a small number of bugs including two that affect the installation on statmodels on Python 2.7 and 3.8.
This is a bug fix release. It fixes a small number of bugs including two that affect the installation on statmodels on Python 2.7 and 3.8.
See the full release notes (or in rst format) for the full set of backported pull requests.
This is a bug release.
Besides receiving contributions for new and improved features and for bugfixes, important contributions to general maintenance for this release came from
Kerby Shedden
Josef Perktold
Alex Lyttle
Chad Fulton
Kevin Sheppard
Wouter De Coster
The following Pull Requests were merged since the last release:
6433: TST/BUG: use reset_randomstate
6438: BUG: Change default optimizer for glm/ridge and make it user-settable
6453: DOC: Fix the version that appears in the documentation
6456: DOC: Send log to dev/null/
6461: MAINT: correcting typo
6465: MAINT: Avoid noise in f-pvalue
6469: MAINT: Fix future warnings
6470: BUG: fix tukey-hsd for 1 pvalue
6471: MAINT: Fix issue with ragged array
6474: BLD: Use pip on Azure
6515: BUG: fix #6511
6520: BUG: fix GAM for 1-dim exog_linear
6534: MAINT: Relax tolerance on test that occasionally fails
6535: MAINT: Restrict to Python 3.5+
statsmodels developers are happy to announce a new release.
statsmodels developers are happy to announce a new release.
Major new features include:
The second and final release candidate for statsmodels 0.11.
The second and final release candidate for statsmodels 0.11.
Major new features include:
Release candidate for statsmodels 0.11.
Release candidate for statsmodels 0.11.
Major new features include:
This is a minor release from the 0.10.x branch with bug fixes and essential maintenance only. The key new feature is:
This is a minor release from the 0.10.x branch with bug fixes and essential maintenance only. The key new feature is:
This is a bug release and adds compatibility with Python 3.8.
Besides receiving contributions for new and improved features and for bugfixes, important contributions to general maintenance for this release came from
Chad Fulton
Qingqing Mao
Diego Mazon
Brock Mendel
Guglielmo Saggiorato
Kevin Sheppard
Tim Staley
The following Pull Requests were merged since the last release:
5935: CLN: port parts of #5220
5951: BUG: Fix mosaic plot with missing category
5996: BUG: Limit lags in KPSS
5998: Replace alpha=0.05 with alpha=alpha
6030: Turn relative import into an absolute import
6044: DOC: Fix notebook due to pandas index change
6046: DOC: Remove DynamicVAR
6091: MAINT/SEC: Remove unnecessary pickle use
6092: MAINT: Ensure r download cache works
6093: MAINT: Fix new cache name
6117: BUG: Remove extra LICENSE.txt and setup.cfg
6105: Update correlation_tools.py
6050: BUG: MLEModel now passes nobs to Representation
6205: MAINT: Exclude pytest-xdist 1.30
6246: TST: Add Python 3.8 environment
This is a minor release from the 0.10.x branch with bug fixes and essential maintenance only. The key features are:
This is a minor release from the 0.10.x branch with bug fixes and essential maintenance only. The key features are:
This is a bug fix-only release
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
These lists of names are automatically generated based on git log, and may not be complete.
The following Pull Requests were merged since the last release:
5784: MAINT: implement parts of #5220, deprecate ancient aliases
5892: BUG: fix pandas compat
5893: BUG: exponential smoothing - damped trend gives incorrect param, predictions
5895: DOC: improvements to BayesMixedGLM docs, argument checking
5897: MAINT: Use pytest.raises to check error message
5903: BUG: Fix kwargs update bug in linear model fit_regularized
5917: BUG: TVTP for Markov regression
5921: BUG: Ensure exponential smoothers has continuous double data
5930: BUG: Limit lags in KPSS
5933: MAINT: Fix test that fails with positive probability
5935: CLN: port parts of #5220
5940: MAINT: Fix linting failures
5944: BUG: Restore ResettableCache
5951: BUG: Fix mosaic plot with missing category
5971: BUG: Fix a future issue in ExpSmooth
This is a major release from 0.9.0 and includes a number new statistical models and _many_ bug fixes.
This is a major release from 0.9.0 and includes a number new statistical models and many bug fixes.
Highlights include:
See the release notes for a full list of all the change from 0.9.0.
python -m pip install --upgrade statsmodels
Note that 0.10.x will likely be the last series of releases to support Python 2, so please consider upgrading to Python 3 if feasible.
Please report any issues with the release candidate on the statsmodels issue tracker.
See the release notes in the documentation for details on the changes.
Release candidate for 0.10.0.
See the release notes in the documentation for details on the changes.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →