本文件的主要是研究和讨论数据中不等式关系估计。
回归分析技术的主要功能是估计数据中的等式关系,等式关系 –> 等价关系 –> 充分必要条件关系。类似的,我们只估计数据中的不等式关系 –> 充分或者必要条件关系, 这就是本项目的主要内容。
回归分析依附于概率模型,得到的等式估计具备有理论上的可解释性和估计的各种优良性质。同样的,我们可以定义一些模型,用合适的方法构造出优良的不等式估计。
回归分析广泛应用于数据分析中,可以用于预测。不等式估计的方法运用于运筹管理学,例如 NCA, QCA, 用于发现数据中充分条件或者必要条件。
下面是一个我写的一种估计方法的 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等,可以回答如下形式的问题: