gpt4 book ai didi

R 有没有办法在线性回归中进行阈值处理?

转载 作者:行者123 更新时间:2023-12-04 11:47:25 25 4
gpt4 key购买 nike

我正在尝试进行线性回归,但我只想使用具有正系数的变量(我认为这称为硬阈值处理,但我不确定)。

例如:

> summary(lm1)

Call:
lm(formula = value ~ ., data = intCollect1[, -c(1, 3)])

Residuals:
Min 1Q Median 3Q Max
-15.6518 -0.2089 -0.0227 0.2035 15.2235

Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.099763 0.024360 4.095 4.22e-05 ***
modelNum3802 0.208867 0.008260 25.285 < 2e-16 ***
modelNum8000 -0.086258 0.013104 -6.582 4.65e-11 ***
modelNum8001 -0.058225 0.010741 -5.421 5.95e-08 ***
modelNum8002 -0.001813 0.012087 -0.150 0.880776
modelNum8003 -0.083646 0.011015 -7.594 3.13e-14 ***
modelNum8004 0.002521 0.010729 0.235 0.814254
modelNum8005 0.301286 0.011314 26.630 < 2e-16 ***

在上面的回归中,我只想使用模型 3802、8004 和 8005。有没有一种方法可以在不复制和粘贴每个变量名称的情况下执行此操作?

最佳答案

除了使用 lm,您还可以根据二次规划来表述您的问题:

在线性系数均为正的约束条件下,最小化复制误差的平方和。

此类问题可以使用 limSolve 包中的 lsei 来解决。查看您的示例,它看起来很像这样:

x.variables <- c("modelNum3802", "modelNum8000", ...)
num.var <- length(x.variables)

lsei(A = intCollect1[, x.variables],
B = intCollect1$value,
G = diag(num.var),
H = rep(0, num.var))

关于R 有没有办法在线性回归中进行阈值处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9915757/

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