Entendi, realmente não deu certo essa minha ideia, vou proceder com o mtsdi. Obrigado pela ajuda Éder. Abraço
Em 5 de maio de 2015 16:53, Éder Comunello <[email protected]> escreveu: > Wagner, boa tarde! > > Eu não recomendo usar splinefun() porque a calibração do modelo feita na > execução de mnimput() é bem mais sofisticada. O objeto imput é o > próprio objeto miss2 com as falhas preenchidas com base na covariância e > comportamento temporal das séries. Já é o produto final, não precisa > ajustar por splinefun(). > > Se você fizer imput-miss2 verá que a diferença é 0 para todos valores > iniciais e um novo valor será imputado para todos os casos onde havia NA. > > O procedimento que postei faz uma avaliação geral da qualidade do ajuste > pras 5 séries porque exige menor quantidade de pontos de teste. Daria pra > fazer uma avaliação de cada série, mas teria que reservar uma quantidade > significativa de pontos de cada série, o que pode impactar no modelo. > > Além do mais, se você utilizar splinefun() pra predizer valores > utilizados na calibração, vai retornar os próprios valores utilizados... > fun <- splinefun(sel.obs, sel.pre) > all.equal(fun(sel.obs), sel.pre) ### [1] TRUE > > Notar que: > args(splinefun) > ### function (x, y = NULL, method = c("fmm", "periodic", "natural", > ### "monoH.FC", "hyman"), ties = mean) > > A forma que segue é coerente, mas os resultados não são tão animadores > quanto os retornados por mtsdi::mnimput() > fun2 <- splinefun(miss[notNA]) ### ajusta uma spline em função dos dados > disponíveis > sel.pre2 <- fun2(sel.obs) ### usa a splinefun pra estimar os dados > reservados > ggof(sel.pre2,sel.obs) ### avalia predições comparando com dados > reservados ("verdade") > > [image: Imagem inline 1] > > > Éder Comunello <c <[email protected]>[email protected]> > Dourados, MS - [22 16.5'S, 54 49'W] > > Em 5 de maio de 2015 13:57, Wagner Wolff <[email protected]> escreveu: > >> Olá Éder vou tentar esclarecer com seu exemplo, minhas modificações estão >> em negrito. >> >> require(mtsdi) >> data(miss) >> notNA <- which(!is.na(miss), arr.ind=T) ### valores presentes >> set.seed(333); sel.pos <- notNA[sample(nrow(notNA), 20),] ### reservando >> 20 valores >> sel.obs <- miss[sel.pos] ### valores reservados >> >> miss2 <- miss >> miss2[sel.pos] <- NA ### "exclui" valores reservados >> f <- ~c31+c32+c33+c34+c35 >> i <- mnimput(f,miss2,eps=1e-3,ts=TRUE, >> method="spline",sp.control=list(df=c(7,7,7,7,7))) >> summary(i) >> imput <- data.frame(predict(i)) >> sel.pre <- imput[sel.pos] ### predição referente aos 20 >> valores reservados >> >> cbind(sel.pre, sel.obs) ### comparação >> library(hydroGOF) >> ggof(sel.pre,sel.obs) >> >> >> >> *fun.cal <- splinefun(sel.pre,sel.obs) ## função para >> calibrarsel.pre.cal <- fun.cal(sel.obs)* >> >> *## calcular valores preditos após calibração* >> >> *## Assim usaria a função fun.cal para calibrar outros valores imputados >> do mesmo banco de dados.* >> >> *Entretanto, não foi útil, pois quando uso para outros valores imputados >> houve aumento no erro* >> >> Em 5 de maio de 2015 10:40, Éder Comunello <[email protected]> >> escreveu: >> >>> Wagner, bom dia! >>> >>> Não entendi exatamente o que você está buscando. Teria dados pra um >>> exemplo mais prático? >>> >>> Por exemplo, você quer completar dados de uma série de chuva em >>> particular e dispõe dados de quatro estações próximas, assumindo algum grau >>> de correlação/covariância entre elas? Sua preocupação é saber quão "boa" >>> foi a predição ou algo assim? >>> >>> >>> Éder Comunello <c <[email protected]>[email protected]> >>> Dourados, MS - [22 16.5'S, 54 49'W] >>> >>> >>> >>> _______________________________________________ >>> R-br mailing list >>> [email protected] >>> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br >>> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça >>> código mínimo reproduzível. >>> >> >> >> _______________________________________________ >> R-br mailing list >> [email protected] >> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br >> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça >> código mínimo reproduzível. >> > > > _______________________________________________ > R-br mailing list > [email protected] > https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br > Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça > código mínimo reproduzível. >
_______________________________________________ R-br mailing list [email protected] https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
