主成分分析[1]是考察多个变量间相关性的一种多元统计方法, 通过几个主成分来揭示多个变量间的内部结构, 即从原始变量中导出几个主成分, 使其尽可能多地保留原始变量的信息, 且彼此间互不相关.该方法被广泛应用于金融、经济、管理等领域[2-5].但通过主成分分析所得的每个主成分为所有原始变量的线性组合, 使所得主成分难于解释, 而解决实际问题时, 有时只需考虑与主成分关系比较密切的一些原始变量.为了凸显主成分和原始变量的关系, 一些学者将稀疏性引入主成分分析. 2003年, Jolliffe受Lasso[6]的启发, 将L1罚引入主成分[7], 提出了模型
$ \mathit{\boldsymbol{\hat \beta }}{\rm{ = }}\mathop {\arg \min }\limits_\mathit{\boldsymbol{\beta }} {\left( {{\mathit{\boldsymbol{Y}}_i} - \mathit{\boldsymbol{X}}{\mathit{\boldsymbol{\beta }}_j}} \right)^2},{\rm{s}}{\rm{.t}}\;\;\sum\limits_{j = 1}^p {\left| {{\mathit{\boldsymbol{\beta }}_j}} \right|} < t. $ | (1) |
该模型实现主成分对原始变量的自动选择, 保留与主成分关系密切的原始变量, 剔除与主成分关系不密切的原始变量. 2005年, Zou[8]等将模型(1) 中主成分的求解问题直接转化为Lasso回归问题, 有效地把主成分的求解转化为线形模型的变量选择问题.但当观测变量的个数远远大于样本的个数时, 通过L1罚所得的解过于稀疏, 导致大量信息被损失.为了克服该缺点, Zou将“elastic net”惩罚结构引入主成分, 提出了稀疏主成分分析[9].其模型为
$ \left( {\mathit{\boldsymbol{A}},\mathit{\boldsymbol{B}}} \right) = \mathop {\arg \min }\limits_{\mathit{\boldsymbol{A}},\mathit{\boldsymbol{B}}} \sum\limits_{i = 1}^n {{{\left\| {{\mathit{\boldsymbol{X}}_i} - \mathit{\boldsymbol{A}}{\mathit{\boldsymbol{B}}^{\rm{T}}}{\mathit{\boldsymbol{X}}_i}} \right\|}^2}} + \lambda \sum\limits_{j = 1}^k {{{\left\| {{\mathit{\boldsymbol{\beta }}_j}} \right\|}^2}} + \sum\limits_{j = 1}^k {{\lambda _{1,j}}{{\left\| {{\mathit{\boldsymbol{\beta }}_j}} \right\|}_1}} ,{\rm{s}}{\rm{.t}}\;{\mathit{\boldsymbol{A}}^{\rm{T}}}\mathit{\boldsymbol{A = }}{\mathit{\boldsymbol{I}}_{k \times k}}. $ | (2) |
其中, A是通过主成分分析得到的前k个主成分的系数组成的矩阵, βj为矩阵B中第j列.
稀疏主成分分析具有L1罚和L2罚的优点, 能凸显所得主成分与原始变量的关系, 并有效解决变量个数大于样本个数的优化问题.在稀疏主成分分析中, L1罚是保证所得主成分系数稀疏, L2罚是为了克服当样本量小于变量个数时, 所得的主成分系数过稀疏的缺点.一些学者将稀疏主成分分析应用到综合评价、股票研究及其他方面[10-12], 取得较好的效果.然而, 基于L1罚的优化问题仍存在至少两方面的不足:第一, 数据之间可能存在很大的冗余难以去除; 第二, 无法区分稀疏尺度的位置, 即会出现低尺度的能量转移到高尺度的现象, 因而易出现高频震荡现象.
2000年, Nikolova在研究变量选择时提出了变换L1罚[13](transformed L1 penalty, 简称TL1罚), 并指出TL1罚函数
本文将TL1罚应用于稀疏主成分分析, 即用TL1罚替代稀疏主成分分析中的L1罚, 对稀疏主成分分析进行改进, 以克服基于L1罚优化问题的不足, 并给出优化模型.然后通过2-范数的性质把TL1罚稀疏主成分分析的求解进行转化.最后利用阈值迭代算法对优化问题(4) 进行求解, 并将该方法应用到蔬菜选择实例中, 结果表明TL1罚稀疏主成分分析具有效果更优.
1 TL1罚稀疏主成分分析用TL1罚
$ \mathit{\boldsymbol{\hat \beta }}{\rm{ = }}\mathop {\arg \min }\limits_\mathit{\boldsymbol{\beta }} \left\| {{\mathit{\boldsymbol{Y}}_i} - \mathit{\boldsymbol{X}}{\mathit{\boldsymbol{\beta }}_j}} \right\|_2^2 + {\lambda _1}\left\| {{\mathit{\boldsymbol{\beta }}_j}} \right\|_2^2 + {\lambda _2}\frac{{\left( {a + 1} \right)\left| {{\mathit{\boldsymbol{\beta }}_j}} \right|}}{{a + \left| {{\mathit{\boldsymbol{\beta }}_j}} \right|}}. $ | (3) |
其中, Yi是第i个主成分, λ1, λ2, a是参数.
利用2-范数的性质, TL1罚稀疏主成分分析可转换为
$ \mathit{\boldsymbol{\hat \beta }}_i^* = \mathop {\arg \min }\limits_\mathit{\boldsymbol{\beta }} \left\| {\mathit{\boldsymbol{Y}}_i^* - {\mathit{\boldsymbol{X}}^*}\mathit{\boldsymbol{\beta }}_i^*} \right\|_2^2 + {\lambda _2}\frac{{\left( {a + 1} \right)\left| {\mathit{\boldsymbol{\beta }}_i^*} \right|}}{{a + \left| {\mathit{\boldsymbol{\beta }}_i^*} \right|}}. $ | (4) |
其中,
为了求解优化问题(4), 利用文献[15-16]中提出的阈值迭代算法, 给出该问题的阈值迭代函数, 即
$ {\mathit{\boldsymbol{\beta }}^ * } = \left\{ {\begin{array}{*{20}{c}} {0,}&{\left| \mathit{\boldsymbol{\beta }} \right| < t,}\\ {{g_{{\lambda _2}}}\left( \mathit{\boldsymbol{\beta }} \right),}&{\left| \mathit{\boldsymbol{\beta }} \right| > t.} \end{array}} \right. $ |
其中,
$ \begin{array}{*{20}{c}} {t = \left\{ {\begin{array}{*{20}{c}} {{\lambda _2}\mu \frac{{a + 1}}{a},}&{{\lambda _2} \le \frac{{{a^2}}}{{2\left( {a + 1} \right)\mu }},}\\ {\sqrt {2{\lambda _2}\mu \left( {a + 1} \right)} - \frac{a}{2},}&{{\lambda _2} > \frac{{{a^2}}}{{2\left( {a + 1} \right)\mu }},} \end{array}} \right.}\\ {{g_{{\lambda _2}}}\left( \mathit{\boldsymbol{\beta }} \right) = {\rm{sign}}\left( \mathit{\boldsymbol{\beta }} \right)\left\{ {\frac{2}{3}\left( {a + \left| \mathit{\boldsymbol{\beta }} \right|} \right)\cos \left( {\frac{{\varphi \left( \mathit{\boldsymbol{\beta }} \right)}}{3}} \right) - \frac{{2a}}{3} + \frac{{\left| \mathit{\boldsymbol{\beta }} \right|}}{3}} \right\},}\\ {\varphi \left( \mathit{\boldsymbol{\beta }} \right) = \arccos \left( {1 - \frac{{27{\lambda _2}a\left( {a + 1} \right)}}{{2{{\left( {a + \left| \mathit{\boldsymbol{\beta }} \right|} \right)}^3}}}} \right).} \end{array} $ |
下面, 给出TL1罚稀疏主成分分析的阈值迭代算法, 具体步骤如下:
(1) 对原始数据进行主成分分析, 并按方差累计贡献率提取k个主成分;
(2) 初始化:将第i主成分的系数初始为x0, 给一个合适的a, ε, μ0;
(3) 计算zn=Bμ(xn)=xn+μAT(y-Axn), 令λ2=λ0, μ=μ0;
(4) 判断λ2与
(5) 重复步骤(3)~(4), 当|xn+1(i)-xn(i)| < ε, 或n>3 000时, 停止迭代, 输出xn+1.
2 数值模拟对研究数据(2014年数学建模D题中常见蔬菜营养成分表中数据) 进行处理, 将蔬菜的种类作为样本, 蔬菜中所含的各种膳食纤维的含量作为变量, 分别进行主成分分析、稀疏主成分分析和TL1罚稀疏主成分分析.分析时,按方差累计贡献率的80%来提取主成分, 提取主成分的个数为4.在此基础上, 利用阈值迭代算法对所提取的主成分进行稀疏主成分分析, 得到稀疏主成分对应的系数矩阵及相应的方差贡献率, 如表 1所示.
主成分变量 | 第一稀疏主成分 | 第二稀疏主成分 | 第三稀疏主成分 | 第四稀疏主成分 |
1 | 0.396 988 | 0 | 0 | 0 |
2 | 0.405 734 | 0 | 0 | 0 |
3 | 0.057 860 | 0 | 0 | 0 |
4 | 0.072 377 | 0 | 0 | 0 |
5 | 0 | 0 | 0 | 0 |
6 | 0 | -0.064 350 | 0.221704 | -0.153 280 |
7 | 0 | 0 | -0.160 380 | 0 |
8 | 0 | 0 | 0 | 0 |
9 | 0 | -0.029 150 | 0 | 0 |
10 | -0.020 450 | -0.014 570 | -0.146 200 | -0.222 240 |
11 | 0 | 0 | 0 | 0.545 688 |
12 | 0 | 0.141 538 | 0.364 439 | 0 |
13 | 0.046 592 | 0.063 613 | 0.019 034 | -0.059 840 |
14 | 0 | 0.389 925 | 0 | -0.018 950 |
15 | 0 | 0 | 0 | 0 |
16 | 0 | -0.296 850 | 0.088 247 | 0 |
贡献率/% | 43.525 600 | 17.126 200 | 11.063 600 | 10.274 600 |
累计贡献率/% | 43.525 600 | 60.661 800 | 71.725 400 | 82.000 000 |
稀疏主成分形式为
$ {F_i} = \mathit{\boldsymbol{\alpha }}_i^{\rm{T}}\mathit{\boldsymbol{x}}, $ | (5) |
其中, Fi为第i个主成分, αi为第i个主成分的系数, i=1, 2, 3, 4, x=(x1, x2, …, x16)′.
由表 1和式(5) 可知, 稀疏主成分分析的稀疏性表现在稀疏主成分的系数上, 系数中零的个数越多, 稀疏主成分越稀疏.
由得到的稀疏主成分和方差贡献率, 可以得到稀疏主成分分析的模型为
$ F = 0.531{F_1} + 0.209{F_2} + 0.135{F_3} + 0.125{F_4}. $ |
利用TL1罚稀疏主成分分析的阈值迭代函数对主成分分析的主成分进行处理, 得到TL1罚稀疏主成分对应的系数及相应的方差贡献率, 如表 2所示.
主成分变量 | 第一稀疏主成分 | 第二稀疏主成分 | 第三稀疏主成分 | 第四稀疏主成分 |
1 | -0.146 815 105 | 0 | 0 | 0 |
2 | -0.146 920 094 | 0 | 0 | 0 |
3 | 0 | 0 | 0 | 0 |
4 | -0.182 074 7 | 0 | 0 | 0 |
5 | -0.176 649 347 | 0 | 0 | 0 |
6 | 0 | 0 | -0.126 936 244 | -0.093 485 181 |
7 | 0 | 0 | 0.199 355 549 | 0 |
8 | -0.170 652 381 | 0 | 0 | 0 |
9 | 0 | 0.280 862 01 | 0 | 0 |
10 | 0 | 0 | 0.173 410 058 | -0.191 011 948 |
11 | 0 | 0 | 0 | 0.569 873 953 |
12 | 0 | 0 | 0.090 380 95 | 0 |
13 | 0 | -0.215 614 64 | -0.176 657 46 | 0.058 554 974 |
14 | 0 | -0.241 078 003 | 0 | 0.087 073 945 |
15 | -0.176 888 373 | 0 | 0 | 0 |
16 | 0 | 0.262 445 347 | -0.233 259 739 | 0 |
贡献率/% | 54.07 | 13.63 | 7.01 | 8.28 |
累计贡献率/% | 54.07 | 67.70 | 74.71 | 82.99 |
TL1罚稀疏主成分的形式为
$ {{\hat F}_i} = \mathit{\boldsymbol{\beta }}_i^{\rm{T}}\mathit{\boldsymbol{x}}. $ |
其中,
与表 1相同, 表 2中主成分具有稀疏性, 且零的个数越多, 稀疏主成分越稀疏.由表 1和表 2可知, 稀疏主成分分析和TL1罚稀疏主成分分析都具有稀疏性, 且两者稀疏性基本相同, 但在方差累计贡献率方面, TL1罚稀疏主成分分析略高于稀疏主成分分析.
根据所得的稀疏主成分和方差贡献率, 可以得到TL1罚稀疏主成分分析的模型为
$ \hat F = 0.651{{\hat F}_1} + 0.164{{\hat F}_2} + 0.086{{\hat F}_3} + 0.099{{\hat F}_4}. $ |
由上述所得的两种模型, 根据常见蔬菜各种膳食纤维营养的含量, 计算每种蔬菜的各主成分得分, 再利用主成分分析(PCA)、稀疏主成分分析(SPCA) 和TL1罚稀疏主成分分析(TLPCA) 的主成分模型对已知的蔬菜主成分得分进行排序.结果如表 3所示.
序号 | SPCA | PCA | TLPCA | 序号 | SPCA | PCA | TLPCA |
1 | 榨菜 | 蘑菇 | 茄子 | 14 | 蒜苗 | 蒜苗 | 青椒 |
2 | 茄子 | 榨菜 | 蘑菇 | 15 | 圆白菜 | 韭菜 | 西红柿 |
3 | 木耳 | 木耳 | 木耳 | 16 | 韭菜 | 生菜 | 油菜 |
4 | 蘑菇 | 香菇 | 香菇 | 17 | 生菜 | 黄瓜 | 菜花 |
5 | 香菇 | 茄子 | 榨菜 | 18 | 菜花 | 丝瓜 | 苦瓜 |
6 | 土豆 | 油菜 | 胡萝卜 | 19 | 丝瓜 | 南瓜 | 丝瓜 |
7 | 胡萝卜 | 小白菜 | 菠菜 | 20 | 竹笋 | 竹笋 | 圆白菜 |
8 | 菠菜 | 大白菜 | 土豆 | 21 | 南瓜 | 冬瓜 | 竹笋 |
9 | 大白菜 | 萝卜 | 韭菜 | 22 | 黄瓜 | 菜花 | 大白菜 |
10 | 油菜 | 芹菜 | 生菜 | 23 | 西红柿 | 西红柿 | 黄瓜 |
11 | 小白菜 | 菠菜 | 小白菜 | 24 | 冬瓜 | 苦瓜 | 萝卜 |
12 | 芹菜 | 土豆 | 南瓜 | 25 | 青椒 | 青椒 | 冬瓜 |
13 | 萝卜 | 圆白菜 | 蒜苗 | 26 | 苦瓜 | 胡萝卜 | 芹菜 |
由表 3可知, 主成分分析、稀疏主成分分析和TL1罚稀疏主成分分析对蔬菜的排序结果相差不大.其中, 排名前五的蔬菜均为蘑菇、榨菜、木耳、香菇和茄子.
3 结束语用TL1罚函数
[1] |
何晓群.
现代统计分析方法与应用[M]. 第三版. 北京: 中国人民大学出版社, 2004: 115-141.
HE X Q. Method and application of modern statistical analysis[M]. 3 ed. Beijing: China Renmin University Press, 2004: 115-141. |
[2] |
李靖华, 郭耀煌. 主成分分析用于多指标评价的方法研究--主成分评价[J].
管理工程学报, 2002, 16(1): 39-44 LI J H, GUO Y H. Principal component evaluation--A multivariate evaluate method expanded from principal component analysis[J]. Journal of Industrial, 2002, 16(1): 39-44 |
[3] |
侯圆圆, 王礼李. 基于主成分分析基础上的中国家庭蔬菜消费预测[J].
统计与决策, 2010(23): 91-93 HOU Y Y, WANG L L. Base on principal component analysis on the basis of Chinese family vegetable consumption forecast[J]. Statistics and Decision, 2010(23): 91-93 |
[4] |
李莉, 孙永霞. 基于均值化主成分分析的雾霾环境分析与研究[J].
计算机应用研究, 2015, 32(5): 1373-1375 LI L, SUN Y X. Haze environment analysis and research based on equalization of principal component analysis[J]. Application Research of Computers, 2015, 32(5): 1373-1375 |
[5] |
赵希男. 主成分分析法评价功能浅析[J].
系统工程, 1995, 13(2): 24-27 ZHAO X N. Analysis of the evaluation effect on the principal component analysis method[J]. Systems Engineering, 1995, 13(2): 24-27 |
[6] | TIBSHIRANI R. Regression shrinkage and selection via the lasso[J]. Journal of the Royal Statistical Society:Series B (Methodological), 1996, 58(1): 267-288 |
[7] | JOLLIFFE I T, TRENDAFILOV N T, UDDIN. A modified principal component technique based on the LASSO[J]. Journal of Computational and Graphical Statistics, 2003, 12(3): 531-547 DOI:10.1198/1061860032148 |
[8] | ZOU H, HASTIE T. Regularization and variable selection via the elastic net[J]. Journal of the Royal Statistical Society:Series B (Statistical Methodilogy), 2005, 67(2): 301-320 DOI:10.1111/rssb.2005.67.issue-2 |
[9] | ZOU H, HASTIE T, THBSHIRANI R. Sparse principal component analysis[J]. Journal of Computational and Graphical Statistics, 2006, 15(2): 265-285 DOI:10.1198/106186006X113430 |
[10] |
喻胜华, 张新波. 稀疏主成分在综合评价中的应用[J].
财经理论与实践, 2009, 30(161): 106-109 YU S H, ZHANG X B. The application of sparse principal component analysis in comprehensive assessment[J]. The Theory and Practice of Finance and Economics, 2009, 30(161): 106-109 |
[11] |
周静, 武忠祥. 基于稀疏主成分的股票指数追踪研究[J].
工程数学学报, 2013, 30(2): 159-168 ZHOU J, WU Z X. Research of tracking stock index with sparse principal component[J]. Chinese Journal of Engineering Mathematics, 2013, 30(2): 159-168 |
[12] |
沈宁敏, 李静, 周培云, 等. 一种基于稀疏主成分的基因表达数据特征提取方法[J].
计算机科学, 2015, 42(6A): 453-458 SHEN N M, LI J, ZHOU P Y. Feature extraction method based on sparse component for gene expression data[J]. Computer Science, 2015, 42(6A): 453-458 |
[13] | NIKOLOVA M. Local strong homogeneity of a regularized estimator[J]. SIAM J Appl Math, 2000, 61(2): 633-658 DOI:10.1137/S0036139997327794 |
[14] | LYU J, FAN Y. A unified approach to model selection and sparse recovery using regularized least squares[J]. Annals of Statistics, 2009, 37(6A): 3498-3528 DOI:10.1214/09-AOS683 |
[15] |
常象宇, 饶过, 吴一戎, 等. 如何在压缩感知中正确使用阈值迭代算法[J].
中国科学, 2010, 40(1): 1-12 CHANG X Y, RAO G, WU Y R, et al. How to correct use in compression perception thresholding iterative algorithm[J]. Science in Chinese, 2010, 40(1): 1-12 |
[16] | ZHANG S, XIN J.Minimization of transformed L1 penalty:Theory difference of covex function algorithm, and robust application in compressed sensing[J].Cornell University Library, arXiv:1411.5735. |