API参考

statsmodels 的主要 API 分为多个模型:

  • statsmodels.api: 横截面模型和方法。通常通过 import statsmodels.api as sm 导入。

  • statsmodels.tsa.api: 时间序列模型和方法。通常通过 import statsmodels.tsa.api as tsa 导入。

  • statsmodels.formula.api: 一个用于使用公式字符串和DataFrame指定模型的便捷接口。此API直接公开了支持公式API的模型的from_formula类方法。通常通过import statsmodels.formula.api as smf导入

该API专注于模型和最常用的统计检验及工具。 导入路径和结构解释了两个API模块的设计以及从API导入与直接从定义模型的模块导入的区别。请参阅用户指南中的详细主题页面,以获取可用模型、统计数据和工具的完整列表。

statsmodels.api

回归

OLS(endog[, exog, missing, hasconst])

普通最小二乘法

WLS(endog, exog[, weights, missing, hasconst])

加权最小二乘法

GLS(endog, exog[, sigma, missing, hasconst])

广义最小二乘法

GLSAR(endog[, exog, rho, missing, hasconst])

具有AR协方差结构的一般最小二乘法

RecursiveLS(endog, exog[, constraints])

递归最小二乘法

RollingOLS(endog, exog[, window, min_nobs, ...])

滚动普通最小二乘法

RollingWLS(endog, exog[, window, weights, ...])

滚动加权最小二乘法

插补

BayesGaussMI(数据[, 均值先验, 协方差先验, ...])

使用高斯模型的贝叶斯插补。

MI(imp, model[, model_args_fn, ...])

MI 使用提供的插补器对象执行多重插补。

MICE(model_formula, model_class, data[, ...])

使用链式方程进行多重插补。

MICEData(数据[, perturbation_method, k_pmm, ...])

包装一个数据集以允许使用MICE处理缺失数据。

广义估计方程

GEE(endog, exog, groups[, time, family, ...])

使用广义估计方程的边际回归模型。

NominalGEE(endog, exog, groups[, time, ...])

使用GEE的名义响应边际回归模型。

OrdinalGEE(endog, exog, groups[, time, ...])

使用GEE的序数响应边际回归模型

广义线性模型

GLM(endog, exog[, family, offset, exposure, ...])

广义线性模型

GLMGam(endog[, exog, smoother, alpha, ...])

广义加性模型 (GAM)

BinomialBayesMixedGLM(endog, exog, exog_vc, ...)

广义线性混合模型与贝叶斯估计

PoissonBayesMixedGLM(endog, exog, exog_vc, ident)

广义线性混合模型与贝叶斯估计

离散和计数模型

Logit(endog, exog[, offset, check_rank])

Logit 模型

Probit(endog, exog[, offset, check_rank])

概率模型

MNLogit(endog, exog[, check_rank])

多项逻辑回归模型

OrderedModel(endog, exog[, offset, distr])

基于逻辑或正态分布的序数模型

Poisson(endog, exog[, offset, exposure, ...])

泊松模型

NegativeBinomial(endog, exog[, ...])

负二项模型

NegativeBinomialP(endog, exog[, p, offset, ...])

广义负二项分布(NB-P)模型

GeneralizedPoisson(endog, exog[, p, offset, ...])

广义泊松模型

ZeroInflatedPoisson(endog, exog[, ...])

泊松零膨胀模型

ZeroInflatedNegativeBinomialP(endog, exog[, ...])

零膨胀广义负二项模型

ZeroInflatedGeneralizedPoisson(endog, exog)

零膨胀广义泊松模型

ConditionalLogit(endog, exog[, missing])

拟合一个条件逻辑回归模型到分组数据。

ConditionalMNLogit(endog, exog[, missing])

拟合一个条件多项逻辑回归模型到分组数据。

ConditionalPoisson(endog, exog[, missing])

拟合一个条件泊松回归模型到分组数据。

多元模型

Factor([endog, n_factor, corr, method, smc, ...])

因子分析

MANOVA(endog, exog[, missing, hasconst])

多元方差分析

PCA(数据[, ncomp, 标准化, 去均值, ...])

主成分分析

其他模型

MixedLM(endog, exog, groups[, exog_re, ...])

线性混合效应模型

SurvfuncRight(时间, 状态[, 进入, 标题, ...])

生存函数的估计和推断。

PHReg(endog, exog[, status, entry, strata, ...])

