文章回顾了交叉验证法的起源及发展,对已有研究成果进行总结和归纳。在此基础上,选择其中较为常用的留一交叉验证法对实例进行模型选择。分别采用最小二乘估计法和岭回归法对乙炔的反应数据进行分析,建立相应的模型,并对所建立的模型进行选择,同时探讨选择的合理性及现实性。 This paper reviews the origin and development of cross-validation, and summarizes the previous research results. On this basis, leave-one-out cross-validation is used to solve some problems for model selection. OLS and RR were used to analyze the reaction of acetylene data, establishing appropriate models and selecting the optimal model. At the same time, the rationality and reality of the model selection were discussed.
——以OLS和RR为例
曹延姗
云南财经大学,云南 昆明
收稿日期:2018年12月26日;录用日期:2019年1月9日;发布日期:2019年1月16日
文章回顾了交叉验证法的起源及发展,对已有研究成果进行总结和归纳。在此基础上,选择其中较为常用的留一交叉验证法对实例进行模型选择。分别采用最小二乘估计法和岭回归法对乙炔的反应数据进行分析,建立相应的模型,并对所建立的模型进行选择,同时探讨选择的合理性及现实性。
关键词 :交叉验证,最小二乘估计,岭回归,模型选择
Copyright © 2019 by author(s) and Hans Publishers Inc.
This work is licensed under the Creative Commons Attribution International License (CC BY).
http://creativecommons.org/licenses/by/4.0/
交叉验证是一种模型选择方法,在使用这种方法时,不需要做任何的假定,加之操作简便,故其具有更广泛的适应性,应用也较为普遍。
早先,人们在使用统计模型解决实际问题时,同一数据集既被用来进行模型训练,又被用来进行预测误差估计。但上世纪30年代,Larson (1931) [
首先受到大家关注的是留一交叉验证法,由Stone,Allen,Geisser (1974) [
该数据源自一组乙炔的反应数据,总共有16个观测值。其中,响应变量向量y是正庚烷(n-heptane)转化为乙炔(acetylene)的转化百分比,自变量x1是反应釜的温度(摄氏),x2是氢气–乙炔转化百分比,x3是接触时间(单位是秒),如表1所示。
序号 | x1 (℃) | x2 (%) | x3 (s) | y (%) |
---|---|---|---|---|
1 | 1300 | 7.5 | 0.0120 | 49.0 |
2 | 1300 | 9.0 | 0.0120 | 50.2 |
3 | 1300 | 11.0 | 0.0115 | 50.5 |
4 | 1300 | 13.5 | 0.0130 | 48.5 |
5 | 1300 | 17.0 | 0.0135 | 47.5 |
6 | 1300 | 23.0 | 0.0120 | 44.5 |
7 | 1200 | 5.3 | 0.0400 | 28.0 |
8 | 1200 | 7.5 | 0.0380 | 31.5 |
9 | 1200 | 11.0 | 0.0320 | 34.5 |
10 | 1200 | 13.5 | 0.0260 | 35.0 |
11 | 1200 | 17.0 | 0.0340 | 38.0 |
12 | 1200 | 23.0 | 0.0410 | 38.5 |
13 | 1100 | 5.3 | 0.0840 | 15.0 |
14 | 1100 | 7.5 | 0.0980 | 17.0 |
15 | 1100 | 11.0 | 0.0920 | 20.5 |
16 | 1100 | 17.0 | 0.0860 | 29.5 |
表1. 乙炔的反应数据表
考虑到各变量单位差异较大,为了同等对待每一变量,在分析前,先对各变量作标准化变换,标准化后的变量分别记为zy、zx1、zx2、zx3 (MATLAB程序中为书写方便用Y、X1、X2、X3表示)。
令 A = ( x 1 x 2 x 3 ) ,利用MATLAB求得x1、x2、x3的相关关系矩阵为:
C o v ( A ) = ( 1 0.2236 − 0.9582 0.2236 1 − 0.2402 − 0.9582 − 0.2402 1 )
从相关关系矩阵可以看出,x1和x3之间的相关系数较大,接近于1,故我们认为x1与x3之间有线性相关关系。
考虑模型23 − 1个备选模型,其中的第s个模型为:
y i = β 0 + ∑ s ∈ S x i , s β s + ε i , i = 1 , ⋯ , 16 (1)
其中脚标集S取遍 的所有可能的非空子集。
将上述模型中的变量表示成矩阵的形式:
(2)
其中 y = ( z y 1 , ⋯ , z y 16 ) ′ ,
(一) OLS法模型估计
普通最小二乘法(OLS)是由德国数学家高斯最早提出和使用的。由于在一定的假设条件下,最小二乘估计量有着非常好的统计性质,从而使它成为回归分析中最有功效和最为流行的方法。
对于线性模型 y = X β + ε ,OLS法的思想是, β 的真值应该使误差向量 e = y − X β 达到最小,也就
是它的长度平方 Q ( β ) = ‖ e ‖ 2 = ‖ y − X β ‖ 2 = ( y − X β ) ′ ( y − X β ) 达到最小,求解得到最小二乘估计 β ^ = ( X ′ X ) − 1 X ′ y 。
(二) RR法模型估计
岭回归(RR)是一种专用于共线性数据分析的有偏估计回归方法,实质上是对最小二乘估计法的一种改良,不再做无偏性的要求。它以损失部分信息、降低精度为代价,从而使得回归系数更符合实际、更可靠。
对于线性模型 y = X β + ε , β 的岭回归估计相对于最小二乘估计,在自变量信息矩阵的主对角线元素上人为地加入了一个非负因子,即 β ^ = ( X ′ X + k I ) − 1 X ′ y ,其中岭参数k使用Hoerl & Kennard (1970) [
由于使用正交验证法,故用训练集进行参数估计,用测试集进行预测误差估计。上述两种方法各七种模型形式如表2所示。
自变量 | y | X | β | ε |
---|---|---|---|---|
z x 1 | ( z y 1 , ⋯ , z y 16 ) ′ | ( 1 z x 1 ) | ( β 0 β 1 ) ′ | ( ε 1 , ⋯ , ε 16 ) ′ |
z x 2 | ( z y 1 , ⋯ , z y 16 ) ′ | ( 1 z x 2 ) | ( β 0 β 2 ) ′ | ( ε 1 , ⋯ , ε 16 ) ′ |
z x 3 | ( 1 z x 3 ) | ( β 0 β 3 ) ′ | ( ε 1 , ⋯ , ε 16 ) ′ | |
( z y 1 , ⋯ , z y 16 ) ′ | ( 1 z x 1 z x 2 ) | ( β 0 β 1 β 2 ) ′ | ( ε 1 , ⋯ , ε 16 ) ′ | |
z x 1 、 z x 3 | ( 1 z x 1 z x 3 ) | ( β 0 β 1 β 3 ) ′ | ( ε 1 , ⋯ , ε 16 ) ′ | |
z x 2 、 z x 3 | ( z y 1 , ⋯ , z y 16 ) ′ | ( 1 z x 2 z x 3 ) | ( β 0 β 2 β 3 ) ′ | ( ε 1 , ⋯ , ε 16 ) ′ |
z x 1 、 z x 2 、 z x 3 | ( z y 1 , ⋯ , z y 16 ) ′ | ( 1 z x 1 z x 2 z x 3 ) | ( β 0 β 1 β 2 β 3 ) ′ | ( ε 1 , ⋯ , ε 16 ) ′ |
表2. OLS法和RR法模型估计的七种模型表
(三) 留一交叉验证法模型选择 [
在前文中已经简单介绍过,在使用留一交叉验证法时,每次从n个数据中取出一个数据作为测试集,而将其他n − 1个数据作为训练集,这一操作重复进行n次,而这n次结果的平均值就是预测误差的估计值。使用MATLAB进行交叉验证,得到上述14个模型的预测误差如表3所示。
方法 自变量 | OLS | RR |
---|---|---|
zx1 | 0.1380 | 0.1391 |
zx2 | 1.0164 | 1.0043 |
zx3 | 0.2037 | 0.2047 |
zx1、zx2 | 0.1386 | 0.1393 |
zx1、zx3 | 0.1457 | 0.1441 |
zx2、zx3 | 0.2040 | 0.2025 |
zx1、zx2、zx3 | 0.1485 | 0.1478 |
表3. OLS法和RR法估计的模型的预测误差表
如果只根据预测误差的最小值来判定,在上述14个模型中应当选择只含变量x1(zx1)的最小二乘估计模型,但考虑到x1、x2、x3对y均有影响,只用一个变量可能不能很好地反映y受到影响的各个方面。根据前面进行的变量间相关性的分析,我们知道x1与x3之间存在线性关系,当这两个变量同时出现在模型中时,根据预测误差值可以明显地看出岭回归法估计的模型优于最小二乘法估计的模型。故如果我们希望x1、x2、x3三个变量均出现在模型中,则应选择RR法估计的模型。如果是选择含两个变量的模型,结合变量间的相关性,选择含变量x1、x2的最小二乘估计模型。
我们注意到响应变量y与自变量x2均为转化百分比,是成分数据,而自变量x1 (温度)与x3 (时间)并不是,这样直接建立的线性模型可能效果并不是十分好。成分数据是一种在社会、经济、技术等多领域应用十分广泛的数据类型,结合前人的研究,这类数据可以考虑利用对数变换来进行建模,一方面可以起到降维的作用,另一方面解释起来也更为合理。
本文通过采用最小二乘估计法和岭回归法对一个具体的实例进行线性模型估计,并采用留一交叉验证法对模型进行选择,但仅凭交叉验证法估计的预测误差进行判断所得结果未必理想,还需要适当结合实际情况,所得结果才更令人信服。此外,对于成分数据直接进行线性回归可能并不是最为恰当的,还需要我们多加探索,认真实验。
曹延姗. 交叉验证法在模型选择中的应用——以OLS和RR为例Application of Cross-Validation in Model Selection—Take OLS and RR as Examples[J]. 统计学与应用, 2019, 08(01): 26-30. https://doi.org/10.12677/SA.2019.81004