
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@gmail.com