非参数方法 nonparametric

本节收集了非参数统计中的各种方法。这包括单变量和多变量数据的核密度估计、核回归和局部加权散点图平滑(lowess)。

sandbox.nonparametric 包含一些正在进行中的功能或尚未进行单元测试的功能。我们计划在这里包含非参数密度估计器,特别是基于核函数或正交多项式的估计器,平滑器,以及用于非参数模型和方法的工具,这些工具将分布在 statsmodels 的其他部分中。

核密度估计

核密度估计(KDE)功能分为单变量和多变量估计,它们的实现方式非常不同。

单变量估计(由KDEUnivariate提供)使用FFT变换,这使得它非常快速。因此,如果速度是重要的,它应该优先用于连续、单变量数据。它支持使用不同的核函数;带宽估计仅通过经验法则(Scott或Silverman)进行。

多元估计(由KDEMultivariate提供)使用乘积核。它支持带宽估计的最小二乘法和最大似然交叉验证,以及估计混合连续、有序和无序数据。默认核(高斯、Wang-Ryzin和Aitchison-Aitken)目前无法更改。条件密度的直接估计(\(P(X | Y) = P(X, Y) / P(Y)\))由KDEMultivariateConditional支持。

KDEMultivariate 也可以进行单变量估计,但比 KDEUnivariate 慢一到两个数量级。

核回归

核回归(由KernelReg提供)基于与KDEMultivariate相同的产品核方法,因此具有与上述KDEMultivariate相同的特性(混合数据、交叉验证的带宽估计、核函数)。删失回归由KernelCensoredReg提供。

请注意,基于KernelReg的半参数部分线性模型和单指标模型的代码可以在沙箱中找到。

参考文献

  • B.W. Silverman, “统计与数据分析中的密度估计”

  • J.S. 拉辛,“非参数计量经济学:入门”,《计量经济学基础与趋势》,第3卷,第1期,第1-88页,2008年。

  • Q. Li 和 J.S. Racine,“非参数计量经济学:理论与实践”,普林斯顿大学出版社,2006年。

  • Hastie, Tibshirani 和 Friedman,《统计学习基础:数据挖掘、推理和预测》,Springer,2009年。

  • Racine, J., Li, Q. “非参数估计具有分类和连续数据的分布。” 工作论文。(2000)

  • Racine, J. Li, Q. “核估计多元条件分布 Annals of Economics and Finance 5, 211-235 (2004)

  • 刘, R., 杨, L. “多元累积分布函数的核估计。” 非参数统计杂志 (2008)

  • 李, 荣., 鞠, 刚. “具有分类和连续数据的多变量CDF的非参数估计。” 工作论文

  • 李强,Racine,J. “交叉验证的局部线性非参数回归” 《统计学报》 14(2004),第485-512页

  • 拉辛, J.: “非参数回归的一致显著性检验” 《商业与经济统计杂志》

  • Racine, J., Hart, J., Li, Q., “在非参数回归模型中测试分类预测变量的显著性”, 2006, 计量经济学评论 25, 523-544

模块参考

公共函数和类是

lowess(endog, exog[, frac, it, delta, ...])

LOWESS(局部加权散点图平滑法)

KDEUnivariate(endog)

单变量核密度估计器。

KDEMultivariate(数据, 变量类型[, 带宽, 默认值])

多元核密度估计器。

KDEMultivariateConditional(endog, exog, ...)

条件多元核密度估计器。

EstimatorSettings([efficient, randomize, ...])

用于指定密度估计或回归设置的对象。

KernelReg(endog, exog, var_type[, reg_type, ...])

非参数核回归类。

KernelCensoredReg(endog, exog, var_type, ...)

非参数删失回归。

用于核带宽的辅助函数

bw_scott(x[, kernel])

斯科特的经验法则

bw_silverman(x[, kernel])

Silverman的经验法则

select_bandwidth(x, bw, kernel)

为选择规则 bw 选择带宽

statsmodels.nonparametric.dgp_examples中有一些非线性函数的示例

非对称核

像单位区间上的beta核和正随机变量的gamma核这样的非对称核避免了分布支持边界处的问题。

Statsmodels 初步支持使用核函数估计单位区间、beta 或正实线的密度和累积分布函数,以及其他所有核函数。

正实线的几个核函数假设零边界处的密度为零。伽马核函数也允许零边界处为正或无界密度的情况。

目前没有默认值,也不支持选择带宽。用户必须提供带宽。

计算核密度和核累积分布函数的函数是

pdf_kernel_asym(x, sample, bw, kernel_type)

基于非对称核的密度估计。

cdf_kernel_asym(x, sample, bw, kernel_type)

基于非对称核的累积分布估计。

可用于pdf和cdf的内核函数有

kernel_pdf_beta(x, sample, bw)

用于密度、概率密度函数估计的Beta核。

kernel_pdf_beta2(x, sample, bw)

用于密度、概率密度估计的Beta核函数,带有边界校正。

kernel_pdf_bs(x, sample, bw)

Birnbaum Saunders(正态)核用于密度、概率密度函数、估计。

kernel_pdf_gamma(x, sample, bw)

用于密度、概率密度函数估计的Gamma核。

kernel_pdf_gamma2(x, sample, bw)

用于密度、概率密度估计的Gamma核函数,带有边界修正。

kernel_pdf_invgamma(x, sample, bw)

用于密度、概率密度函数估计的逆伽马核。

kernel_pdf_invgauss(x, sample, bw)

用于密度、概率密度函数估计的逆高斯核。

kernel_pdf_lognorm(x, sample, bw)

用于密度、概率密度函数估计的对数正态核。

kernel_pdf_recipinvgauss(x, sample, bw)

用于密度、概率密度函数估计的逆高斯核。

kernel_pdf_weibull(x, sample, bw)

用于密度、概率密度函数估计的威布尔核。

kernel_cdf_beta(x, sample, bw)

用于累积分布函数(cdf)估计的Beta核。

kernel_cdf_beta2(x, sample, bw)

用于带有边界校正的cdf估计的Beta核。

kernel_cdf_bs(x, sample, bw)

Birnbaum Saunders(正态)核用于cdf估计。

kernel_cdf_gamma(x, sample, bw)

用于累积分布函数(cdf)估计的Gamma核。

kernel_cdf_gamma2(x, sample, bw)

用于带有边界校正的cdf估计的Gamma核。

kernel_cdf_invgamma(x, sample, bw)

用于累积分布函数(cdf)估计的逆伽马核。

kernel_cdf_invgauss(x, sample, bw)

用于累积分布函数(cdf)估计的逆高斯核。

kernel_cdf_lognorm(x, sample, bw)

用于累积分布函数(cdf)估计的对数正态核。

kernel_cdf_recipinvgauss(x, sample, bw)

用于累积分布函数估计的逆高斯核。

kernel_cdf_weibull(x, sample, bw)

用于累积分布函数(cdf)估计的威布尔核。

sandbox.nonparametric 包含用于测试函数形式以及半线性和单指数模型的其他不够充分测试的类。


Last update: Oct 16, 2024