(Mis) procesos puntuales con glm
Lo que escribí hace un par de días sobre procesos puntuales, ahora me doy cuenta, podía haberse resuelto con nuestro viejo amigo glm
.
Ejecuto el código del otro día y obtengo (para un caso nuevo)
mu alfa verosimilitud delta
1 0.4493158 0.50000000 340.6141 1
2 0.2675349 0.40457418 307.3939 2
3 0.1894562 0.28917407 293.4696 3
4 0.1495654 0.22237707 287.0784 4
5 0.1243791 0.18079703 281.3900 5
6 0.1142837 0.14913172 284.9227 6
7 0.1217504 0.12150745 288.5448 7
8 0.1214365 0.10424818 289.3282 8
9 0.1204605 0.09148817 290.9081 9
10 0.1315896 0.07857330 295.3935 10</code>
que significa que el parámetro óptimo es delta = 5
, mu = 0.124
y alfa = 0.18
.
Ahora hago
cuantos.previos <- function(i, muestra, delta){
indices <- Filter(function(x) x < i & x > i - delta, 1:n)
cuantos <- sum(muestra[indices])
}
fit.glm <- function(delta){
prev <- sapply(1:length(muestra),
cuantos.previos, muestra, delta)
dat <- data.frame(muestra = muestra, prev = prev)
res.glm <- glm(muestra ~ prev, data = dat,
family = poisson(link = "identity"))
c(delta, res.glm$coefficients, summary(res.glm)$aic)
}
res.glm <- sapply(1:10, fit.glm)
res.glm <- as.data.frame(t(res.glm))
colnames(res.glm) <- c("delta", "mu", "alfa", "aic")
y obtengo