Estoy tratando de averiguar cómo funciona la función de log-verosimilitud para la regresión lineal. He encontrado la fórmula aquí y aquí . Haciendo algunos experimentos con él (ver código más abajo), me sorprendió bastante que la probabilidad utiliza SSE/n
en lugar de MSE
( SSE/df
). MSE
¡se utilizó en todas partes hasta ahora! Yo pensaba que el MSE es un estimador mucho mejor de $\sigma^2$ mencionado en la fórmula en el 1er recurso (página 6) - la varianza residual real. Pero la 2º recurso y mi experimento dice claramente que $\sigma^2$ se define como SSE/n
(donde n es la longitud del vector de la variable de resultado).
Aquí está el código para jugar:
set.seed(128)
y = c(rnorm(200, 20, 4), rnorm(300, 30, 4), rnorm(400, 40, 4), rnorm(500, 50, 4))
cat1 = as.factor(c(rep(1, 200), rep(2, 300), rep(3, 400), rep(4, 500)))
rand_order = sample(1:length(cat1))
cat2 = cat1[rand_order]
cat2y = c(rep(1, 200), rep(-2, 300), rep(3, 400), rep(-4, 500))
y = y + cat2y[rand_order]
m1 = lm(y ~ 0 + cat1 + cat2)
# logLik using residual degrees of freedom (-3941.94):
-length(m1$model$y)/2*log(2*pi) - length(m1$model$y)/2*log(sum((m1$residual)^2)/m1$df.residual) - 1/2*m1$df.residual
# logLik using N (-3941.931)
-length(m1$model$y)/2*log(2*pi) - length(m1$model$y)/2*log(sum((m1$residual)^2)/length(m1$model$y)) - 1/2*length(m1$model$y)
# real logLik (-3941.931)
logLik(m1)