Ich versuche, eine lineare Regression zu machen, aber ich versuche nur, Variablen mit positiven Koeffizienten zu verwenden (ich glaube, das nennt man Hard-Thresholding, aber ich bin mir nicht sicher).R Gibt es eine Möglichkeit, Thresholding in der linearen Regression durchzuführen?
zum Beispiel:
> 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 ***
In der obigen Regression, ich mag nur Modelle verwenden, 3802, 8004 und 8005. Gibt es eine Möglichkeit, dies ohne das Kopieren zu tun und Einfügen jeden Variablennamen?
Sie können '? Coef' überprüfen. Aber wenn Sie Variablen mit einem negativen Koeffizienten entfernen und die Regression neu berechnen, kann sich das Vorzeichen der verbleibenden Koeffizienten ändern. –