You are on page 1of 7

Objetivo

O objetivo desse curso apresentar os procedimentos necessrios para se construir Modelos


Dendromtricos. Modelos dendromtricos so modelos empricos utilizados para obter predies de
atributos de rvores individuais que so de mensurao difcil (altura) ou de mensurao destrutiva
(volume, biomassa).
Ao final desse curso voc dever ser capaz de:
1.
2.
3.
4.

ajustar modelos dendromtricos utilizando regresso linear;


verificar a qualidade das predies dos modelos ajustados e selecionar o modelo mais adequado;
gerar predies a partir do modelo selecionado para dados de rvores individuais;
agregar dados de rvores individuais para o nvel de parcela.

Modelos de Relao Hipsomtrica


Inicialmente, necessrio fazer a leitura dos dados que utilizaremos com exemplo para construo de
modelos de relao hipsomtrica no arquivo
exemplo-hispo.csv.
hipso = read.csv("exemplo-hipso.csv",header=T,as.is=T)
head(hipso)
Esses dados se referem a florestas plantads de Eucalyptus grandis. Somente as rvores com alturas
medidas so apresentadas.
A relao altura-dimetro para todo conjunto de dados mostra grande variao, embora tem uma relao
mdia prxima da linear:
scatter.smooth( hipso$dap, hipso$ht, col="red")
Verifiquemos o nmero de rvores por parcela:
table( hipso$regiao, hipso$parcela )
O grande nmero de observaes em algumas parcelas e regies (Pilar do Sul, por exemplo) mostra
que a varivel parcelano representa unicamente as parcelas. necessrio construir uma nova varivel:

