[R-br] Predição lenta - Interpolação Kriging

Paulo Justiniano paulojus em leg.ufpr.br
Terça Junho 17 09:41:12 BRT 2014


Ir de 240 para 1200 pontos de preodicao nao deve causar toda esta 
diferenca no tempo de predicao se voce estiver simplesmente obtendo media 
e variancia da preditiva.
Mesmo simulando de preditiva eu nao esperaria este tempo todo

nao tenho familiaridade com alguns objetos que voce está usando
mas talvez valha a pena isoldar dados em formatos mais simples e/ou rodar 
rotinas alternativas de predicao em outros pacotes

On Tue, 17 Jun 2014, Thiago Cesar Lima Silveira wrote:

> 
> 
> Bom dia pessoal,Espero que possam me ajudar.
> 
> Entro em contato para pedir uma ajuda em uma interpolação que estou tentando fazer. 
> Já usei o mesmos comandos abaixo para realizar interpolações de variáveis de um lago por ordinary
> kriging com 240 pontos, sem problemas.
> 
> Agora estou tentando interpolar a batimetria do lago, para tanto criei pontos no limite do lago com
> valor zero,  cerca de 1200 pontos. 
> Usando a mesma metodologia, a predição “predict( )" para o grid passa de 3 horas e não tive paciência
> para esperar mais, visto que as outras vezes que usei a predição para o grid demorou cerca de 2 minutos
> para 240 pontos interpolados.
> Imagino que a quantidade de pontos seja o problema.
> 
> Alguém teria alguma sugestão de caminho que tivesse menos custo computacional, pois acho que a
> quantidade de pontos seja o problema.
> 
> Agradeço desde já a atenção.
> 
> Segue abaixo os comandos utilizados:
> 
> >library(geoR)
> >library(raster)
> >library(gstat)
> >library(rgdal)
> >interpol_pcsand<-data_interpol[,c(1,2,6)]
> 
> >coordinates(interpol_pcsand)<- ~long+lat
> 
> #setting the CRS for the geospatial data, same as the mask and grid 
> >projection(interpol_pcsand)<-'+proj=utm +zone=22 +south +ellps=aust_SA +units=m +no_defs '
> 
> #search for duplicated coords
> >dup.coords(interpol_pcsand$coords)
> 
> #Creating  a gstat object
> >g_pcsand <- gstat(id="pcsand", formula=pcsand ~ 1, data=interpol_pcsand)
> 
> # variogram with eye ball fitting
> > v.eye_sand <- eyefit(variog(as.geodata(interpol_pcsand["pcsand"]), max.dist = 20000))
> 
> #saving a readable file for gstat
> >ve.fit <- as.vgm.variomodel(v.eye[[1]])
> 
> #updating the gstat object
> >g_pcsand <- gstat(g_pcsand, id="pcsand", model=ve.fit_pcsand )
> 
> #predicting to new data
> # grid4 diemensions - 
> #features    : 1630464 
> #extent      : 468333.3, 499983.3, 6634933, 6681223  (xmin, xmax, ymin, ymax)
> #coord. ref. : +proj=utm +zone=22 +south +ellps=aust_SA +units=m +no_defs 
> >p_pcsand <- predict(g_pcsand, model=ve.fit_pcsand , newdata=grid4) 
> 
> #write a raster with the interpolated matrix
> rasterpcsand_pred <- rasterFromXYZ(as.data.frame(p_pcsand)[, c("x", "y", "data.pred")])
> 
> #Create raster tif file
> 
> >writeRaster(raster, filename="raster.tif", overwrite=TRUE)
> 
> 
> _________________________________
> Thiago Cesar Lima Silveira
> PhD candidate - Zoology PUCRS - Brazil
> Visitor PhD. student - School of Ocean Sciences -  Bangor University
> Building Westbury Mouth
> Room Nautilus 327
> Menai Bridge - Isle of Anglesey - UK
> Telephone.: 07843 115244
> e-mail: thiago.cesar em acad.pucrs.br
> CV: http://lattes.cnpq.br/5960267776845701
> 
> 
> 
>


Mais detalhes sobre a lista de discussão R-br