[R-br] Problemas no ajuste de semivariogramas teóricos

Paulo Justiniano paulojus em leg.ufpr.br
Segunda Maio 5 10:08:40 BRT 2014


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
> 
> 
>


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