找回密码
 注册
查看: 410|回复: 0

R语言 scout包 crossProdLasso()函数中文帮助文档(中英文对照)

[复制链接]
发表于 2012-9-29 22:59:57 | 显示全部楼层 |阅读模式
crossProdLasso(scout)
crossProdLasso()所属R语言包:scout

                                        Performs the lasso on the cross product matrices X'X and X'y
                                         在叉乘上的产品矩阵XX和XY执行套索

                                         译者:生物统计家园网 机器人LoveR

描述----------Description----------

Perform L1-regularized regression of y onto X using only the cross-product matrices X'X and X'y. In the case of covariance-regularized regression, this is useful if you would like to try out something other than L1 or L2 regularization of the inverse covariance matrix.
执行L1-正回归的Y到X使用跨产品矩阵的XX和XY。方差正规化回归的情况下,这是非常有用的,如果你想尝试其他的东西比L1或L2协方差矩阵的逆正规化。

Suppose you use your own method to regularize X'X. Then let Sigma denote your estimate of the population covariance matrix.  Now say you want to minimize beta' Sigma  beta - 2 beta' X'y + lambda ||beta||_1 in order to get the regression estimate beta, which maximizes the second scout criterion when an L_1 penalty is used. You can do this by calling crossProdLasso(Sigma, X'y,rho).
假设你用你自己的方法来规范XX。然后让西格玛表示的总体协方差矩阵的估计。现在说你要尽量减少β西格玛β -  2测试版XY +拉姆达| |测试| | _1为了得到回归估计测试版,其中最大的第二L_1罚款的的球探标准时。为此,您可以通过调用crossProdLasso(Sigma公司,XY,ρ)。

If you run crossProdLasso(X'X,X'y,rho) then it should give the same result as lars(X,y)
如果你运行crossProdLasso的(XX,XY,ρ),那么它应该得到相同的结果作为拉斯(X,Y)

Notice that the xtx that you pass into this function must be POSITIVE SEMI DEFINITE (or positive definite) or the problem is not convex and the algorithm will not converge.
注意的的XTX,你通过这个功能必须是半正定(正定)的问题是不凸,该算法不收敛。


用法----------Usage----------


crossProdLasso(xtx,xty,rho,thr=1e-4,maxit=100,beta.init=NULL)



参数----------Arguments----------

参数:xtx
A pxp matrix, which should be an estimate of a covariance matrix. This matrix must be POSITIVE SEMI DEFINITE (or positive definite) or the problem is not convex and the algorithm will not converge.
一个PXP矩阵,这应该是一个估计的协方差矩阵。这个矩阵是半正定(正定)的问题是不凸,该算法不收敛。


参数:xty
A px1 vector, which is generally obtained via X'y.
一个1804546向量,这一般是通过XY。


参数:rho
Must be non-negative; the regularization parameter you are using.
必须为非负数,您所使用的正则化参数。


参数:thr
Convergence threshold.
收敛阈值。


参数:maxit
How many iterations to perform?
多少次迭代执行?


参数:beta.init
If you're running this over a range of rho values, then set beta.init equal to the solution you got for a previous rho value. It will speed things up.
如果你正在运行的Rho值的范围内,然后设置beta.init“的解决方案,你以前的rho数值等于。这将加快速度。


Details

详细信息----------Details----------

If your xtx is simply X'X for some X, and your xty is simple X'y with some y, then the results will be the same as running lars on data (X,y) for a single shrinkage parameter value.
如果您XTX是简单XX一些X,你的的XTY是简单的XY与某个y,那么结果将是相同的运行拉斯的数据(X,Y)为一个单一的收缩参数值。

Note that when you use the scout function with p2=1, the crossProdLasso function is called internally to give the regression coefficients, after the regularized inverse covariance matrix is estimated. It is provided here in case it is useful to the user in other settings.
注意:P2 = 1,当您使用的球探功能,crossProdLasso函数被调用内部的回归系数后,正则逆协方差矩阵估计。这里提供的情况下,它是非常有用的用户在其他设置。


值----------Value----------

<table summary="R valueblock"> <tr valign="top"><td>beta</td> <td> A px1 vector with the regression coefficients.</td></tr> </table>
<table summary="R valueblock"> <tr valign="top"> <TD> beta</ TD> <td>一个1804546的回归系数向量。</ TD> </ TR> </表>


注意----------Note----------

The FORTRAN code that this function links to was kindly written and provided by Jerry Friedman.
FORTRAN代码,这个功能链接到友情编写和提供的杰里·弗里德曼。


(作者)----------Author(s)----------


FORTRAN code by Jerry Friedman.   R interface by Daniela M. Witten and Robert Tibshirani



参考文献----------References----------

regression and classification for high-dimensional problems. Journal

实例----------Examples----------


set.seed(1)
data(diabetes)
attach(diabetes)
# First, let's do scout(2,1) the usual way).[首先,让我们做童军(2,1)通常的方式)。]
scout.out <- scout(x2,y,p1=2,p2=1)
print(scout.out)



# Now, suppose I want to do develop a covariance-regularized regression[现在,假设我想要做开发的协方差正规化回归]
# method as in Section 3.2 of Witten and Tibshirani (2008). It will work[威腾和Tibshirani(2008)第3.2节中的方法。它将工作]
# like this:[是这样的:]
# 1. Develop some positive definite estimate of Sigma[1。制定了一些积极的明确的估计西格玛]
# 2. Find \beta by minimize \beta^T \Sigma \beta - 2 \beta^T X^T y +[2。最小化\测试^ T \测试\适马\β -  2 ^ TX ^ T Y,查找\测试+]
# \lamda ||\beta||_1[\ LAMDA | | \测试| | _1]
# 3. Re-scale \beta.[3。重缩放\ beta版。]

# Step 1:[第1步:]
regcovx <- cov(x2)*(abs(cov(x2))>.005) + diag(ncol(x2))*.01

# Step 2:[步骤2:]
betahat <-  crossProdLasso(regcovx, cov(x2,y), rho=.02)$beta
# Step 3:[步骤3:]
betahat.sc <- betahat*lsfit(x2%*%betahat, y, intercept=FALSE)$coef
print(betahat.sc)

# Try a different value of rho:[尝试不同的Rho值:]
betahat2 <- crossProdLasso(regcovx,cov(x2,y),rho=.04,beta.init=betahat)$beta
plot(betahat,betahat2, xlab="rho=.02",ylab="rho=.04")
detach(diabetes)

转载请注明:出自 生物统计家园网(http://www.biostatistic.net)。


注:
注1:为了方便大家学习,本文档为生物统计家园网机器人LoveR翻译而成,仅供个人R语言学习参考使用,生物统计家园保留版权。
注2:由于是机器人自动翻译,难免有不准确之处,使用时仔细对照中、英文内容进行反复理解,可以帮助R语言的学习。
注3:如遇到不准确之处,请在本贴的后面进行回帖,我们会逐渐进行修订。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|小黑屋|生物统计家园 网站价格

GMT+8, 2024-11-29 20:41 , Processed in 0.020269 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表