system: [SYSTEM]

user: 3. 数值模拟及结果分析 3.1. 评价标准 本文选取一些常用的评价指标来衡量模型的泛化能力，具体指标如下： 1) 预测均方误差： PMSE = 1 m ∑ i = 1 m ( f ( x i ) − y i ) 2 (9) 2) 标准误差： SE = ∑ i = 1 m ( f ( x i ) − y i ) 2 m (10) 3) Freq：重要变量被优先选择的平均次数； 4) N n z ：最终模型中非零系数个数； 5) 平均误差： ME = ‖ θ − θ ^ ‖ 2 2 (11) 6) AUC：指ROC曲线下的面积 7) 错误发现率： FDR = FP FP + TP (12) 8) 假反例率： FNR = FN FN + TP (13) 上式m表示样本量； y i ， f ( x i ) 分别表示第i个样本的预测值和真实值； θ 表示参数真实值， θ ^ 表示参数的估计值；TP为真正例；FP为假正例；FN为假反例；TP为真正例。PMSE、SE、ME均是衡量样本真实值与预测值之间偏差的综合指标，FDR、FNR是性能度量指标，这些指标的值越小，表明模型描述数据的精确度越高。ROC曲线是以假正例率为横坐标，真正例率为纵坐标作图得到。若一种方法对应的ROC曲线被另一条曲线完全“包住”，则后者的性能优于前者 [ 12 ]。 3.2. 模拟及结果 根据前述模型随机生成模拟数据集。下面给出的四个不同场景，仅通过改变解释因子的维数以及设计矩阵的相关结构来实现，每个场景重复模拟100 ( N = 100 )次。在场景1和2中，分别生成训练集和测试集，且每生成一个训练集，在相同设置下独立生成相应的测试集，用于评估所得模型的预测性能。每个训练集由100个独立的观察值组成，而每个测试有500个独立的样本；在场景3和4中，整体生成模拟数据，不区分训练集和测试集。 模拟1 在该例中，令 p = 50 ， α j = − 0.5 ， − 1 ， 3 ， 1 ， 0.2 ， j = 1 ， 11 ， 31 ， 41 ， 50 。 α j = 0 ， j ≠ 1 ， 11 ， 31 ， 41 ， 50 ； β j = 1.49 ， 0.4 ， − 0.01 ， 0.39 ， − 0.06 ， j = 1 ， ⋯ ， 5 。 β j = 0 ， j ≠ 1 ， ⋯ ， 5 。另外，假设： X = ( X 1 ， X 2 ， ⋯ ， X p ) ~ N p ( 0 ， Σ ) ， Σ i ， j = ρ | i − j | ， ρ 分别取0.1、0.4、0.7。 模拟1旨在解释因子相关程度不同的情况下，将各惩罚方法的预测精度和变量选择性能进行比较。作为参考，还考虑了Oracle估计结果，即所有重要变量都事先已知的岭回归。 Table 1 Simulation results of example ρ Method PMSE(SE) Freq.(%) N n z FDR FNR ρ = 0.1 Oracle 2.821(3.118) 100.000 10.000 0.100 0.530 Ridge 3.235(5.184) 84.833 50.000 0.077 0.732 NCPM 2.873(2.380) 88.667 9.731 0.080 0.490 MCP 2.656(3.038) 87.000 9.435 0.180 0.483 Enet 3.011(4.090) 87.000 29.890 0.190 0.610 ρ = 0.4 Oracle 2.172(1.532) 100.000 10.000 0.040 0.500 Ridge 2.413(1.825) 81.000 50.000 0.273 0.600 NCPM 2.141(1.689) 86.500 9.950 0.030 0.480 MCP 2.245(1.680) 84.320 9.950 0.020 0.520 Enet 2.391(1.799) 83.647 34.310 0.160 0.598 ρ = 0.7 Oracle 1.587(0.571) 100.000 10.000 0.060 0.560 Ridge 1.810(0.204) 74.167 50.000 0.172 0.632 NCPM 0.527(0.358) 92.483 10.180 0.030 0.390 MCP 1.553(0.553) 89.076 8.990 0.060 0.530 Enet 1.742(0.943) 81.833 26.740 0.140 0.590 表1. 例1模拟结果 从表1中报告的预测精度结果可以看出，在 ρ 的取值不同的情况下，Ridge是四种惩罚方法中效率最低的。显然，当真实模型中有多余变量时，简约的回归模型比非简约的回归模型具有更强的预测能力。此外，Enet的预测精度略低于MCP和NCPM，这可能是Lasso惩罚的偏差性引起的。可以看出，这些方法中MCP和NCPM是最优的。至于变量选择的性能：岭回归使用所有变量预测，Enet倾向于包含太多冗余变量，而MCP和NCPM通过对未知参数的值进行压缩，实现变量选择。因此，MCP和NCPM是这四种方法中最好的变量选择方法。 模拟2 在该例中，令 p = 50 ， α j = − 0.5 ， − 1 ， 3 ， 1 ， 0.2 ， − 0.14 ， j = 1 ， ⋯ ， 6 。 α j = 0 ， j ≠ 1 ， ⋯ ， 6 ； β j = 1.49 ， 0.5 ， 0.4 ， − 0.01 ， 0.39 ， − 0.06 ， j = 1 ， ⋯ ， 6 。 β j = 0 ， j ≠ 1 ， ⋯ ， 6 。令 X j ， j = 1 ， ⋯ ， 50 为一组 的随机变量，且 X j ~ N ( 0 ， 1 ) 。本例设置两种情况： 1) 当 j = 7 ， ⋯ ， 12 时，令 X j = X j − 6 + η j ，其中， η j ( i . i . d ) 且 η j ~ N ( 0 ， 0.01 ) ； 2) 当 j = 7 ， ⋯ ， 28 时，令 X j = X j + 22 + η j ，其中， η j ( i . i . d ) 且 η j ~ N ( 0 ， 0.01 ) ； (1)与(2)的区别在于：情况(1)中，重要变量间存在相关关系，情况(2)中，非重要变量间具有相关关系。 Table 2 Simulation results of example 场景 方法 PMSE (SE) N n z Freq.(%) 1 Oracle 2.095 1.554 12.000 100.000 Ridge 2.927 1.635 50.000 78.583 NCPM 2.155 1.581 11.864 87.083 MCP 2.154 1.579 11.927 88.500 Enet 2.351 1.653 18.635 81.677 2 Oracle 0.724 0.976 6.000 100.000 Ridge 1.237 1.371 50.000 56.833 NCPM 0.841 0.513 6.039 91.459 MCP 1.652 1.008 44.830 0.000 Enet 1.037 1.023 25.379 89.176 表2. 例2模拟结果 模拟2旨在比较当解释变量间存在强相关性时，各惩罚方法性能的优越性。表2展示了实例2的模拟结果。MCP在场景1的变量选择中是最好的，但是在场景2中，比其他变量选择要差得多，得到的结果完全是误导性的。在场景2中，使用组合惩罚(Enet和NCPM两种方法)的性能比使用单一惩罚要好得多；NCPM对这两种情况都是最好的。从这个例子中，我们可以看出，在MCP中增加 L 2 惩罚可以显著降低解释因子之间的高共线性带来的风险。 接下来的两个例子旨在比较两种组合惩罚方法(CP和NCPM)在 ρ 较大情况下的效果。 模拟3在该例中，令 p = 200 ，剩余条件与模拟1相同。 模拟4在该例中，令 X j ( i . i . d ) ， j = 1 ， ⋯ ， p 且 X j ~ N ( 0 ， 1 ) 。分别，令 p = 100 ， 300 ， 500 。 α j = − 0.5 ， − 1 ， 3 ， 1 ， 0.2 ， j = 1 ， 11 ， 31 ， 41 ， 50 。 α j = 0 ， j ≠ 1 ， 11 ， 31 ， 41 ， 50 ； β j = 1.49 ， 0.4 ， − 0.01 ， 0.39 ， − 0.06 ， j = 1 ， ⋯ ， 5 。 β j = 0 ， j ≠ 1 ， ⋯ ， 5 表3总结了组合惩罚方法的模拟结果。在表格中，我们分别列出了系数 α 和 β 在不同衡量指标下的具体情况。模拟结果表明：两种方法的变量选择均有很好的效果；增加解释变量间的相关性对两种方法的变量选择性能影响不大，这表明它们均有很好的处理解释变量间共线性的能力；NCPM比CP给出了更精确的变量选择结果。例如：例3 ρ = 0.4 的情境下(表3中第3、4行)，系数 α 在使用NCPM方法时，得到的FDR、FNR、ACU的值分别为：0.03、0.39、0.93，使用CP方法得到的值分别为0.05、0.43、0.92。并且发现，NCPM方法在ME、PMSE上均有所改善。另外，对系数 β 也有类似的发现。 Table 3 Simulation 3 and Simulation 4 Result 例 子 场 景 估计 方法 α β FDR FNR AUC ME PMSE FDR FNR AUC ME PMSE 例3 (p) 0.1 NCPM 0.090 0.439 0.890 0.182 0.385 0.300 0.171 0.900 0.016 0.321 CP 0.092 0.524 0.700 0.285 1.285 0.326 0.282 0.870 0.169 1.746 0.4 NCPM 0.030 0.390 0.930 0.141 0.457 0.280 0.142 0.920 0.016 0.208 CP 0.050 0.430 0.920 0.165 1.741 0.289 0.236 0.900 0.125 1.711 0.7 NCPM 0.029 0.536 0.918 0.132 0.872 0.230 0.274 0.960 0.029 0.151 CP 0.011 0.374 0.890 0.152 2.239 0.247 0.196 0.890 0.120 1.501 例4 (p) 100 NCPM 0.050 0.020 0.960 0.016 0.341 0.330 0.250 0.930 0.052 0.088 CP 0.060 0.433 0.910 0.022 1.046 0.300 0.324 0.870 0.089 0.114 300 NCPM 0.020 0.060 0.980 0.017 0.351 0.260 0.020 0.970 0.031 0.062 CP 0.090 0.371 0.950 0.059 0.832 0.285 0.143 1.000 0.054 0.105 500 NCPM 0.018 0.134 0.990 0.003 0.556 0.180 0.000 0.990 0.024 0.041 CP 0.023 0.520 0.970 0.041 0.610 0.244 0.025 1.000 0.049 0.067 表3. 模拟3、模拟4结果