gpt4 book ai didi

R:glmnet:强制系数为某个符号

转载 作者:行者123 更新时间:2023-12-05 00:19:27 24 4
gpt4 key购买 nike

我有一个非常大的矩阵,所以我使用 glmnet 进行回归。
我有一个条件,带有 p 的名称必须具有正系数,带有 n 的名称必须具有负系数。

我怎样才能在 glmnet 中强制这种情况?
下面是一个小例子作为说明:

library(glmnet)

y <- cumsum(sample(c(-1, 1),100, TRUE))
p1 <- cumsum(sample(c(-1, 1),100, TRUE))
p2 <- cumsum(sample(c(-1, 1),100, TRUE))
p3 <- cumsum(sample(c(-1, 1),100, TRUE))
n1 <- cumsum(sample(c(-1, 1),100, TRUE))
n2 <- cumsum(sample(c(-1, 1),100, TRUE))

df1 <- data.frame(y,p1,p2,p3,n1,n2)
df1




y <- as.matrix(df1[,1])
x <- as.matrix(df1[,-1])

fit1=glmnet(x,y)

coefall <- coef(fit1,s=0.005)

感谢您的帮助。

最佳答案

来自 ?glmnet :

Arguments:

...

lower.limits: Vector of lower limits for each coefficient; default ‘-Inf’. Each of these must be non-positive. Can be presented as a single value (which will then be replicated), else a vector of length ‘nvars’

upper.limits: Vector of upper limits for each coefficient; default ‘Inf’. See ‘lower.limits’



要限制您的参数,您必须调用:
fit1=glmnet(x, y, lower.limits=c(0,   0,   0,   -Inf, -Inf), 
upper.limits=c(Inf, Inf, Inf, 0, 0))

关于R:glmnet:强制系数为某个符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35927521/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com