Problemas no ajuste de semivariogramas teóricos

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, [image: 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 <agrohelder@hotmail.com>*

Helder, bom dia! Peguei pra dar uma olhada, mas houve um problema com dados. Talvez seja o caso de aumentar o número de casas decimais utilizadas pra gerar o '.csv'. Da forma como está estão ocorrendo muitas duplicatas e algumas com valores muito distintos, o que impacta a estrutura de variação. Sugiro verificar e substituir os dados se for o caso. ### <code r> setwd("C:/LAB/RGIS/geostat") require(geoR) link <- "http://dl.dropbox.com/s/8blubgumcsss834/cobre.csv" if (!file.exists(basename(link))) download.file(link, dest=basename(link), mode='wb') cobre <- read.table(file="cobre.csv", sep=",", header=T, dec=".")[,-1] names(cobre) <- c('x','y','z'); head(cobre) cobre <- as.geodata(cobre) ### ! as.geodata: 13 replicated data locations found. attach(cobre) cobre.dup <- dup.coords(cobre) plot(coords); points(cobre.dup[,2:3], col=2, pch=20) barplot(cobre.dup[,4], col=rep(2:7,each=2), pch=20) ### </code> Éder Comunello <c <comunello.eder@gmail.com>omunello.eder@gmail.com> Dourados, MS - [22 16.5'S, 54 49'W] Em 1 de maio de 2014 23:37, Helder Gramacho <agrohelder@gmail.com> escreveu:
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,
[image: 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 <agrohelder@hotmail.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.

Olá Éder, boa noite! Realmente haviam coordenadas duplicadas, corrigi aumentando o número de casas decimais do arquivo *.csv como você sugeriu. Entretanto, o ajuste do modelo teórico continua apresentando o mesmo problema, segue o código dos dados já corrigidos: ### <code r> link <- "http://dl.dropbox.com/s/8blubgumcsss834/cobre.csv" if (!file.exists(basename(link))) download.file(link, dest=basename(link), mode='wb') cobre<-read.table(file="cobre.csv", sep=",", header=T, dec=".")[,-1] 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) ### </code> obrigado, *Hélder Gramacho * Recife-PE / *agrohelder@gmail.com <agrohelder@hotmail.com>* Em 2 de maio de 2014 12:22, Éder Comunello <comunello.eder@gmail.com>escreveu:
Helder, bom dia!
Peguei pra dar uma olhada, mas houve um problema com dados. Talvez seja o caso de aumentar o número de casas decimais utilizadas pra gerar o '.csv'.
Da forma como está estão ocorrendo muitas duplicatas e algumas com valores muito distintos, o que impacta a estrutura de variação.
Sugiro verificar e substituir os dados se for o caso.
### <code r> setwd("C:/LAB/RGIS/geostat") require(geoR)
link <- "http://dl.dropbox.com/s/8blubgumcsss834/cobre.csv" if (!file.exists(basename(link))) download.file(link, dest=basename(link), mode='wb')
cobre <- read.table(file="cobre.csv", sep=",", header=T, dec=".")[,-1] names(cobre) <- c('x','y','z'); head(cobre) cobre <- as.geodata(cobre) ### ! as.geodata: 13 replicated data locations found.
attach(cobre) cobre.dup <- dup.coords(cobre) plot(coords); points(cobre.dup[,2:3], col=2, pch=20)
barplot(cobre.dup[,4], col=rep(2:7,each=2), pch=20) ### </code>
Éder Comunello <c <comunello.eder@gmail.com>omunello.eder@gmail.com> Dourados, MS - [22 16.5'S, 54 49'W]
Em 1 de maio de 2014 23:37, Helder Gramacho <agrohelder@gmail.com>escreveu:
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,
[image: 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 <agrohelder@hotmail.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.
_______________________________________________ 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.

Caros Hélder e Éder, Pelo visto a variável não tem dependencia espacial, é o que se percebe nos semirariogramas Hélio Em 3 de maio de 2014 01:18, Hélder [via R-br] < ml-node+s2285057n4662046h94@n4.nabble.com> escreveu:
Olá Éder, boa noite!
Realmente haviam coordenadas duplicadas, corrigi aumentando o número de casas decimais do arquivo *.csv como você sugeriu. Entretanto, o ajuste do modelo teórico continua apresentando o mesmo problema, segue o código dos dados já corrigidos:
### <code r> link <- "http://dl.dropbox.com/s/8blubgumcsss834/cobre.csv" if (!file.exists(basename(link))) download.file(link, dest=basename(link), mode='wb')
cobre<-read.table(file="cobre.csv", sep=",", header=T, dec=".")[,-1] 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) ### </code>
obrigado,
*Hélder Gramacho * Recife-PE / *[hidden email] <http://user/SendEmail.jtp?type=node&node=4662046&i=0> *
Em 2 de maio de 2014 12:22, Éder Comunello <[hidden email]<http://user/SendEmail.jtp?type=node&node=4662046&i=1>
escreveu:
Helder, bom dia!
Peguei pra dar uma olhada, mas houve um problema com dados. Talvez seja o caso de aumentar o número de casas decimais utilizadas pra gerar o '.csv'.
Da forma como está estão ocorrendo muitas duplicatas e algumas com valores muito distintos, o que impacta a estrutura de variação.
Sugiro verificar e substituir os dados se for o caso.
### <code r> setwd("C:/LAB/RGIS/geostat") require(geoR)
link <- "http://dl.dropbox.com/s/8blubgumcsss834/cobre.csv" if (!file.exists(basename(link))) download.file(link, dest=basename(link), mode='wb')
cobre <- read.table(file="cobre.csv", sep=",", header=T, dec=".")[,-1] names(cobre) <- c('x','y','z'); head(cobre) cobre <- as.geodata(cobre) ### ! as.geodata: 13 replicated data locations found.
attach(cobre) cobre.dup <- dup.coords(cobre) plot(coords); points(cobre.dup[,2:3], col=2, pch=20)
barplot(cobre.dup[,4], col=rep(2:7,each=2), pch=20) ### </code>
Éder Comunello <[hidden email]<http://user/SendEmail.jtp?type=node&node=4662046&i=2>[hidden email] <http://user/SendEmail.jtp?type=node&node=4662046&i=3>> Dourados, MS - [22 16.5'S, 54 49'W]
Em 1 de maio de 2014 23:37, Helder Gramacho <[hidden email]<http://user/SendEmail.jtp?type=node&node=4662046&i=4>
escreveu:
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,
[image: 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 / * [hidden email] <http://user/SendEmail.jtp?type=node&node=4662046&i=5>*
_______________________________________________ R-br mailing list [hidden email] <http://user/SendEmail.jtp?type=node&node=4662046&i=6> 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.
_______________________________________________ R-br mailing list [hidden email] <http://user/SendEmail.jtp?type=node&node=4662046&i=7> 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.
_______________________________________________ R-br mailing list [hidden email] <http://user/SendEmail.jtp?type=node&node=4662046&i=8> 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.
------------------------------ If you reply to this email, your message will be added to the discussion below:
http://r-br.2285057.n4.nabble.com/R-br-Problemas-no-ajuste-de-semivariograma... To unsubscribe from R-br, click here<http://r-br.2285057.n4.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=3357982&code=aGVsaW9nYWxsb3JvY2hhQGdtYWlsLmNvbXwzMzU3OTgyfC0xMzQ3NTkwMDY4> . NAML<http://r-br.2285057.n4.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
-- Hélio Gallo Rocha IFSULDEMINAS - Câmpus Muzambinho

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

Prof. Paulo Justiniano, boa tarde! 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? O valor do lambda deveria ser lam=-0.2, com o valor positivo não estava conseguindo plotar o resultado. Obrigado pela ajuda, esse grupo tem sido muito importante para minha evolução com o R. *Hélder Gramacho * Recife-PE / *agrohelder@gmail.com <agrohelder@hotmail.com>* Em 5 de maio de 2014 10:08, Paulo Justiniano <paulojus@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@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.

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@gmail.com
Em 5 de maio de 2014 10:08, Paulo Justiniano <paulojus@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@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.

Senhores, boa tarde! Helder, você pode carregar os dados diretamente do dataset jura. Seus dados correspondem à junção dos objetos disponíveis para predição e validação. data(package='gstat', jura) cobre.jura <- rbind(jura.pred, jura.val)[,c(1,2,8)]; head(cobre.jura) Éder Comunello <c <comunello.eder@gmail.com>omunello.eder@gmail.com> Dourados, MS - [22 16.5'S, 54 49'W]

Éder, boa tarde Havia tentado acessar o dataset jura pelo pacote 'compositions' mas este não está disponível para o R 3.0 ; eu estava trabalhando com os dados de uma planilha que consegui no site da disciplina, me ajudou. Obrigado, *Hélder Gramacho * Recife-PE / *agrohelder@gmail.com <agrohelder@hotmail.com>* Em 5 de maio de 2014 16:30, Éder Comunello <comunello.eder@gmail.com>escreveu:
Senhores, boa tarde!
Helder, você pode carregar os dados diretamente do dataset jura. Seus dados correspondem à junção dos objetos disponíveis para predição e validação.
data(package='gstat', jura) cobre.jura <- rbind(jura.pred, jura.val)[,c(1,2,8)]; head(cobre.jura)
Éder Comunello <c <comunello.eder@gmail.com>omunello.eder@gmail.com> Dourados, MS - [22 16.5'S, 54 49'W]
_______________________________________________ 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.
participantes (4)
-
Helder Gramacho
-
Hélio Gallo Rocha
-
Paulo Justiniano
-
Éder Comunello