本文件的主要是研究和讨论数据中不等式关系估计。

引言

回归分析技术的主要功能是估计数据中的等式关系,等式关系 –> 等价关系 –> 充分必要条件关系。类似的,我们只估计数据中的不等式关系 –> 充分或者必要条件关系, 这就是本项目的主要内容。

回归分析依附于概率模型,得到的等式估计具备有理论上的可解释性和估计的各种优良性质。同样的,我们可以定义一些模型,用合适的方法构造出优良的不等式估计。

回归分析广泛应用于数据分析中,可以用于预测。不等式估计的方法运用于运筹管理学,例如 NCA, QCA, 用于发现数据中充分条件或者必要条件。

Quick start

下面是一个我写的一种估计方法的 R 包的简单实例。

library(estcondmin)
set.seed(1)
d <- estcondmin::gen_dat(n = 2000, beta = c(rep(1,10),rep(0, 30)))
estcondmin::estcondmin(y = d$y,X = d$X, lambda = 0.37)
##  [1]  8.655549e-01  9.832007e-01  9.569176e-01  9.227499e-01  9.588498e-01
##  [6]  9.997619e-01  9.706177e-01  9.479479e-01  9.565244e-01  9.585220e-01
## [11]  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00
## [16]  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00
## [21]  0.000000e+00  0.000000e+00  9.012478e-06  6.753359e-03 -1.594200e-04
## [26]  0.000000e+00 -1.379506e-04  2.029421e-03  0.000000e+00  0.000000e+00
## [31]  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00
## [36]  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00
estcondmin::estcondmin(y = d$y,X = d$X, lambda = 0)
##  [1]  1.018044e+00  9.990915e-01  1.000212e+00  9.992247e-01  9.947625e-01
##  [6]  9.992583e-01  9.990731e-01  9.976545e-01  1.003709e+00  9.960264e-01
## [11] -7.243084e-03  5.384374e-03 -2.584688e-03 -1.046038e-03 -6.674813e-03
## [16] -7.177767e-03  9.220879e-04 -4.565300e-03 -1.234236e-03 -2.387005e-03
## [21]  4.375389e-03 -1.459980e-03 -1.106036e-03  2.448074e-05 -1.030638e-03
## [26]  3.110845e-03 -4.347359e-03 -7.186482e-03  1.329761e-03 -6.521558e-03
## [31] -1.893916e-03 -7.864457e-04  7.987964e-04  4.532532e-04 -4.094369e-04
## [36] -1.904363e-03  5.570053e-03 -4.015356e-03  2.814108e-03  5.558170e-03

算法优化: 默认算法中是以样本中心点来构建目标函数,但是可以使用不同的点来构建目标函数,进行变量选择。

set.seed(123)
d <- estcondmin::gen_dat(n = 2000, beta = c(rep(1,10),rep(0, 30)))
estcondmin::estcondmin2(y = d$y,X = d$X, lambda = 0.37, epsilon = 0.01) -> x
estcondmin::estcondmin2(y = d$y,X = d$X, lambda = 0.37, epsilon = 0.02) -> y
estcondmin::estcondmin2(y = d$y,X = d$X, lambda = 0.37, epsilon = 0.03) -> z
apply(matrix(c(x,y,z), ncol = 3),1, min)
##  [1]  0.938560176  0.974360872  0.967976268  0.987757258  1.008097196
##  [6]  0.946481896  0.998725321  0.974829811  0.967886863  0.987461036
## [11]  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000
## [16]  0.000000000  0.000000000  0.000000000 -0.013328855  0.000000000
## [21]  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000
## [26]  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000
## [31]  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000
## [36]  0.000000000  0.000000000 -0.006203766  0.000000000  0.000000000

确实能一定程度上去掉更多的不相关的变量。

应用

本方法的应用于NCA,QCA等,可以回答如下形式的问题:

思考

  1. 该不等式估计方法的 理论性质如何证明?
  2. 估计的 oracle 性质?
  3. 该不等式估计的实际数据中的应用实例有哪些场景?