Я, по сути, скопировал пример Nile из пакета DLM в R, но на самом деле не понимаю, как он работает / как получены определенные входные данные?
Кто-нибудь использовал указанный пакет, и если да, могут ли они возможно, подробнее о том, что делает каждый элемент из нижеприведенного и как будут получены соответствующие цифры?
nileBuild <- function(par) {
dlmModPoly(1, dV = exp(par[1]), dW = exp(par[2]))
}
nileMLE <- dlmMLE(Nile, rep(0,2), nileBuild); #nileMLE$conv
nileMod <- nileBuild(nileMLE$par)
V(nileMod)
W(nileMod)
nileFilt <- dlmFilter(Nile, nileMod)
nileSmooth <- dlmSmooth(nileFilt)
plot(cbind(Nile, nileFilt$m[-1], nileSmooth$s[-1]), plot.type="s",
col=c("black","red","blue"), ylab="Level", main="Nile river", lwd=c(1,2,2))
s <- dlmSmooth(Nile, dlmModPoly(1, dV = 15100, dW = 1470))
plot(Nile, type ="s")
lines(dropFirst(s$s), col = "red")
Я особенно не понимаю строку nileBuild и что она делает ...... наряду с тем, почему 0 и 2 были выбраны в «rep (0,2)»? Я прочитал документы, которые go с пакетом, но изо всех сил пытаюсь понять это.
Приветствия