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
_______________________________________________
R-br mailing list
R-br@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.