Cox比例风险回归模型

QuantReg(endog, exog, **kwargs)

分位数回归

RLM(endog, exog[, M, missing])

稳健线性模型

BetaModel(endog, exog[, exog_precision, ...])

Beta 回归。

图形

ProbPlot(数据[, 分布, 拟合, 分布参数, a, ...])

Q-Q 和 P-P 概率图

qqline(ax, line[, x, y, dist, fmt])

绘制qq图的参考线。

qqplot(数据[, 分布, 分布参数, a, 位置, ...])

x的分位数与分布的分位数/ppf的Q-Q图。

qqplot_2samples(data1, data2[, xlabel, ...])

两个样本分位数的Q-Q图。

统计

Description(数据[, 统计, 数值, ...])

数据的扩展描述性统计

describe(数据[, 统计, 数值, ...])

数据的扩展描述性统计

工具

test([extra_args, exit])

运行测试套件

add_constant(数据[, 前置, 有常数])

在数组中添加一列1。

load_pickle(fname)

加载之前保存的对象

show_versions([show_dirs])

列出 statsmodels 的版本及任何已安装的依赖项

webdoc([func, stable])

打开浏览器并显示在线文档

statsmodels.tsa.api

统计和测试

acf(x[, adjusted, nlags, qstat, fft, alpha, ...])

计算自相关函数。

acovf(x[, adjusted, demean, fft, missing, nlag])

估计自协方差。

adfuller(x[, maxlag, regression, autolag, ...])

增强的Dickey-Fuller单位根检验。

bds(x[, max_dim, epsilon, distance])

时间序列独立性的BDS检验统计量

ccf(x, y[, adjusted, fft, nlags, alpha])

互相关函数。

ccovf(x, y[, adjusted, demean, fft])

计算两个序列之间的互协方差。

coint(y0, y1[, trend, method, maxlag, ...])

测试单变量方程的无协整性。

kpss(x[, regression, nlags, store])

Kwiatkowski-Phillips-Schmidt-Shin 平稳性检验。

pacf(x[, nlags, method, alpha])

偏自相关估计。

pacf_ols(x[, nlags, efficient, adjusted])

通过OLS计算偏自相关。

pacf_yw(x[, nlags, method])

使用非递归的yule_walker估计的部分自相关。

q_stat(x, nobs)

计算Ljung-Box Q统计量。

range_unit_root_test(x[, store])

平稳性的范围单位根检验。

zivot_andrews

Zivot-Andrews 结构断点单位根检验。

单变量时间序列分析

AutoReg(endog, lags[, trend, seasonal, ...])

自回归 AR-X(p) 模型

ARDL(endog, lags[, exog, order, trend, ...])

自回归分布滞后(ARDL)模型

ARIMA(endog[, exog, order, seasonal_order, ...])

自回归积分滑动平均(ARIMA)模型及其扩展

SARIMAX(endog[, exog, order, ...])

带有外生回归量的季节性自回归综合移动平均模型

ardl_select_order(endog, maxlag, exog, maxorder)

ARDL 阶数选择

arma_order_select_ic(y[, max_ar, max_ma, ...])

计算多个ARMA模型的信息准则。

arma_generate_sample(ar, ma, nsample[, ...])

从ARMA模拟数据。

ArmaProcess([ar, ma, nobs])

指定滞后多项式的ARMA过程的理论性质。

UECM(endog, lags[, exog, order, trend, ...])

无约束误差相关模型(UECM)

指数平滑

ExponentialSmoothing(endog[, trend, ...])

霍尔特-温特指数平滑法

Holt(endog[, exponential, damped_trend, ...])

霍尔特指数平滑法

SimpleExpSmoothing(endog[, ...])

简单指数平滑

ExponentialSmoothing(endog[, trend, ...])

线性指数平滑模型

ETSModel(endog[, error, trend, ...])

ETS 模型。

多元时间序列模型

DynamicFactor(endog, k_factors, factor_order)

动态因子模型

DynamicFactorMQ(endog[, k_endog_monthly, ...])

使用EM算法的动态因子模型;适用于月度/季度数据。

VAR(endog[, exog, dates, freq, missing])

拟合 VAR(p) 过程并进行滞后阶数选择

VARMAX(endog[, exog, order, trend, ...])

带有外生回归量的向量自回归移动平均模型

SVAR(endog, svar_type[, dates, freq, A, B, ...])

