Pessoal,
quero encontrar o horizonte de previsões, usando o expoente de Lyapunov.
O exemplo proposto no R, a serie de lorenz.ts funciona. Porém, quando troco pela minha variável que estou predizendo, da erro. Gostaria de entender qual parâmetro estou colocando errado. Segue o código mínimo reproduzível.
#=====================================
set.seed(22)
y_obs <- 1:100 + rnorm(100,mean=0, sd=5) # supondo essa ser a variavel observada (100 observações temporais)
y_estimado <- 1:80
# supondo essa ser a variavel estimada, até o tempo 80
y_pred <- 81:100 + rnorm(20,mean=0, sd=3) # suponha que usando uma rede recorrente chegue nesse resultado, como codigo minimo reproduzido, #simplifiquemos com uma rnorm com tendencia linear, para predição usando 80 tempos de predição
plot(y_obs)
points(1:80,1:80, type = "l")
points(81:100,y_pred, type = "l", col="blue")
legend("topleft", c("Observado","Estimado", "Predito"),
col=c("black","black", "blue"), pch = c(1,NA, NA), lty = c(NA,1, 1))
# Horizonte de predicao usando o expoente de Lyapunov
require("tseriesChaos")
y_pred = as.ts(y_pred)
output <-lyap_k(y_pred, m=3, d=2, s=200, t=2, ref=2, k=2, eps=4)
par = lyap(output, 0.73, 2.47)
lambda = par[2]
plot(output)
#===================================
O erro é esse:
> output <-lyap_k(y_pred, m=3, d=2, s=200, t=2, ref=2, k=2, eps=4)
Finding nearests
Error in find_knearests(series, m = m, d = d, t = t, ref = length(ref), :
cannot allocate memory block of size 134217728 Tb
OBS: No meu caso, já havia testado e a dimensão m e d, são exatamente 3 e 2. Porém, não sei como controlar os demais parâmetros.
Fico no aguardo, se alguém conseguir me explicar o problema.
Agradeço e obrigado.