Me gustaría ajuste de coeficientes enteros, por ejemplo, sumar 10, a una ecuación de regresión. Los valores absolutos de los coeficientes (es decir, predice y) no son importantes, sólo quiero conservar el apropiado valores relativos. El caso de uso es una fácilmente interpretables sistema de puntuación.
Por ejemplo, esta regresión de los rendimientos de los siguientes coeficientes (haciendo caso omiso de la intersección):
set.seed(0)
y <- rnorm(100)
x <- matrix(rnorm(300), ncol=3)
m <- lm(y ~ x)
(coef <- m$coefficients[-1])
# x1 x2 x3
# 0.12100965 0.05506511 0.14708549
Redondeo con el código de abajo, se obtiene un error de redondeo (sumas a 11):
round(10 * coef / sum(coef))
# x1 x2 x3
# 4 2 5
Un método como este también no garantiza la máxima pesos similares a la ecuación de regresión.
Este fue preguntado aquí sin respuestas satisfactorias, y que podrían ser abordados en este paywalled trabajo de investigación.
Edit: parece Cómo redondear los flotadores para los enteros, mientras que la preservación de su suma? puede ser capaz de ayudar a minimizar el error de redondeo. Si mi pregunta se especifica como minimizar el error de una predicción (en escala) y, estoy seguro de si este es un equivalente de optimización.