拟合 VAR 然后估计 A 和 B 的结构成分,定义如下:

VECM(endog[, exog, exog_coint, dates, freq, ...])

表示向量误差修正模型(VECM)的类。

UnobservedComponents(endog[, level, trend, ...])

单变量未观测成分时间序列模型

过滤器和分解

seasonal_decompose(x[, model, filt, period, ...])

使用移动平均线的季节性分解。

STL(endog[, period, seasonal, trend, ...])

使用LOESS进行季节性趋势分解。

MSTL(endog[, periods, windows, lmbda, ...])

使用LOESS进行多季节性的季节趋势分解。

bkfilter(x[, low, high, K])

使用Baxter-King带通滤波器过滤时间序列。

cffilter(x[, low, high, drift])

克里斯蒂亚诺·菲茨杰拉德不对称,随机游走滤波器。

hpfilter(x[, lamb])

Hodrick-Prescott 滤波器。

马尔可夫机制转换模型

MarkovAutoregression(endog, k_regimes, order)

马尔可夫切换回归模型

MarkovRegression(endog, k_regimes[, trend, ...])

一阶k-机制马尔可夫切换回归模型

预测

STLForecast(endog, model, *[, model_kwargs, ...])

基于模型的预测使用STL去除季节性

ThetaModel(endog, *[, period, ...])

Assimakopoulos 和 Nikolopoulos (2000) 的 Theta 预测模型

时间序列工具

add_lag(x[, col, lags, drop, insert])

返回一个包含滞后的数组,给定一个数组。

add_trend(x[, trend, prepend, has_constant])

向数组中添加趋势和/或常数。

detrend(x[, order, axis])

对一个沿轴0或1具有给定阶数趋势的数组进行去趋势处理。

lagmat(x, maxlag[, trim, original, use_pandas])

创建滞后二维数组。

lagmat2ds(x, maxlag0[, maxlagex, dropex, ...])

为二维数组生成滞后矩阵,按变量排列列。

DeterministicProcess(index, *[, period, ...])

确定性项的容器类。

X12/X13 接口

x13_arima_analysis(endog[, maxorder, ...])

对月度或季度数据执行x13-arima分析。

x13_arima_select_order(endog[, maxorder, ...])

使用x12/x13 ARIMA执行自动季节性ARIMA阶数识别。

statsmodels.formula.api

模型

小写名称是相应模型类的from_formula方法的别名。公式API中公开的方法的函数描述是通用的。有关详细信息,请参阅父模型的文档。

gls(formula, data[, subset, drop_cols])

从公式和数据框创建一个模型。

wls(formula, data[, subset, drop_cols])

从公式和数据框创建模型。

ols(formula, data[, subset, drop_cols])

从公式和数据框创建模型。

glsar(formula, data[, subset, drop_cols])

从公式和数据框创建模型。

mixedlm(formula, data[, re_formula, ...])

从公式和数据框创建模型。

glm(formula, data[, subset, drop_cols])

从公式和数据框创建模型。

gee(formula, groups, data[, subset, time, ...])

从公式和数据框创建一个模型。

ordinal_gee(formula, groups, data[, subset, ...])

从公式和数据框创建一个模型。

nominal_gee(formula, groups, data[, subset, ...])

从公式和数据框创建一个模型。

rlm(formula, data[, subset, drop_cols])

从公式和数据框创建模型。

logit(formula, data[, subset, drop_cols])

从公式和数据框创建模型。

probit(formula, data[, subset, drop_cols])

从公式和数据框创建模型。

mnlogit(formula, data[, subset, drop_cols])

从公式和数据框创建模型。

poisson(formula, data[, subset, drop_cols])

从公式和数据框创建模型。

negativebinomial(formula, data[, subset, ...])

从公式和数据框创建模型。

quantreg(formula, data[, subset, drop_cols])

从公式和数据框创建模型。

phreg(formula, data[, status, entry, ...])

从公式和数据框创建一个比例风险回归模型。

glmgam(formula, data[, subset, drop_cols])

从公式和数据框创建模型。

conditional_logit(formula, data[, subset, ...])

从公式和数据框创建模型。

conditional_mnlogit(formula, data[, subset, ...])

从公式和数据框创建模型。

conditional_poisson(formula, data[, subset, ...])

从公式和数据框创建模型。


Last update: Oct 16, 2024