稳健线性模型

支持 范数 下列出的 M 估计量的稳健线性模型。

参见 模块参考 以了解命令和参数。

示例

# Load modules and data
In [1]: import statsmodels.api as sm

In [2]: data = sm.datasets.stackloss.load()

In [3]: data.exog = sm.add_constant(data.exog)

# Fit model and print summary
In [4]: rlm_model = sm.RLM(data.endog, data.exog, M=sm.robust.norms.HuberT())

In [5]: rlm_results = rlm_model.fit()

In [6]: print(rlm_results.params)
const       -41.026498
AIRFLOW       0.829384
WATERTEMP     0.926066
ACIDCONC     -0.127847
dtype: float64

详细的示例可以在这里找到

技术文档

参考文献

  • PJ Huber. ‘稳健统计’ John Wiley and Sons, Inc., New York. 1981.

  • PJ Huber. 1973, ‘1972 年 Wald 纪念讲座: 稳健回归: 渐近性、猜想和蒙特卡罗.’ 统计年鉴, 1.5, 799-821.

  • R Venables, B Ripley. ‘S 中的现代应用统计’ Springer, New York,

  • C Croux, PJ Rousseeuw, ‘两种高度稳健的尺度估计量的时效算法’ 计算统计学. Physica, Heidelberg, 1992.

模块参考

模型类

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

稳健线性模型

模型结果

RLMResults(model, params, ...)

包含 RLM 结果的类

范数

AndrewWave([a])

用于 M 估计的 Andrew 波。

Hampel([a, b, c])

用于 M 估计的 Hampel 函数。

HuberT([t])

用于 M 估计的 Huber's T。

LeastSquares()

用于 M 估计的最小二乘 rho 及其派生函数。

MQuantileNorm(q, base_norm)

基于基础范数的 M 分位数目标函数

RamsayE([a])

用于 M 估计的 Ramsay's Ea。

RobustNorm()

用于稳健回归的范数的父类。

TrimmedMean([c])

用于 M 估计的截断均值函数。

TukeyBiweight([c])

用于 M 估计的 Tukey 双权重函数。

estimate_location(a, scale[, norm, axis, ...])

使用 self.norm 和当前尺度估计量的 M 位置估计器。

尺度

Huber([c, tol, maxiter, norm])

Huber 的建议 2 用于联合估计位置和尺度。

HuberScale([d, tol, maxiter])

用于拟合稳健线性模型的 Huber 尺度。

mad(a[, c, axis, center])

数组给定轴上的中位数绝对偏差

hubers_scale

用于拟合稳健线性模型的 Huber 尺度。

iqr(a[, c, axis])

数组给定轴上的归一化四分位间距

qn_scale(a[, c, axis])

计算 Qn 稳健尺度估计器


最后更新: 2024 年 10 月 3 日