(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