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(.) yFm(.)
因此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&ETH 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》

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值