基于TL1罚的稀疏主成分分析
任佳佳, 李海洋, 张倩     
西安工程大学 理学院, 陕西 西安 710048
摘要: 在稀疏主成分分析的基础上,用TL1罚替代稀疏主成分分析中的L1罚,提出TL1罚稀疏主成分分析,并给出TL1罚稀疏主成分分析的阈值迭代算法.最后,以蔬菜选择为例进行数值模拟,结果表明TL1罚稀疏主成分分析效果更优.
关键词稀疏主成分分析     TL1     阈值迭代算法    
Sparse principal component analysis based on transformed L1 penalty
REN Jiajia, LI Haiyang, ZHANG Qian     
School of Science, Xi'an Polytechnic University, Xi'an 710048, China
Abstract: Transformed L1 penalty sparse principal component analysis was proposed by replacing L1 penalty with transformed L1 penalty based on sparse principal component analysis, and a thresholding iteration algorithm was given for transformed L1 penalty sparse principal component analysis. Finally, taking vegetable selection as an example, the numerical simulation results show that transformed L1 penalty sparse principal component analysis performs better.
Key words: sparse principal component analysis     transformed L1 penalty     iterative thresholding algorithm    
0 引言

主成分分析[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罚函数$\frac{{\left( {a + 1} \right)\left| \mathit{\boldsymbol{\beta }} \right|}}{{a + \left| \mathit{\boldsymbol{\beta }} \right|}}$是介于L0罚和L1罚的一种罚函数.事实上, 当a→0时, TL1罚逼近L0罚; 当a→1时, TL1罚逼近L1/2罚; 当a→∞时, TL1罚逼近L1罚. 2009年, Lv和Fan[14]研究了TL1罚的无偏性、稀疏性和连续性.Xin等在2014年把TL1罚应用到压缩感知[15-16], 并提出了TL1罚函数的阈值迭代函数等.从上述的研究中可以发现, 基于TL1罚优化问题的解要优于基于L1罚优化问题.

本文将TL1罚应用于稀疏主成分分析, 即用TL1罚替代稀疏主成分分析中的L1罚, 对稀疏主成分分析进行改进, 以克服基于L1罚优化问题的不足, 并给出优化模型.然后通过2-范数的性质把TL1罚稀疏主成分分析的求解进行转化.最后利用阈值迭代算法对优化问题(4) 进行求解, 并将该方法应用到蔬菜选择实例中, 结果表明TL1罚稀疏主成分分析具有效果更优.

1 TL1罚稀疏主成分分析

TL1$\frac{{\left( {a + 1} \right)\left| \mathit{\boldsymbol{\beta }} \right|}}{{a + \left| \mathit{\boldsymbol{\beta }} \right|}}$替代稀疏主成分分析中的L1罚函数, 将用TL1$\frac{{\left( {a + 1} \right)\left| \mathit{\boldsymbol{\beta }} \right|}}{{a + \left| \mathit{\boldsymbol{\beta }} \right|}}$替换后所得的稀疏主成分分析称为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)

其中, $\mathit{\boldsymbol{Y}}_i^* = \left( \begin{gathered} {\mathit{\boldsymbol{Y}}_i} \hfill \\ 0 \hfill \\ \end{gathered} \right),{\mathit{\boldsymbol{X}}^*} = \left( \begin{gathered} \mathit{\boldsymbol{X}} \hfill \\ \sqrt {{\lambda _1}\mathit{\boldsymbol{I}}} \hfill \\ \end{gathered} \right),\mathit{\boldsymbol{\beta }}_i^* = {\mathit{\boldsymbol{\beta }}_i}$.

为了求解优化问题(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$\frac{{{a}^{2}}}{2\left( a+1 \right)\mu }$的大小:如果${{\lambda }_{2}}\le \frac{{{a}^{2}}}{2\left( a+1 \right)\mu }$, 令$t={{\lambda }_{2}}\mu \frac{a+1}{a}$, 判断|zn(i)|与t的大小, 若|zn(i)|>t, 则xn+1(i)=gλμ(zn(i)), 若|zn(i)|≤t, 则xn+1(i)=0;如果${{\lambda }_{2}}>\frac{{{a}^{2}}}{2\left( a+1 \right)\mu }$, 令$t=\sqrt{2{{\lambda }_{2}}\mu \left( a+1 \right)}-\frac{a}{2}$, 判断|zn(i)|与t的大小, 若|zn(i)|>t, 则xn+1(i)=gλμ(zn(i)), 若|zn(i)|≤t, 则xn+1(i)=0;

(5) 重复步骤(3)~(4), 当|xn+1(i)-xn(i)| < ε, 或n>3 000时, 停止迭代, 输出xn+1.

2 数值模拟

对研究数据(2014年数学建模D题中常见蔬菜营养成分表中数据) 进行处理, 将蔬菜的种类作为样本, 蔬菜中所含的各种膳食纤维的含量作为变量, 分别进行主成分分析、稀疏主成分分析和TL1罚稀疏主成分分析.分析时,按方差累计贡献率的80%来提取主成分, 提取主成分的个数为4.在此基础上, 利用阈值迭代算法对所提取的主成分进行稀疏主成分分析, 得到稀疏主成分对应的系数矩阵及相应的方差贡献率, 如表 1所示.

表 1 稀疏主成分的系数矩阵和方差贡献率 Table 1 Coefficient matrix and variance contribution ratio of the sparse principal components
主成分变量 第一稀疏主成分 第二稀疏主成分 第三稀疏主成分 第四稀疏主成分
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所示.

表 2 TL1罚稀疏主成分分析的系数矩阵和方差贡献率 Table 2 Coefficient matrix and variance contribution ratio of the TL1 penalty sparse principal components
主成分变量 第一稀疏主成分 第二稀疏主成分 第三稀疏主成分 第四稀疏主成分
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}}. $

其中, ${{\hat{F}}_{i}}$为第i个稀疏主成分, βi为第i个稀疏主成分的系数, i=1, 2, 3, 4, x=(x1, x2, …,x16)′.

表 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所示.

表 3 3种分析方法的主成分得分排序 Table 3 Principal components scores of three methods
序号 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罚函数$\frac{{\left( {a + 1} \right)\left| \mathit{\boldsymbol{\beta }} \right|}}{{a + \left| \mathit{\boldsymbol{\beta }} \right|}}$来替代稀疏主成分分析中的L1罚函数, 利用阈值迭代算法对稀疏主成分分析和TL1罚稀疏主成分分析进行数值实验, 根据所得稀疏主成分和TL1罚稀疏主成分的系数可知, 所得主成分都具有稀疏性, 且两者的稀疏度基本相同, 但TL1罚稀疏主成分分析的方差累计贡献率略高于稀疏主成分分析, 即TL1罚稀疏主成分分析提取原始数据的信息量略多于稀疏主成分分析.利用稀疏主成分分析和TL1罚稀疏主成分分析对常见蔬菜进行营养含量排序, 排序结果基本相同, 即在主要蔬菜选择方面, TL1罚稀疏主成分分析是有效的.综上所述, 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.
西安工程大学、中国纺织服装教育学会主办
0

文章信息

任佳佳, 李海洋, 张倩.
REN Jiajia, LI Haiyang, ZHANG Qian.
基于TL1罚的稀疏主成分分析
Sparse principal component analysis based on transformed L1 penalty
纺织高校基础科学学报, 2016, 29(4): 478-483
Basic Sciences Journal of Textile Universities, 2016, 29(4): 478-483.

文章历史

收稿日期: 2016-04-18

相关文章

工作空间