studio robusta regresion polinomial multiple modelo lineal ejemplos cuadratica r regression linear-regression lm

robusta - Regresión lineal con una intercepción fija conocida en R



regresion polinomial en r (3)

Quiero calcular una regresión lineal usando la función lm () en R. Además, quiero obtener la pendiente de una regresión, donde explícitamente le doy el intercepto a lm() .

Encontré un ejemplo en Internet y traté de leer la R-help "? Lm" (lamentablemente no puedo entenderlo), pero no tuve éxito. ¿Alguien puede decirme dónde está mi error?

lin <- data.frame(x = c(0:6), y = c(0.3, 0.1, 0.9, 3.1, 5, 4.9, 6.2)) plot (lin$x, lin$y) regImp = lm(formula = lin$x ~ lin$y) abline(regImp, col="blue") # Does not work: # Use 1 as intercept explicitIntercept = rep(1, length(lin$x)) regExp = lm(formula = lin$x ~ lin$y + explicitIntercept) abline(regExp, col="green")

Thanls por tu ayuda


He usado tanto offset como I (). También considero que es más fácil trabajar con compensación (como BondedDust) ya que puedes configurar tu intercepto.

Asumiendo Interceptar es 10.

plot (lin$x, lin$y) fit <-lm(lin$y~0 +lin$x,offset=rep(10,length(lin$x))) abline(fit,col="blue")


Podría restar el intercepto explícito de los regresos y luego ajustar el modelo libre de intercepción:

> intercept <- 1.0 > fit <- lm(I(x - intercept) ~ 0 + y, lin) > summary(fit)

El 0 + suprime el ajuste del intercepto por lm .

editar Para trazar el ajuste, use

> abline(intercept, coef(fit))

PD Las variables en su modelo se ven al revés: generalmente es y ~ x , no x ~ y (es decir, las regresas deben ir a la izquierda y las regresoras a la derecha).


Veo que ha aceptado una solución usando I (). Pensé que una solución basada en offset () podría haber sido más obvia, pero los gustos varían y después de trabajar con la solución offset puedo apreciar la economía de la solución I ():

with(lin, plot(y,x) ) lm_shift_up <- lm(x ~ y +0 + offset(rep(1, nrow(lin))), data=lin) abline(1,coef(lm_shift_up))