Considere el siguiente código R (que, creo, finalmente llama a algunos Fortran):¿Por qué lm devuelve valores cuando no hay varianza en el valor predicho?
X <- 1:1000
Y <- rep(1,1000)
summary(lm(Y~X))
¿Por qué valores devueltos por resumen? ¿No debería este modelo no encajar ya que no hay varianza en Y? Más importante aún, ¿por qué el modelo R^2 ~ = .5?
Editar
Rastreé el código de lm a lm.fit y puede ver esta llamada:
z <- .Fortran("dqrls", qr = x, n = n, p = p, y = y, ny = ny,
tol = as.double(tol), coefficients = mat.or.vec(p, ny), residuals = y,
effects = y, rank = integer(1L), pivot = 1L:p, qraux = double(p),
work = double(2 * p), PACKAGE = "base")
Eso es donde el ajuste real parece suceder. En cuanto a http://svn.r-project.org/R/trunk/src/appl/dqrls.f) no me ayudó a entender lo que está pasando, porque no sé fortran.
Ah, la R^2 de 0.5 es una pregunta bastante interesante. – Iterator
Creo que voy a girarlo como una pregunta separada, entonces ... – russellpierce