[R-br] Problemas no ajuste de semivariogramas teóricos
Paulo Justiniano
paulojus em leg.ufpr.br
Segunda Maio 5 15:31:55 BRT 2014
> Os dados são do dataset JURA mesmo, compreendi as suas explicações.
> Com relação ao ajuste por verossimilhança tenho duas dúvidas:
> Não foi especificado o argumento cov.model neste caso, em qual modelo ele ajusta?
por defaulot o modelo exponencial (que é o mesmo que matern com kappa=0.5)
> O valor do lambda deveria ser lam=-0.2, com o valor positivo não estava conseguindo plotar o resultado.
>
de fato, falha minha, favor corrigir comandos!!!!!
> Obrigado pela ajuda, esse grupo tem sido muito importante para minha evolução com o R.
>
> Hélder Gramacho
> Recife-PE / agrohelder em gmail.com
>
>
>
> Em 5 de maio de 2014 10:08, Paulo Justiniano <paulojus em leg.ufpr.br> escreveu:
> os dados (dataset JURA?) são EXTREMAMENTE assimétricos e o variograma usual nao vai ter bom comportamento e não é surpresa que
> ajuste o modelo com efeito pepita puro
>
> seguem algums comandos com algumas ideias explorando uma possivel trensformação de variáveis
>
> 2 comentarios adicionais:
> 1. se o variograma é omnidirecional (default) o argumento tolerance nao é usada
>
> 2. no eixo dis do veriograma (ao final) o xlab deve ser distancia (e nao alcance)
>
>
>
>
> ##
> plot(cobre)
> summary(cobre)
> ##
> require(MASS)
> boxcox(cobre, lam=seq(-1, 1, len=50))
>
> ##
> var.cu0 <- variog(cobre,uvec=seq(0.1,3,l=10), estimador.type="classical",
> lam=-0.2, max.dist=2)
> plot(var.cu0, xlab="distância", ylab="semivariância",main='Cobre',font.main= 3)
>
> ## ajuste de variogramas.... talvez manos adequado....
> exp.ols.cu0<-variofit(var.cu0,ini=c(0.2, 0.5),weights="equal",
> cov.model="exp")
> exp.ols.cu0
> plot(var.cu0, xlab='Distância', ylab='Semivariância', main='Semivariograma OLS
> - Exponencial')
> lines(exp.ols.cu0, col="blue")
> summary(exp.ols.cu0)
>
>
> ## ajuste por verossimilhança (eu considero preferivel)
> cu0.ml <- likfit(cobre, ini=c(0.5, 0.1), lam=0.2)
> cu0.ml
>
> PJ
>
> On Fri, 2 May 2014, Helder Gramacho wrote:
>
> Boa noite pessoal,
>
> Gostaria de uma ajuda, estou tentando fazer o ajuste de semivariogramas teóricos pelo método dos mínimos quadrados, entretanto, aparentemente
> não está sendo
> possível realizar o ajuste, ficando como na figura abaixo.
> Será que se trata de algum problema com o código que estou executando, ou os dados é que não permitem mesmo o ajuste.
> Reproduzi o código abaixo da figura e o arquivo está no Dropbox.
>
> Desde já agradeço qualquer ajuda,
>
> Imagem inline 1
> # Download de um arquivo do Dropbox
>
> links <- c("https://www.dropbox.com/s/8blubgumcsss834/cobre.csv")
>
> tokens <- gsub("^.*/s/","",dirname(links))
> fileNames <- basename(links)
> newLinks <- file.path("http://dl.dropbox.com/s", tokens, fileNames);
> newLinks
>
> for (a in newLinks) {
> tryCatch(download.file(a, dest=basename(a), mode='wb'),
> error=function(...) print("Falha no download!"))}
>
> cobre<-read.table(file="cobre.csv", sep=",", header=T, dec=".")
> attach(cobre)
> cobre<-as.geodata(cbind(cobre$V1,cobre$V2,cobre$V3))
>
> # Semivariograma Experimental
> par(mfrow=c(1,1),xpd=F)
> var.cu<-variog(cobre,uvec=seq(0.1,3,l=10),pairs.min=30,estimador.type="classical", direction="omnidirectional",tolerance=pi/8)
> plot(var.cu, xlab="distância", ylab="semivariância",main='Cobre',font.main = 3)
>
> #--------------------------------------------------------------------------------------------------------
> # Ajustando Semivariograma Teórico pelo Método dos Mínimos Quadrados
> #--------------------------------------------------------------------------------------------------------
> # Modelo exponencial
> exp.ols.cu<-variofit(var.cu,ini=c(235, 0.41),weights="equal", cov.model="exp")
> exp.ols.cu
> plot(var.cu, xlab='Alcance', ylab='Semivariância', main='Semivariograma OLS - Exponencial')
> lines(exp.ols.cu, col="blue")
> summary(exp.ols.cu)
>
> ## Modelo esférico
> sph.ols.cu<-variofit(var.cu,ini=c(235, 0.41),weights="equal", cov.model="sph")
> sph.ols.cu
> plot(var.cu, xlab='Alcance', ylab='Semivariância', main='Semivariograma OLS - Esférico')
> lines(sph.ols.cu, col="blue")
> summary(sph.ols.cu)
>
> ## Modelo gaussiano
> gaus.ols.cu<-variofit(var.cu,ini=c(235, 0.41),weights="equal", cov.model="gaus")
> gaus.ols.cu
> plot(var.cu, xlab='Alcance', ylab='Semivariância', main='Semivariograma OLS - Gaussiano')
> lines(gaus.ols.cu, col="blue")
> summary(gaus.ols.cu)
> Hélder Gramacho
> Recife-PE / agrohelder em gmail.com
>
>
>
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br
> 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.
>
>
>
>
Mais detalhes sobre a lista de discussão R-br