hipso$parc = paste(hipso$regiao, hipso$inv, hipso$faz, hipso$proj, hipso$talhao, hipso$parc


head(hipso)
length( table(hipso$parc) )
hist( table(hipso$parc) )

Nota-se que com exceo de uma parcela, todas possuem mais de 10 rvores para ajuste da relao
hipsomtrica.

Anlise Grfica da Relao Hipsomtrica


Para explorar melhor a relao altura-dimetro num nmero grande de parcelas podemos utilizar o pacote
grfico lattice com a funo xyplot:
require(lattice)
xyplot( x = ht ~ dap, data=hipso)
A funo xyplot dois argumentos:
Primeiro: x uma frmula semelhante a que se utiliza para definir um modelo linear na funo lm.
Segundo: data o data frame contendo as variveis.
A construo de grficos atravs de frmulas aumenta muito a flexibilidade na construo de grficos.
Consideremos agora, a possibilidade de construir uma relao hipsomtrica para cada regio. Ser que
obteramos bons modelos?
xyplot( ht ~ dap | regiao, data=hipso)
Note que nessa frmula a barra vertical (|) entra com a idia de condio, isto , construir um grfico
altura-dimetro para cada regio.
Ainda h uma grande variabilidade por regio. Se a relao hipsomtrica for construda para cada
parcela, ser que obteramos bons modelos?
xyplot( ht ~ dap | parc, data=hipso)
Podemos tentar uma forma mais parsimoniosa de construo por regio:
REG = unique( hipso$regiao )
REG
xyplot( ht ~ dap | parc, data=hipso[
xyplot( ht ~ dap | parc, data=hipso[
xyplot( ht ~ dap | parc, data=hipso[
xyplot( ht ~ dap | parc, data=hipso[

hipso$regiao
hipso$regiao
hipso$regiao
hipso$regiao

==
==
==
==

REG[1],
REG[2],
REG[3],
REG[4],

])
])
])
])

Construo de Modelos de Relao Hipsomtrica

A cada grfico podemos fazer corresponder um modelo de relao hipsomtrica.


Um modelo geral de relao hipsomtrica facilmente ajustado:
modgeral.lin = lm( ht ~ dap, data = hipso )
plot(modgeral.lin)
summary(modgeral.lin)
O que os grficos e o resumo falam da qualidade desse modelo?
Podemos nos perguntar se outros modelos, alm do linear, apresentariam um desempenho melhor:
#Modelo Logartmico
modgeral.log = lm( log(ht) ~ log(dap), data = hipso )
plot(modgeral.log)
summary(modgeral.log)
#Modelo Schumacher
modgeral.schu = lm( log(ht) ~ I(1/dap), data = hipso )
plot(modgeral.schu)
summary(modgeral.schu)
#Modelo Parabolide
modgeral.parab = lm( ht ~ dap + I(dap^2), data = hipso )
plot(modgeral.parab)
summary(modgeral.parab)
Podemos tambm construir uma relao hipsomtrica para cada regio:
#Modelo Linear
modreg.lin = lm( ht ~ dap * factor(regiao), data = hipso )
plot(modreg.lin)
summary(modreg.lin)
#Modelo Parabolide
modreg.parab = lm( ht ~ (dap + I(dap^2)) * factor(regiao), data = hipso )
plot(modreg.parab)
summary(modreg.parab)
Houve melhora nos modelos, quando se modela no nvel de regio?
Podemos tambm construir uma relao hipsomtrica para cada parcela:

#Modelo Linear
modpar.lin = lm( ht ~ dap * factor(parc), data = hipso )
plot(modpar.lin)
summary(modpar.lin)
#Modelo Parabolide
modpar.parab = lm( ht ~ (dap + I(dap^2)) * factor(parc), data = hipso )
plot(modpar.parab)
summary(modpar.parab)
Houve melhora nos modelos, quando se modela no nvel de parcela?
Podemos fazer uma comparao de todos os modelos em termos de Coeficiente de Determinao (R2):
summary(modgeral.lin)$r.squared
summary(modgeral.parab)$r.squared
summary(modreg.lin)$r.squared
summary(modreg.parab)$r.squared
summary(modpar.lin)$r.squared
summary(modpar.parab)$r.squared
Ou ento uma comparao geral atravs do teste F, a partir do modelo mais simples at o modelo mais
complexo:
anova(modgeral.lin, modreg.lin, modpar.lin)
anova(modgeral.parab, modreg.parab, modpar.parab)
A comparao dos modelos tambm pode ser realizada em termos de AIC (Akaike Information Criterion):
AIC(modgeral.lin,modgeral.parab, modreg.lin,modreg.parab, modpar.lin,modpar.parab)
Ou de uma forma mais sofisticada, para construir uma tabela mais explicativa:

aic.tab = cbind(AIC(modgeral.lin, modreg.lin, modpar.lin), AIC(modgeral.parab, modreg.parab,


rownames(aic.tab) = c("Geral","Regiao","Parcela")
colnames(aic.tab) = paste(colnames(aic.tab), sort(rep(c("Linear","Parabolico"),2)) )
aic.tab

O que essa srie de comparaes nos diz?

Se verificarmos os resduos dos modelos, veremos que os indicadores de desempenho dos modelos so
coerentes:
#Verificando por Regio
boxplot( residuals(modgeral.parab) ~ regiao, data=hipso , main="Geral", ylim=c(-15,10))
abline(h=0,col="red")
boxplot( residuals(modreg.parab) ~ regiao, data=hipso , main="Regiao", ylim=c(-15,10))
abline(h=0,col="red")
boxplot( residuals(modpar.parab) ~ regiao, data=hipso , main="Parcela", ylim=c(-15,10))
abline(h=0,col="red")

#Verificando por Talho


bwplot( residuals(modgeral.parab) ~ factor(talhao) | regiao , data=hipso , main="Geral", xla
bwplot( residuals(modreg.parab) ~ factor(talhao) | regiao , data=hipso , main="Regio", xlab
bwplot( residuals(modpar.parab) ~ factor(talhao) | regiao , data=hipso , main="Parcela", xla

Exerccio
Trabalhando nesses mesmos dados, verifique se a incluso da varivel idade num modelo geral ou
regional gera desempenho semelhante modelagem por parcela.
Exerccio
Trabalhando nesses mesmos dados, verifique se a incluso da varivel mdia das alturas dominates num
modelo geral ou regional gera desempenho semelhante modelagem por parcela. A mdia das alturas
dominantes necessita ser calculada.

Modelos de Equao de Volume


Como exemplo para construo de equaes de volume, utilizaremos os dados do arquivo
volume-cax.csv:

exemplo-

volcax = read.csv("exemplo-volume-cax.csv",header=T,as.is=T)
head(volcax)
Nesses dados h duas informaes de volume: * volume comercial at o dimetro de 7cm (v7cm), e *
volume comercial at o dimetro de 12cm (v12cm), e
H trs variveis nominais que identificam o caixetal onde foram cubadas as rvores:
regiao: trs regies A (litoral Sul - SP), B (litoral Sul - RJ) e C (Vale do Ribeira);
municip: municpios dos caixetais;

local: cdigo numrico de cada caixetal.


Comecemos com um modelo geral de equao de volume para o volume comercial at 7cm.
# Modelo de Spurr
scatter.smooth( volcax$dap^2*volcax$ht, volcax$v7cm, col="grey20")
v7.spurr = lm( v7cm ~ I(dap^2*ht), data=volcax )
plot(v7.spurr)
summary(v7.spurr)
scatter.smooth( volcax$dap^2*volcax$ht, volcax$v7cm, col="grey20")
abline(coef(v7.spurr), col="green")

# Modelo de Schumacher-Hall
pairs( log(volcax[, c("dap","ht","v7cm")]) )
splom( log(volcax[, c("dap","ht","v7cm")]), panel = function(x,y){ panel.splom(x,y); panel.l
v7.sh = lm( log(v7cm) ~ log(dap) + log(ht), data=volcax )
plot(v7.sh)
summary(v7.sh)

Os grficos diagnsticos revelam que o modelo Spurr tem problema de heteroscedasticidade, enquanto
que o modelo Schumacher-Hall, no tem esse problema e possui distribuio do resduo mais prxima
distribuio Normal.
O coeficiente de determinao tambm sugere que o modelo Schumacher-Hall melhor.

Equaes de Volume com Variveis Qualitativas


Uma questo importante se podemos obter uma equao de volume melhor introduzirmos varivies
qualitativas no modelo. Tomemos como exemplo o modelo Schumacher-Hall:
v7.sh.reg1 = lm( log(v7cm) ~ log(dap) + log(ht) + factor(regiao), data=volcax )
plot(v7.sh.reg1)
summary(v7.sh.reg1)
v7.sh.reg2 = lm( log(v7cm) ~ (log(dap) + log(ht)) * factor(regiao), data=volcax )
plot(v7.sh.reg2)
summary(v7.sh.reg2)
AIC(v7.sh, v7.sh.reg1, v7.sh.reg2)
anova(v7.sh, v7.sh.reg1, v7.sh.reg2)
Qual dos modelos mais apropriado?

Outro aspecto importante saber se podemos dispensar a medio da altura se identificarmos a regio
do caixetal:
v7.sh.dr = lm( log(v7cm) ~ log(dap) * factor(regiao), data=volcax )
plot(v7.sh.dr)
summary(v7.sh.dr)
AIC(v7.sh.dr, v7.sh.reg1)
Qual a concluso?
Exerccio
Utilizando os dados de volume das rvores de caixeta, construa um modelo adequado para o volume
comercial at 12cm (v12cm).
Exerccio
Verifique se o ajuste da equao de volume por caixetal (local) torna dispensvel a medio da altura.

You might also like