Orthogonal greedy algorithm
OGA是一种对回归模型进行降维的方法,它的思想易于理解,简单来说就是选择最大化削减残差的变量,L2 boosting is thus nothing else than repeated least squarestting of residuals (Friedman 2001)。但是,他的优点是高效快捷,与正则化方法相比,它的速度要快很多,并且对异方差和变量自相关性问题有比较好的表现。
boosting
OGA的诞生从《Boosting With the L2 Loss》Peter Bühlmann & Bin Yu这篇开始,思想来自于L2 boosting
boosting是一种常用的统计学习方法,其思想就是学习多个简单的学习器,将这些学习器进行线性组合,从而提高总体的性能,而L2 boosting是cost function为least square的情况
以下是引用论文中对boosting方法的描述
如果gradient boosting采用的是平方损失函数(L2 boosting),损失函数求梯度计算出来的刚好是残差
y
−
F
m
(
.
)
y-F_m(.)
y−Fm(.)
因此L2 boosting结构就简单许多,而且没有step size
接下来论文就对L2 boosting在光滑样条拟合与回归中的性质进行证明
BOOSTING FOR HIGH-DIMENSIONAL LINEAR MODELS
然后就是《BOOSTING FOR HIGH-DIMENSIONAL LINEAR MODELS》
By Peter Buhlmann ,ETH Z¨urich这篇论文
在提出OGA之前先是提出PGA(Pure greedy algorithm),分别将残差与单个变量进行回归,拟合之前累积模型的残差
Orthogonal greedy algorithm
摘自《A STEPWISE REGRESSION METHOD AND CONSISTENT MODEL SELECTION FOR HIGH-DIMENSIONAL SPARSE LINEAR MODELS》
Ching-Kang Ing & Tze Leung Lai
OGA则是在PGA的基础上对变量进行正交化,从而产生很好的计算特点
用HDIC作为选择变量的数量的标准
OGA的R语言代码
OGA
r中的ohit包可以调用OGA
`library(Ohit)
n = 400 #400组数据
p = 4000 #4000个变量
q = 10 #相关变量个数为10个
beta_1q = c(3, 3.75, 4.5, 5.25, 6, 6.75, 7.5, 8.25, 9, 9.75) #设置10个相关系数
b = sqrt(3/(4 * q))
x_relevant = matrix(rnorm(n * q), n, q) #生成400*10的相关变量
d = matrix(rnorm(n * (p - q), 0, 0.5), n, p - q) #生成3990*10的相关变量
x_relevant_sum = apply(x_relevant, 1, sum)#沿行向量相加
x_irrelevant = apply(d, 2, function(a) a + b * x_relevant_sum)#行上的每一个元素加
X = cbind(x_relevant, x_irrelevant)
epsilon = rnorm(n)
y = as.vector((x_relevant %*% beta_1q) + epsilon)
#实际调用语句
OGA(X, y)
#1到10为实际相关变量`
模拟数据由下面模型构造
总共有p=4000个变量,但数据量为400个,属于n<p的情况,正常的回归无法进行
因变量y实际上只与前十个变量有关,加相互独立的扰动项,并且后面的无关自变量与前十个自变量具有相关性
运行结果
可以看到真正的自变量为1到10,而OGA的结果包含了这十个自变量
Lasso
以上为lasso运行后的结果,可以看到其效果没有OGA那么好
Twohit
详见《Variable Selection for High-Dimensional Regression Models with Time Series and Heteroscedastic Errors》
这篇文章证明Twohit在解决高维变量回归变量选择(时间序列)中异方差问题的性质
由于我不懂时序模型,就不多做解释
模型假设为:
Twohit算法为:
References
摘自:《Boosting With the L2 Loss》Peter Bühlmann & Bin Yu
《BOOSTING FOR HIGH-DIMENSIONAL LINEAR MODELS》 Peter BuhlmannÐ Z¨urich
《A STEPWISE REGRESSION METHOD AND CONSISTENT MODEL SELECTION FOR HIGH-DIMENSIONAL SPARSE LINEAR MODELS》
Ching-Kang Ing and Tze Leung Lai
《Variable Selection for High-Dimensional Regression Models with Time Series and Heteroscedastic Errors》