Você está na página 1de 39

UNIVERSIDADE ESTADUAL PAULISTA JLIO DE MESQUITA FILHO FACULDADE DE CINCIAS AGRONMICAS DEPARTAMENTO DE RECURSOS NATURAIS CINCIAS FLORESTAIS PROGRAMA

A DE EDUCAO TUTORIAL ENGENHARIA FLORESTAL

Curso bsico de estatstica no Software R

Botucatu, Maro de 2009

Curso Bsico de Anlise Estatstica no Software R

1. Introduo
O Software R um programa de anlise estatstica que possui uma linguagem de programao prpria. Baseado na linguagem do programa S-PLUS, o software R permite que voc crie rotinas de clculos e anlises estatsticas, a fim de automatizar processos repetitivos. Este software mantido sob a licena GPL de software livre de cdigo aberto, ou seja, gratuito, pode ser instalado em qualquer computador e ser modificado, conforme o interesse do usurio. Existem diversas verses do software R para diferentes sistemas operacionais, entre os principais destacam-se as plataformas Windows, Maos e os sistemas baseados em Unix, principalmente Linux. O objetivo deste curso dar noes sobre o uso desse software nas anlises estatsticas mais usadas na rea florestal como as modelagens, amplamente utilizadas na biometria florestal, e as anlises de experimentos, usados na experimentao florestal. No entanto, o uso do R vai muito alm disso, incluindo conceitos de programao e automao de atividades, alm dos mdulos que podem ser instalados e que proporcionam anlises mais complexas, como a geoestatstica. Ao final dessa apostila, esto disponveis alguns links para outros materiais de consulta que possam, futuramente, ser utilizados por vocs para realizarem operaes mais complexas. Bons estudos!

2. Instalao do Software R
O primeiro passo a ser tomado no processo de instalao do software R em sua mquina o download do programa de instalao. Este pode ser feito no site oficial do programa (www.rproject.org), e escolhido o pacote binrio adequado ao sistema operacional que est usando. O processo de instalao extremamente simplificado, principalmente na plataforma Windows. Basta seguir as informaes que o assistente de instalao mostrar e em poucos minutos o R estar instalado em seu computador. Aps a instalao, o menu R estar disponvel na seo Programas do Menu Iniciar do Windows e ser possvel executar o programa a partir disso.

3. Iniciando no R
Vamos comear a usar o R ento! Abra o programa clicando no Boto Iniciar / Programas / R / R {verso}. O programa aberto ser bem semelhante ao apresentado na Figura 1, com algumas pequenas modificaes conforme a verso instalada em seu computador. A interface padro do programa essa:

A princpio, a interface do R pode assustar um pouco, pois trata-se de um programa de tipo console, ou seja, tipo texto. Voc no ver planilhas como est acostumado com o Microsoft Excel ou
3

os programas se estatstica como o Minitab ou Sigmastat, mas no o subestime, seus recursos so muito avanados. Seus menus no trazem muitos recursos mas, mesmo assim, no vamos usar todos por enquanto. Vamos apenas comear a direcionar o R para o nosso diretrio de trabalho, para facilitarmos a programao futuramente. Crie uma pasta no seu computador e coloque os arquivos que sero utilizados nas anlises estatsticas nesta pasta. Aps isso, clique no menu Arquivo / Mudar dir... e escolha o diretrio onde esto salvos seus arquivos de anlise estatstica. Esse procedimento faz com que o R reconhea qual a pasta padro. Dessa forma, ao se importar os arquivos de dados para o R, ele utilizar esta pasta como pasta de trabalho. O software R possui um sistema integrado de ajuda muito til e fcil de ser utilizado. Esse sistema de ajuda est estruturado em, basicamente, dois comandos. O comando help() nos mostra informaes de referncia sobre um determinado comando existente no R. J o comando help.search() faz uma busca sobre o termo desejado, mostrando uma lista dos tpicos de ajuda que possuem esse termo especificado. Vamos a um exemplo: a funo summary() do R traz a estatstica descritiva de uma fonte de dados. Caso queira se obter ajuda sobre essa funo, basta digitar na linha de comando:

> help(summary)

Digite o comando e tecle enter. No mesmo instante, ser aberta uma janela de ajuda com informaes completas sobre essa funo e funes relacionadas, alm de alguns exemplos. Se voc quiser saber algumas informaes sobre qual funo utilizar para realizar uma anlise de varincia, voc pode fazer a busca da seguinte forma:

> help.search(Analysis of Variance)

Lembrando que o termo deve ser escrito em ingls pois o sistema de ajuda est nesse idioma e entre aspas, por se tratar de uma expresso. O comando abrir uma janela contendo as funes relacionadas a essa expresso.

3.1. Objetos no R

O R trabalha executando funes sobre objetos. As funes devem sempre ser acompanhadas pelo nome do objeto dentro de parnteses, como ocorre com o sistema de ajuda. A referncia s variveis a serem analisadas estatisticamente , em geral, realizada a partir de vetores e matrizes de dados. No R, um vetor um objeto que possui uma seqncia de dados do mesmo tipo. Entre os tipos, podemos ter: texto, nmeros inteiros, nmeros reais, argumentos lgicos (verdadeiro ou falso), entre outros. Por exemplo: um vetor a numrico correspondendo seqncia de nmeros inteiros de 5 a 10 pode ser definido como:

> a <- 5:10 > a [1] 5 6 7 8 9 10

Quando escrevemos o nome de um objeto no prompt, o resultado uma listagem do contedo do objeto, como visto no exemplo acima. Quando queremos referenciar um elemento ou um grupo de elementos pertencente a um vetor, podemos utilizar os elementos de indexao dento de colchetes. Por exemplo, para listar o terceiro elemento do vetor a, escrevemos:

> a[3] [1] 7

Ou se quisermos listar os 3 primeiros elementos do vetor a, escrevemos:

> a[1:3] [1] 5 6 7

Os objetos apresentam diferentes classes, sendo as mais importantes os modos de vetores vistos anteriormente ou objetos compostos como um conjunto de objetos menores, formando as matrizes, listas e data frames, que sero vistos mais adiante.

3.2. Carregando dados no R


Antes de iniciarmos qualquer trabalho no R, preciso carregar os dados que sero utilizados nas anlises. Para isso, existem diversas formas e procedimentos, no entanto, vamos abordar o mais simples, que o uso de arquivos do tipo CSV (Comma Separated Values).

Os arquivos CSV so arquivos texto que so estruturados de tal forma que as colunas de dados ficam definidas separadamente. Este tipo de arquivo pode ser gerado facilmente atravs do Microsoft Excel, seguindo este procedimento:

1. Abra o arquivo exemplo1.xls; 2. Observe o arquivo e como os dados esto estruturados. So apenas duas colunas, sendo que a primeira linha possui o cabealho da coluna, ou seja, uma identificao desses dados; 3. O arquivo exemplo1.xls possui duas colunas. A primeira est identificada como DAP e a segunda como HT. Esses dados correspondem a medies de dimetro a altura do peito (em cm) e altura total (em m) de uma parcela de inventrio florestal em uma plantao de Eucalyptus grandis. 4. No Microsoft Excel, clique no menu Arquivo e depois em Salva como...; 5. Na janela de dilogo que aparecer, procure pela sua pasta de trabalho, mude o tipo de arquivo para CSV (separado por vrgulas) e salve seu arquivo.

Pronto, agora seu arquivo j pronto para ser carregado no R. Para isso, existe um comando no R chamado read.csv2 e o utilizaremos para carregar os dados desse arquivo no R. Digite o seguinte comando no R:

> dados <- read.csv2(ex1.csv)

Antes de continuar, vamos entender como esse comando funciona. O nico parmetro passado ao comando deve ser o nome do arquivo, entre aspas. Nesse caso, nosso arquivo se chama ex1.csv. Caso o arquivo esteja na pasta de trabalho, no necessrio indicar o caminho completo. Caso contrrio, necessrio passar todo o caminho de identificao at chegar ao arquivo, por exemplo: C:\Curso\ex1.csv. Dessa forma, atribumos (sinal <- do comando acima) ao objeto chamado dados um comando que carrega os dados do arquivo ex1.csv. Se voc digitar o comando abaixo, poder visualizar os dados do arquivo:

> dados

Se o conjunto de dados for listado corretamente, ele est pronto para ser trabalhado no R. Uma vez que o conjunto de dados encontra-se como um objeto, podemos referenciar uma coluna

especfica utilizando o smbolo $. Por exemplo, se quisermos listar apenas o DAP da varivel dados escrevemos:

> dados$DAP [1] 13.53 11.52 10.66 12.35 9.55 12.51 10.35 13.37 11.14 11.62 10.57 11.36 7.32 12.10 14.83 15.44 14.01 7.96 8.34

Temos como resultado, a listagem apenas da varivel DAP. Quando vamos utilizar um determinado objeto repetidamente, podemos anex-lo memria do programa, de modo a evitar referenciar o nome do objeto antes da varivel. O comando a ser utilizado nesse caso o attach(). Com esse comando, um objeto anexado para uma referncia mais rpida a uma determinada varivel. Quando anexamos o objeto dados memria, e desejamos listar os dados de DAP, poderemos apenas escrever DAP. Veja o exemplo:

> attach(dados) > DAP [1] 13.53 11.52 10.66 12.35 9.55 12.51 10.35 13.37 11.14 11.62 10.57 11.36 7.32 12.10 14.83 15.44 14.01 7.96 8.34

DICA!
possvel carregar no R os dados diretamente do arquivo Excel, mas este procedimento um pouco mais complicado e exige um pacote de extenso chamado RODBC. Caso tenha interesse, pesquise no Google e no site do R que ser fcil de achar boas informaes.

3.3. Realizando Operaes Algbricas


a) Soma
> 1 + 1 [1] 2

b) Subtrao:
> 14 6 [1] 8

c) Multiplicao:
> 3 * 4 [1] 12

d) Diviso
7

> 47 / 11 [1] 4.272727

e) Potenciao
> 4 ^ 2 [1] 16

f) Logaritmos naturais (log()) e logaritmos decimais (log10()):


> log(1000) [1] 6,907755

> log10(1000)
[1] 3

g) Radiciao:
> sqrt(4) [1] 2

h) Mdulo (valor absoluto de um nmero):


> abs(-3) [1] 3

Os mesmo operadores podem ser utilizados para realizar operaes com variveis (colunas) inteiras, para cada informao. Vamos calcular os volumes cilndricos das 19 rvores que medimos. Para recordarmos, o volume cilndrico de uma rvore calculado pela seguinte expresso:

Onde: V = volume com ou sem casca (m); DAP = dimetro (com ou sem casca) a 1,30 m do solo (m); HT = altura total da rvore (m)

No nosso conjunto de dados chamado dados possumos duas colunas: a coluna DAP, com dados de dimetro com casca a 1,30 m do solo (em cm) e a coluna ALT, com dados de altura total das rvores. Precisamos digitar uma expresso que j converta a coluna DAP que est em cm para metros. A expresso para calcular o volume cilndrico da rvore ficar dessa maneira:

> VOL <- (pi * ((DAP/100)^2))/4 * ALT

Ao listarmos a varivel VOL que acabamos de criar, veremos um conjunto de dados com 19 valores de volumes com casca das 19 rvores, cujos dados de DAP e altura esto situados no objeto
8

dados. Observao: o comando pi contm o valor exato dessa constante, indispensvel no clculo da rea do crculo, assim como feito pela funo pi() do Excel.

4. Grficos e Anlise Exploratria


4.1. Anlise Exploratria
A anlise exploratria visa obter algumas informaes iniciais sobre os dados. Essas informaes nos dizem como os dados se comportam, se podem ser analisados e se traro resultados interessantes. Existem alguns indicadores que nos do idia do comportamento dos dados como por exemplo a mdia, a varincia, o desvio padro e o coeficiente de variao, alm dos testes de normalidade que podemos aplicar aos dados para verificarmos se estes possuem distribuio normal ou no. Vamos comear com uma anlise simples dos dados: indicando os valores mnimos e mximos, calculando a mdia, mediana, varincia, desvio padro e o coeficiente de variao para as variveis DAP, ALT e VOL e observe os resultados. Para calcular a mdia, utiliza-se a funo mean(), para a mediana utiliza-se median(), para varincia utiliza-se var(), para o desvio padro pode-se calcular a raiz quadrada da funo de varincia ou utilizar a funo sd() e o coeficiente de variao a relao entre o desvio padro e a mdia, multiplicado por 100. O valor mnimo mostrado atravs da funo min() e o valor mximo atravs de max() .Vamos aos comandos:

> min(DAP) [1] 7.32

> max(DAP) [1] 15.44

> mean(DAP) [1] 11.50158

> var(DAP) [1] 4.971225

> sqrt(var(DAP)) ou > sd(DAP) [1] 2.229624

> sd(DAP)/mean(DAP) * 100 [1] 19.38538

10

Existe uma funo padro do R que indica a distribuio dos dados, como ela ocorre, mostrando ao mesmo tempo os valores mnimos, mximos, mdia, mediana, primeiro quartil e terceiro quartil. Essa funo a summary():

> summary(DAP) Min. 1st Qu. 7.32 10.46 Median 11.52 Mean 3rd Qu. 11.50 12.94 Max. 15.44

O comando summary() tambm tem outras aplicaes, como mostrar resultados de anlises de varincia, regresso, geoestatstica e outros tipos de anlise. Os resultados iro variar de acordo com o objeto inserido dentro do comando summary(). Maiores detalhes sero explicados mais adiante.

EXERCCIO
Faa a anlise exploratria calculando os valores mnimos e mximos, a mdia, mediana, varincia, desvio padro e o coeficiente de variao para as variveis ALT e VOL, da mesma forma que foi feito a varivel DAP. Aps isso, utilize o comando summary() e observe os dados.

4.2. Grficos de Barras


Existe uma forma mais didtica de se visualizar os dados: atravs de grficos. O R possui uma ferramenta grfica bem avanada, podendo-se utilizar anlises avanadas e mostrar resultados em diversos grficos possveis. Utilizaremos apenas grficos simples, por enquanto. O primeiro grfico que iremos fazer o grfico de barras, para mostrar os dados de DAP e ALT separadamente. A funo utilizada a barplot(), vejamos o exemplo e observe os grficos:
> barplot(DAP) > barplot(ALT)

DAP
15

ALT

8 10

10

11

Os grficos mostram o valor de cada observao em sua escala de valores. No entanto, quando utilizamos esse grficos em publicaes ou relatrios, precisamos identificar o eixo x, o eixo y e o ttulo do grfico, pelo menos. Dessa forma, a funo barplot() recebe outros comandos, como mostrado a seguir:
> barplot(DAP, xlab=rvores, ylab=Dimetro a 1,30 m do solo (cm), main=Grfico de DAP, col=1)

Grfico de DAP
Dimetro a 1,30 m do solo (cm) 15 0 5 10

rvores
O comando extenso, portanto, vamos por partes. O primeiro parmetro ser sempre o conjunto de valores (nesse caso o objeto DAP). Os parmetros que se seguem (xlab, ylab, main e col) podem ser colocados em qualquer ordem. Vamos s explicaes: xlab este parmetro indica qual ser o texto que compor o eixo X do grfico. ylab este parmetro indica qual ser o texto que compor o eixo Y do grfico. main este parmetro indica qual ser o ttulo do grfico. col este comando indica qual ser a cor das barras. Ele pode ser indicado por um nmero, como o nosso exemplo, por uma sequncia (1:5 por exemplo) ou por um nmero escrito por extenso entre aspas, por exemplo: green.

ATENO!!
No se esquea de colocar qualquer parmetro que seja no formato texto entre aspas. Caso contrrio, o R entender como um comando e no um valor passado a um parmetro. Isso muito importante e fonte de 95% dos erros que ocorrem normalmente no R!

12

Existem outros parmetros que podem ser utilizados para manipular o grfico de diferentes formas como ajustar a escala, colocar um espaamento entre as barras, entre outros. Voc pode obter mais informaes atravs do comando help(barplot).

EXERCCIO
Faa novamente os grficos apresentados com os outros objetos (ALT e VOL), mudando os ttulos dos grficos, os textos dos eixos X e Y e alterando as cores das barras. Experimente todas as formas de cores, como intervalos (por exemplo 1:2, 1:3, 1:5, etc) e textos (black, green, darkblue, etc).

4.3. Normalidade e Distribuio de Frequncias


Antes de prosseguirmos, ser interessante observamos um pouco alguns aspectos estatsticos tericos para que, ao se realizar as anlises estatsticas na prtica, estas sejam vlidas e reais. Falaremos um pouco sobre a Normalidade. A distribuio normal dos dados importante porque, em muitos casos, ela se aproxima bem do que acontece no mundo real. Neste sentido, filosoficamente, a distribuio normal representa uma das elementares verdades acerca da natureza geral da realidade, verificada empiricamente, e seu status pode ser comparado a uma das leis fundamentais das cincias naturais. A forma exata da distribuio normal (a caracterstica curva de sino) definida por uma funo que tem apenas dois parmetros: mdia e desvio padro. Observe a imagem:

Uma propriedade caracterstica da distribuio normal que 68 % de todas as suas observaes caem dentro de um intervalo de 1 desvio padro da mdia, um intervalo de 2 desvios
13

padres inclui 95 % dos valores, e 99 % das observaes caem dentro de um intervalo de 3 desvios padres da mdia. Muitos testes estatsticos so baseados na distribuio normal diretamente ou em distribuies a ela relacionadas, e que podem ser derivadas da distribuio normal, como as distribuies t, F ou Chi-quadrado (Qui-quadrado). Tipicamente, estes testes requerem que as variveis analisadas sejam normalmente distribudas na populao, ou seja, que elas atendam suposio de normalidade. Muitas variveis observadas realmente so normalmente distribudas, o que outra razo pela qual a distribuio normal representa uma caracterstica geral da realidade emprica.

ATENO!!
A seguir aprenderemos como verificar o comportamento da distribuio dos nossos dados e se eles possuem distribuio normal. Esse o primeiro passo antes de qualquer anlise estatstica. Caso os dados no sejam normais, necessrio utilizar testes no-paramtricos.

Aps essa explicao terica bsica, vamos por a mo na massa! Existe um grfico fcil de ser elaborado, chamado histograma, que mostra como os nossos dados esto distribudos. A funo utilizada para criar esse grfico hist(). Vamos observar a distribuio das variveis DAP, ALT e VOL:

> hist(DAP) > hist(ALT) > hist(VOL)


Histogram of DAP
4

Histogram of ALT
8

Histogram of VOL

Frequency

Frequency

Frequency 9 10 11 ALT 12 13 14

10

12 DAP

14

16

0 0.00

0.05

0.10

0.15

0.20

0.25

VOL

A princpio possvel notar que os dados possuem uma distribuio aproximadamente normal, principalmente o histograma da varivel VOL. Mas no podemos afirmar isso com certeza. Este grfico tem a finalidade apenas de ilustrar a distribuio dos dados. Para avaliar definitivamente se estes dados possuem distribuio normal, preciso fazer o teste de normalidade.

14

Existem diversos testes de normalidade como o Shapiro-Wilk, Kolmogorov-Smirnov, entre outros. Para simplificar, vamos abordar apenas o teste de Shapiro-Wilk por j estar disponibilizado nos pacotes padres do R. A interpretao do resultado muito simples. So gerados dois valores: a estatstica W do teste e o valor da probabilidade (p-value). Caso o valor de p seja inferior ao nvel de probabilidade (5% ou 0,05), a distribuio no possui distribuio normal. Caso o valor de p seja superior a 0,05, a distribuio dos dados normal. Portanto, vamos aplicar os testes:

> shapiro.test(DAP) Shapiro-Wilk normality test data: DAP

W = 0.9794, p-value = 0.9353

Como podemos ver, o valor de p superior a 0,05, portanto, o teste de normalidade nos diz que os dados possuem distribuio normal. Dessa forma, podemos continuar utilizando os testes estatsticos que assumem a premissa da normalidade para os dados. Aplique o teste de normalidade de Shapiro Wilk para as outras variveis: ALT e VOL e discuta os resultados. Lembrando mais uma vez: quando os dados no possuem distribuio normal, possvel avaliar o efeito de diferentes tratamentos atravs de testes no paramtricos, com o teste de Kruskal-Wallis, por exemplo! O uso de testes paramtricos que necessitam da distribuio normal dos dados ir indicar resultados de forma equivocada. At o momento, vimos como gerar sumrios descritivos de variveis aleatrias a partir de estatsticas numricas e grficos mostrando distribuies de freqncia. Uma ferramenta grfica muito importante para a descrio e principalmente para a comparao de distribuies associadas a grupos diferentes o grfico de Boxplot. Este grfico mostra a distribuio de acordo com estatsticas descritivas no-paramtricas, como exemplificado na figura a seguir:

15

possvel estabelecer uma srie de parmetros para a funo boxplot(), que permitem uma personalizao do grfico de acordo com a necessidade. A linha horizontal mais escura marca sempre a posio da mediana. A caixa se estende no intervalo interquartil. A linha tracejada pode marcar diferentes estatsticas, dependendo do argumento range para a funo boxplot(). Quando um valor positivo de range utilizado (o padro 1.5), a linha tracejada marcar valores extremos, no maiores que range x intervalo interquartil. A partir destes pontos extremos, as observaes com valores mais altos so marcadas com pontos, como valores atpicos. Caso no tenhamos interesse em pontos atpicos, utilizamos range = 0, e a linha tracejada marcara os pontos de mximo e mnimo da amostra. Podemos comparar distribuies de variveis ou de grupos diferentes em uma mesma varivel utilizando os diagramas boxplot, no entanto isso ser abordado mais adiante quando discutirmos a anlise de experimentos no R. Para observar o comportamento dos nossos dados, vamos criar os grficos de boxplot para cada varivel estudada at agora:
> boxplot(DAP) > boxplot(ALT) > boxplot(VOL)
DAP ALT VOL

13

12

10

11

10

Conforme pode ser visto, no existem valores atpicos (pontos isolados) em nenhuma das trs variveis analisadas. A distribuio do DAP a mais simtrica, confirmando o alto valor de W do teste de Shapiro-Wilk, demonstrando que sua distribuio a mais prxima de normal das trs variveis. Quando houver dados atpicos, necessrio se estudar se o comportamento desses esse mesmo ou se pode ter ocorrido erro durante a fase de coleta ou processamento dos dados. Compete ao pesquisador avaliar se aqueles dados sero mantidos na anlise ou se sero removidos.

0.05

0.10

0.15

12

0.20

14

16

4.4. Grficos de Pontos


Para finalizar o nosso captulo sobre grficos e anlise exploratria, vamos conhecer o grfico de pontos no R, para observar a correlao entre dois conjuntos de dados. No nosso caso, vamos observar se existe relao entre as variveis DAP e ALT. A funo utilizada a plot(), sendo que a forma de se inserir os dados pode ser de duas maneiras distintas: a primeira voc utiliza a vrgula plot(varivelX, varivelY) a segunda voc utiliza o sinal ~, que significa em funo de plot(varivelY ~ varivelX). Observe que a ordem das variveis muda de acordo com o mtodo utilizado. Devido ao uso em outras funes, vamos adotar o uso do ~ como padro. Vamos observar o grfico:

> plot(ALT ~ DAP) > plot(ALT ~ DAP, xlim=c(0,20), ylim=c(0,20))

13

ALT

12

ALT 8 10 12 DAP 14

11

10

0 0

10

15

20

10 DAP

15

20

Note a diferena entre os grficos criados com os dois comandos diferentes. O primeiro comando ajusta a escala do grfico de acordo com a grandeza dos dados. J no segundo grfico, a escala est ajustada de acordo com o intervalo determinado pelos comandos xlim e ylim. Fiz essa comparao para podermos observar melhor como ocorre a relao entre essas duas variveis. uma relao hipsomtrica de altura x dimetro, muito utilizada nos inventrios florestais. comum nos inventrios florestais de plantaes florestais ocorrer o levantamento de dados de altura de apenas algumas rvores. Aps isso, faz-se a regresso utilizando alguns dos modelos listados pela literatura para estimar a altura das outras rvores a partir do dimetro. Esse processo economiza muito tempo e dinheiro nos levantamentos de campo, tornando o inventrio florestal
17

uma atividade mais gil e econmica. Detalharemos a aplicao dessa ferramenta no prximo captulo, onde iremos desenvolver alguns exerccios e anlises de regresso linear e no-linear.

DICA!
Todos os parmetros passados s funes grficas podem ser utilizados em qualquer tipo de grfico, seja ele barplot(), boxplot(), hist(), plot() e outros que ainda no foram comentados. Os parmetros j vistos foram: main, xlab, ylab, col, xlim, ylim; no entanto, existem muitos outros. Para maiores informaes, procure por essas funes no help do R!

18

5. Experimentos e Anlise de Varincia


Os testes estatsticos do ao pesquisador condies de fazer inferncia. Com base nos resultados de uma amostra de dados, o teste estabelece se, na populao, a mdia de um tratamento diferente da mdia de outro tratamento, em determinado nvel de significncia. Em estatstica, a palavra significncia implica a idia de que muito provvel que um resultado, similar ao que foi obtido na amostra, teria sido obtido se toda a populao tivesse sido estudada. Mas muito provvel no significa certo. Ento, a concluso do teste estatstico sempre est associada a algum tipo de erro. Por causa de uma flutuao amostral o pesquisador pode observar que uma amostra apresenta uma diferena entre mdias que no existe realmente na populao. A probabilidade dessa ocorrncia o nvel de significncia do teste. A escolha do nvel de significncia, tambm conhecido como , arbitrria. Quando se

escolhe o nvel de significncia de 5% usual afirmar que o resultado significante e indicar isso com um asterisco. Quando se escolhe o nvel de significncia de 1%, usual afirmar que o resultado altamente significante e indicar isso com dois asteriscos.

5.1. O teste t para comparao de duas mdias


O teste t , de longe, o teste mais usado para comparar duas mdias, ou seja, duas populaes semelhantes. Mas para fazer esse teste, preciso estabelecer o nvel de significncia. Ento seja ou 5%. Vamos trabalhar com um novo exemplo agora: Para comparar dois mtodos de alfabetizao, A e B, um professor tomou um conjunto de alunos, dividiu ao acaso em dois grupos e alfabetizou um dos grupos pelo mtodo A e o outro grupo pelo mtodo B. Terminado o perodo de alfabetizao, o professor submeteu os dois grupos de alunos mesma prova. Os alunos obtiveram, nessa prova, as seguintes notas:

Mtodo A 6 5 7 3 5 2 4 8 B 7 9 6 7 6 6 9 6

Esses dados esto contidos no arquivo ex2.csv. Primeiro, vamos carregar o arquivo no R e depois aplicar o teste:
19

> dados <- read.csv2(ex2.csv) > t.test(dados$A, dados$B, var.equal=T)

Two Sample t-test

data:

A and B

t = -2.3664, df = 14, p-value = 0.03292 alternative hypothesis: true difference in means is not equal to 0 95 percent confidence interval: -3.8126756 -0.1873244 sample estimates: mean of x mean of y 5 7

Muito bem, o programa calcula automaticamente o valor da estatstica t, o nmero de graus de liberdade (df = 14) e o valor da probabilidade (p-value = 0,03292). Se fssemos na maneira manual, seria preciso comparar o valor absoluto do t calculado (2,3664) com o valor crtico dado em tabela, ao nvel de significncia estabelecido e com os mesmo graus de liberdade. Toda vez que o valor absoluto do t calculado for igual ou maior que o da tabela, rejeita-se a hiptese de que as mdias em comparao so iguais. No entanto, a funo t.test() j nos fornece a probabilidade do valor t ser, na distribuio terica, maior que o valor obtido. Esta probabilidade, conhecida como p-value, no o nvel de significncia do teste. Ento, toda vez que o p-value for menor que o nvel de significncia estabelecido (nesse caso, 0,05), rejeita-se a hiptese de que as mdias so iguais. No caso do exemplo acima, o p-value 0,03292. Como esse valor menor que 0,05, rejeita-se a hiptese de que as mdias so iguais, nesse nvel de significncia. Ento, o professor pode concluir que, em mdia, as notas obtidas por alunos submetidos ao mtodo B so significativamente maiores que as mdias obtidas por alunos submetidos ao mtodo A, ao nvel de 0,05. Agora vamos fazer um exerccio!

EXERCCIO
O arquivo ex3.csv contm 40 observaes de dimetro a 1,30 m de altura do solo de duas parcelas de inventrio florestal. O objeto avaliar se as plantas, cujas parcelas foram alocadas em diferentes locais, possuem padro diferente de crescimento. Faa um teste t para comparar as mdias e explique se as mdias diferem entre si a 5% de significncia. Mas antes, faa a estatstica descritiva atravs do comando summary() e calcule o coeficiente de variao de cada parcela.

20

5.2. Experimentos Inteiramente ao Acaso


Para compara a produtividade de quatro procedncias de Eucalyptus grandis, um engenheiro florestal tomou vinte parcelas similares e plantou as procedncias de forma sorteada, para que as parcelas se localizassem de forma aleatria, cujo esquema est na figura abaixo:

A B D B

C D A C

D A B D

C B D C

A C B S

Este experimento um experimento inteiramente ao acaso, com quatro tratamentos e cinco repeties. Para entender como se faz a anlise dos dados de um experimento inteiramente ao acaso, imagine que foi feito o experimento descrito acima. A produo de cada parcela (em m/ha) foi anotada ao final do experimento e est apresentada na tabela abaixo:

Procedncia A
160,908 160,874 153,498 162,398 156,985

B
157,012 157,114 155,810 151,872 157,234

C
169,281 167,334 172,619 170,774 170,686

D
179,181 178,781 181,784 180,103 180,970

Antes de realizarmos a anlise de varincia, vamos observar as mdias dos valores e conhecer um pouco mais dos nossos dados. Os dados podem ser carregados atravs do arquivo ex4.csv. Agora vem uma observao importante: para anlise de varincia, os dados devem estar estruturados em linhas, e no mais em colunas. Dessa forma, ao observar o arquivo ex4.csv, temos apenas duas colunas: a coluna PROC, que indica qual a procedncia (A, B, C ou D) e a coluna VOL, que indica o volume por hectare medido naquela parcela. Vamos carregar os dados e observ-los no R:

> dados <- read.csv2("ex4.csv") > dados

Observe que os dados esto estruturados em duas colunas, conforme dito acima. O comando que calcula a anlise de varincia o aov(), do ingls Analysis of Variance. Neste comando, voc deve informar como primeiro parmetro qual a varivel analisada, no nosso caso o volume de madeira indicado na coluna VOL e depois qual fator ou tratamento influencia a varivel.
21

No exemplo, o fator que influencia a varivel a procedncia, indicado pela coluna PROC. Vamos realizar a anlise de varincia e observar o resultado:

> dados.aov <- aov(dados$VOL ~ dados$PROC) > summary(dados.aov) Df dados$PROC Residuals --Signif. codes: 0 *** 0.001 ** 0.01 * 0.05 . 0.1 1 Sum Sq Mean Sq F value 618.81 5.96 Pr(>F)

3 1856.44 16 95.30

103.89 1.055e-10 ***

O resultado da anlise de varincia, obtido atravs do comando summary() em um objeto aov() nos mostra o quadro da ANOVA. Este quadro possui os resultados da Soma dos Quadrados (Sum Sq), Quadrado Mdio (Mean Sq), o valor da estatstica F e o valor da probabilidade do teste. A interpretao do resultado se faz da mesma forma que o teste t para duas populaes. Quando o pvalue (aqui representado por Pr(>F)) for menor que o nvel de significncia, as mdias diferem entre si pela anlise de varincia. A grande questo agora vem: como as procedncias diferem entre si? Para resolver essa questo, fazemos o teste de Tukey para comparar as mdias das procedncias. Os comandos abaixo mostram as comparaes de mdia atravs do modo escrito ou do modo grfico, veja:

> TukeyHSD(dados.aov) > plot(TukeyHSD(dados.aov))

95% family-wise confidence level


Tukey multiple comparisons of means 95% family-wise confidence level
B-A D-C D-B C-B D-A C-A

Fit: aov(formula = dados$VOL ~ dados$PROC)

$`dados$PROC` diff lwr upr p adj

B-A -3.1242 -7.54035 C-A 11.2062

1.291950 0.2203583

6.79005 15.622350 0.0000104

D-A 21.2312 16.81505 25.647350 0.0000000 C-B 14.3304 9.91425 18.746550 0.0000004

10

20

30

D-B 24.3554 19.93925 28.771550 0.0000000 D-C 10.0250 5.60885 14.441150 0.0000399

Differences in mean levels of dados$PROC

A primeira coluna dos resultados do teste de Tukey mostra qual a comparao que est sendo feita entre as procedncias: B com A, C com A, D com A, C com B, D com B e D com C. O mais
22

importante observar a ltima coluna (p ajd) que indica que se a diferena significativa ou no, sendo significativo quando o valor menor que 0,05. Neste caso, temos apenas a primeira comparao como sendo no significativa (p adj = 0,2204). O grfico mostra de forma mais fcil. No eixo y esto as comparaes e no eixo x esto os nveis de diferena. Quando o grfico corta a linha do 0, a diferena no significativa (como ocorre na comparao B A).

5.3. Experimentos em Blocos ao Acaso


Os blocos so constitudos para controlar uma causa da variao. Ento, a grande vantagem de delinear experimentos em blocos ao acaso o fato de se poder trabalhar com material heterogneo. Por exemplo, imagine que para testar o efeito de um hormnio sobre o peso de ratos, um pesquisador dispe de ratos com diferentes idades. Como idade tem efeito sobre peso, o pesquisador deve fazer um experimento em blocos ao acaso. Para isso, preciso organizar blocos de ratos de mesma idade e depois sortear, em cada bloco, os ratos que iro receber o hormnio (tratados) e os que no iro receb-lo (controles). Dessa forma, o pesquisador controla o efeito de idade e pode, ento estudar melhor o efeito do hormnio sobre o peso dos ratos. Vamos pegar um exemplo na rea florestal: a Prof. Vera Lex Engel, do Departamento de Recursos Naturais Cincias Florestais da FCA / UNESP Botucatu desenvolveu um delineamento experimental em blocos ao caso para estudar diferentes modelos de restaurao ecolgica. Foram 5 tratamentos (modelos) diferentes que foram alocados em 3 diferentes reas na Fazenda Experimental Edgrdia, pertencente a FCA / UNESP. Cada rea possui caractersticas distintas de clima e solo. Portanto, cada rea considerada um bloco. Vamos observar um modelo de experimentao agronmica e avaliar se houve efeito de bloco em um estudo de produtividade de diferentes variedades de milho. A produo, em kg/100 m est descrito na tabela abaixo:
VARIEDADE A 32 24 33 38 33 B 24 35 42 36 38 C 35 43 39 43 55 D 21 26 30 39 34

BLOCO I II III IV V

O arquivo ex5.csv possui os dados apresentados acima em linhas, como deve ser feito no R. Portanto, h trs colunas no arquivo: a coluna VAR possui a variedade estudada (A, B, C ou D), a
23

coluna BLOCO possui o nmero do bloco (1 a 5) e a coluna PROD possui a produo do milho em kg/100 m. Vamos aos comandos:

> dados <- read.csv2(ex5.csv) > attach(dados) > BLOCO <- as.factor(BLOCO) > dados.aov <- aov(PROD ~ VAR + BLOCO) > summary(dados.aov) Df Sum Sq Mean Sq F value VAR BLOCO Residuals --Signif. codes: 0 *** 0.001 ** 0.01 * 0.05 . 0.1 1 3 490.00 4 400.00 12 300.00 163.33 100.00 25.00 Pr(>F)

6.5333 0.007219 ** 4.0000 0.027441 *

Antes de observamos os resultados, vou enfocar a importncia do comando as.factor(). Este comando deve ser aplicado coluna BLOCO pois se trata de um fator que influencia a varivel de resposta. Caso isso no seja feito, o R entende que BLOCO uma varivel de resposta, alterando os resultados da anlise. A diferena da aplicao aqui se faz apenas no comando aov(). Coloca-se, inicialmente, a varivel de resposta PROD em funo da variedade VAR e do bloco BLOCO (PROD ~ VAR + BLOCO). Nesse exemplo, o resultado diz que existe diferena significativa entre as variedades pois o valor de p (Pr(>F)) menor que 0,05, ou seja, a 5% de significncia. Vamos aplicar o teste de Tukey a 5% de significncia e observar os resultados utilizando a funo plot():

> TukeyHSD(dados.aov, 1) > plot(TukeyHSD(dados.aov, 1)

Utilizamos a vrgula um (,1) para mostrarmos a comparao de mdias apenas das variedades de milho. Os blocos no devem ser analisados quanto ao nvel de significncia. Veja abaixo:

ATENO!!
Os experimentos em blocos ao acaso so feitos, essencialmente, para comparar os tratamentos. Alguns autores aconselham at a no calcular o valor de F para blocos porque como os tratamentos so sorteados dentro dos blocos, os blocos so constitudos de forma no aleatria. O teste F , portanto, inadequado. Se o pesquisador est interessado em avaliar o efeito de dois fatores, deve-se fazer um experimento fatorial. Vamos conhecer outro exemplo de experimento em blocos: blocos ao acaso com repeties.
24

Um professor conduziu um experimento para comparar a eficincia de quatro fontes de informao, isto , televiso (A), jornais (B), revistas (C) e rdio (D), na memorizao de notcias. Participaram desse experimento 24 alunos. Como os alunos eram de diferentes idades, o professor separou os alunos em duas faixas de idade: a primeira faixa ficou constituda 12 alunos mais jovens (de 12 e 13 anos) e a segunda pelos 12 alunos mais velhos (de 17 e 18 anos). Depois o professor sorteou cada fonte de informao para trs alunos de cada faixa de idade. Considerando as letras a fonte de informao, Bloco I para os alunos mais jovens e Bloco II para os alunos mais velhos, temos os seguintes resultados do teste aplicado a todos os alunos:

BLOCO I

II

A 65 69 73 72 79 80

TRATAMENTO B C 56 58 49 65 54 57 73 76 77 69 69 71

D 38 30 34 71 65 62

Os dados desse experimento esto indicados no arquivo ex6.csv, vamos aos comandos:
> dados <- read.csv2(ex6.csv) > attach(dados) > BLOCO <- as.factor(BLOCO) > dados.aov <- aov(NOTA ~ TRAT + BLOCO) > summary(dados.aov)

Df TRAT BLOCO Residuals

Sum Sq Mean Sq F value 556.00

Pr(>F)

3 1668.00

13.720 5.365e-05 *** 47.969 1.330e-06 ***

1 1944.00 1944.00 19 770.00 40.53

possvel verificar que existe diferena a 5% de significncia tanto para tratamento como para bloco. O professor pode ento concluir que a nota mdia dos alunos no teste de conhecimento no a mesma para todas as fontes de informao e depende da faixa de idade. Mas a anlise de varincia acima s estaria correta se fosse razovel pressupor que no existe interao entre os efeitos de tratamento e os efeitos de blocos. Para entender o conceito de interao, vamos um exemplo terico: um fabricante planejou um experimento em blocos ao acaso com repeties para saber se duas cores de pasta dental, branca e verde, tm o mesmo grau de aceitao por adultos e crianas. Nesse caso, as cores da pasta so os tratamentos (A e B) e as faixas de idade dos voluntrios que vo testar as pastas (adultos e
25

crianas) so os blocos. Se, por exemplo, a cor branca for mais bem aceita tanto para adultos como crianas, no houve interao tratamento x blocos. Isso porque os tratamentos tiveram os mesmos efeitos em todos os blocos. No entanto, se a cor branca for mais bem aceita por adultos e a cor verde for mais aceita por crianas, houve interao tratamentos x blocos. Mas esta no a nica possibilidade de interao. Se, por exemplo, a cor branca for mais bem aceita por adultos, mas ambas as cores foram igualmente bem aceitas por crianas, tambm houve interao. Quando se decide, com base na estatstica, que no existe interao, a interpretao da anlise de varincia fica mais fcil porque as inferncias sobre os tratamentos valem para todos os blocos. Mas essa pressuposio nem sempre vlida. Ento, sempre que necessrio, deve ser estudada a interao. No R, possvel verificar se existe interao de duas maneiras: atravs da funo interaction.plot() e atravs da anlise de varincia, pelo comando aov(). Como evidncia cientfica, o mtodo mais indicado para se apresentar os resultados, atravs do comando aov(). Vamos l:

> dados.aov <- aov(NOTA ~ TRAT * BLOCO) > summary(dados.aov)

Df TRAT BLOCO TRAT:BLOCO Residuals

Sum Sq Mean Sq F value 556.00

Pr(>F)

3 1668.00

33.444 4.005e-07 ***

1 1944.00 1944.00 116.932 9.154e-09 *** 3 16 504.00 266.00 168.00 16.62 10.105 0.0005635 ***

> interaction.plot(TRAT, BLOCO, NOTA)

mean of NOTA

BLOCO 2 1

40

50

60

70

B TRAT

Apenas mudando o sinal de + para * no comando aov() j faz com que o R calcule a interao entre os fatores que esto entre esses sinais. No resultado da anlise de varincia, a interao
26

apontada atravs do sinal dois pontos (TRAT:BLOCO) e a interpretao a mesma: caso o valor de p seja inferior ao nvel de significncia, existe interao, como ocorre no nosso exemplo. Outra maneira de avaliar se existe interao atravs do comando interaction.plot(). A sequncia de parmetros a serem passados ao comando (Tratamento, Bloco, Varivel). O grfico mostra duas linhas. Se estas linhas forem paralelas, quer dizer que no h interao, ou seja, os efeitos do tratamento so iguais para todos os blocos. Se as linhas no forem paralelas, existe interao. A grande vantagem deste comando que o grfico pode ser criado para ver se existe interao antes mesmo de realizar a anlise de varincia. Voltando ao nosso exemplo, vemos que existe interao entre a fonte de informao e a faixa etria, portanto, no podemos concluir que a fonte de informao influencia da mesma forma as diferentes faixas etrias. Precisamos observar as comparaes mltiplas das mdias apenas da interao, aplicando o teste de Tukey a anlise de varincia com interao:

> TukeyHSD(dados.aov)

O teste mostra primeiro as comparaes entre tratamentos, aps isso a comparao entre blocos e por ltimo as comparaes da interao. Vamos observar apenas esse terceiro bloco. Observa-se o valor de p apenas das comparaes entre tratamentos de mesmo bloco, para facilitar a interpretao, montando a tabela abaixo para facilitar a anlise:

COMPARAO A-B A-C A-D B-C B-D C-D

BLOCOS I * NS * NS * * II NS NS NS NS NS NS

O grfico abaixo foi elaborado para facilitar a interpretao dos resultados da tabela acima. Cujo comando utilizado para cri-lo foi o seguinte:

> barplot(tapply(NOTA, BLOCO:TRAT, mean), col="tomato1", main="Comparao de Mdias", ylab="Notas", xlab="Tratamentos")

27

Comparao de Mdias
70 Notas 0 10 30 50

1:A

1:B

1:C

1:D

2:A

2:B

2:C

2:D

Tratamentos

Vamos s constataes: a) Entre os mais jovens, televiso (A), jornais (B) e revistas (C) deram resultados significativamente melhores que rdio (D); b) Ainda entre os mais jovens, a televiso foi significativamente melhor que os jornais (B); c) Entre os mais velhos, no houve diferena significativa entre as diferentes fontes;

Para recordar: quando houver interao entre os fatores, no deve-se utilizar o teste de comparao de mdias para os fatores independentemente. preciso observar as comparaes das interaes para tirar as concluses corretas.

5.4. Experimentos Fatoriais

Muitas vezes existe o interesse em analisar os efeitos de dois ou mais tipos de tratamento no mesmo experimento. Nestes casos, os tipos de tratamentos so referidos como fatores e o experimento chamado fatorial. Como exemplo, imagine um experimento para comparar o efeito da temperatura e da concentrao de determinada substncia na velocidade de uma reao qumica. Os fatores em estudo, neste caso, so temperatura e concentrao. O tipo mais simples de experimento fatorial o 2 x 2 (dois por dois). Nesses experimentos so analisados dois fatores em dois nveis. Tambm so feitos experimentos fatoriais 3 x 3, neste caso, so envolvidos dois fatores em trs nveis. Vamos, primeiro, a um exemplo de fatorial 2 x 2. Os dados fictcios da tabela abaixo so resultados de um experimento para analisar o efeito da calagem e da irrigao sobre o peso de plantas. Cada tratamento tem trs repeties. A anlise de varincia mostra um valor de F significativo a 5%. Ento, os pesos das plantas cultivadas com os diferentes tratamentos no so iguais entre si.

28

TRATAMENTOS A0 B0 25 32 27 B1 35 28 33 B0 41 35 38 A1 B1 60 67 59

Considere: A0 Sem irrigao; A1 Com irrigao; B0 Sem calagem; B1 Com calagem;

Os dados esto estruturados em linha no arquivo ex7.csv. Vamos aos comandos:

> dados <- read.csv2(ex7.csv) > attach(dados) > interaction.plot(IRRIGA, CALAGEM, PESO)

60

CALAGEM B1 B0

mean of PESO

30

35

40

45

50

55

A0 IRRIGA

A1

> dados.aov <- aov(PESO ~ IRRIGA * CALAGEM) > summary(dados.aov)

Df Sum Sq Mean Sq F value IRRIGA CALAGEM IRRIGA:CALAGEM Residuals --Signif. codes: 1 1200.0 1 1 8 588.0 300.0 108.0 1200.0 588.0 300.0 13.5

Pr(>F)

88.889 1.315e-05 *** 43.556 0.0001694 *** 22.222 0.0015137 **

0 *** 0.001 ** 0.01 * 0.05 . 0.1 1

O grfico de interaes e anlise de varincia nos indica que existe interao pois as retas no so paralelas e o valor de Pr(>F) menor que 0,05. Portanto, vamos s comparaes mltiplas:
> TukeyHSD(dados.aov)

$`IRRIGA:CALAGEM` diff A1:B0-A0:B0 10 lwr upr p adj

0.392944 19.607056 0.0416022


29

A0:B1-A0:B0 A1:B1-A0:B0 A0:B1-A1:B0 A1:B1-A1:B0 A1:B1-A0:B1

4 34

-5.607056 13.607056 0.5692846 24.392944 43.607056 0.0000155 3.607056 0.2640524

-6 -15.607056 24 30

14.392944 33.607056 0.0002012 20.392944 39.607056 0.0000396

Vamos s concluses tiradas a partir das comparaes mltiplas: a) A irrigao teve efeito sobre o peso das plantas, tanto na presena como ausncia de calagem; b) Na presena da irrigao, a calagem teve efeito sobre o peso das plantas. O grfico abaixo auxilia a interpretao, lembrando dos significados de A0, A1, B0 e B1.
Comparao de Mdias
60 Peso das plantas 0 10 20 30 40 50

A0:B0

A0:B1

A1:B0

A1:B1

Tratamentos

Assim finalizamos a parte de anlise de experimentos qualitativos.

30

6. Anlise de Regresso
Abordaremos agora uma breve parte sobre modelagem na rea de biometria florestal, com enfoque nas relaes hipsomtricas e equaes de volume. Utilizando exemplos e praticando exerccios dessas duas ferramentas utilizadas na biometria florestal dar subsdios para as anlises mais complexas que incluem o manejo florestal, como a modelagem de crescimento.

5.1. Regresso Linear

A regresso linear a forma mais simples de regresso. Consiste em se passar uma linha reta entre os pontos intermedirios, afim de se observar a tendncia dos dados. Diz-se que uma regresso linear simples quando, associado a uma varivel dependente (y), existe apenas uma nica varivel independente (x). O modelo uma funo linear do 1 grau:

Vamos comear com um exemplo bem simples para entendermos como ajustar modelos atravs de regresso com os dados que j vimos at agora. Alm do ajuste, vamos observar as estatsticas e medidas de preciso, alm dos grficos de resduos, para avaliar se o ajuste foi bom. Antes de por a massa, vamos ver uma aplicao da regresso:

APLICAO DA ESTATSTICA
A relao hispomtrica definida como a relao existente entre a altura e o dimetro da rea. No caso florestal, normalmente este dimetro tomado a 1,30 metros de altura do solo. O conhecimento desta relao tem grande significado prtico no sistema de coleta de informaes. Medindo na parcela somente parte das alturas e todos os dimetros, pode-se estabelecer atravs dos pares altura-dimetro mensurados, uma relao matemtica que possibilite a estimativa da altura das demais rvores contidas na parcela. Este fato mais relevante quanto maior a dificuldade que se tem para medir altura da rvore, como o caso dos plantios de maior idade, alm de apresentarem economia de recursos no inventrio florestal sem que haja perda de preciso.

Trabalharemos com os dados do arquivo ex01.csv que j abrimos. A regresso linear calculada atravs da funo lm() (linear model) que ajusta os parmetros de acordo com o modelo especificado. Inicialmente, vamos ajustar uma relao linear entre altura e dimetro, portanto, nosso modelo ser:

31

A funo ir definir os valores dos coeficientes b0 e b1 da equao acima a partir dos dados de DAP e Altura que temos em nosso conjunto de dados. Vamos aos comandos!

> dados <- read.csv2(ex1.csv) > attach(dados) > ajuste <- lm(ALT ~ DAP) > ajuste Call: lm(formula = ALT ~ DAP) Coefficients: (Intercept) 7.2759 DAP 0.4043

Com os comandos acima criamos um novo objeto chamado ajuste. Esse objeto contm a informao da regresso linear simples entre as variveis ALT e DAP. A forma como passada similar forma como criado os grficos de pontos: ALT em funo de (~) DAP. Ao digitar ajuste e verificar o que h nesse objeto recm criado, o R nos mostra os parmetros ajustados para essa relao. O coeficiente intercepts o intercepto do modelo, ou seja, nosso parmetro b0, j o coeficiente DAP o parmetro b1 do nosso modelo. Portanto, nossa frmula :

Agora que ajustamos o nosso modelo, precisamos avaliar se o ajuste bom e se est livre de tendenciosidade. Conforme as aulas de estatstica e dendrometria, precisamos rever alguns conceitos: Coeficiente de determinao (R): esta medida de preciso varia entre 0 a 100 %, sendo que quanto mais prxima de 100 % mais eficiente a equao ajustada. Esta medida de preciso expressa o quanto as variaes da varivel dependente so explicadas pela(s) varivel(is) independente(s); Erro padro dos resduos (SYX): esta medida de preciso expressa o quanto em termos mdios os valores observados variam em relao aos valores estimados. a partir desse valor que se consegue o intervalo de confiana dos dados. A unidade de SYX a mesma unidade da varivel dependente Y e quanto mais prximo de zero, mais eficiente tende a ser a regresso.

32

Aps rever esses conceitos, vamos explorar mais as informaes contidas dentro do objeto ajuste que criamos com o comando lm(). Digite:
> summary(ajuste) Call: lm(formula = ALT ~ DAP)

Residuals: Min 1Q Median 3Q 0.45829 Max 1.31396

-1.23558 -0.56005 -0.03405

Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) DAP --Signif. codes: 0 *** 0.001 ** 0.01 * 0.05 . 0.1 1 7.27589 0.40433 0.95411 0.08152 7.626 6.96e-07 *** 4.960 0.000119 ***

Residual standard error: 0.7711 on 17 degrees of freedom Multiple R-squared: 0.5914, F-statistic: Adjusted R-squared: 0.5673 p-value: 0.0001191

24.6 on 1 and 17 DF,

Muita calma nessa hora. Temos uma poro de informaes agora. Algumas vamos ter mais ateno, enquanto que outras veremos mais adiante. A primeira parte que vamos analisar o setor Residuals. Ele mostra a estatstica descritiva dos valores dos resduos do modelo (s para lembrar: os resduos so calculados atravs da diferena entre valores reais e observados, para cada observao). fundamental que os resduos tenham distribuio normal para considerarmos o modelo bem ajustado. Por enquanto, vamos apenas observar os dados. A segunda parte vem a estatstica mais completa sobre os coeficientes. A coluna Estimate nos d o valor dos coeficientes, conforme vimos logo acima. So passados tambm o erro padro, a estatstica t e a probabilidade do teste F para cada coeficiente. Veremos isso adiante. A terceira parte um bloco de informaes. Essa parte nos interessa bastante. O valor indicado na frente de Residual standard error o valor do erro padro residual ou erro padro dos resduos (SYX), em valores absolutos, conforme vimos acima. Esta uma medida de preciso do modelo e deve ser levada em considerao na avaliao do modelo quanto mais prxima de 0,

melhor o nosso modelo. O valor do coeficiente de correlao encontra-se a frente de Adjusted Rsquared e j est ajustado para o nmero de variveis independentes utilizado. Quanto mais prximo

33

de 1 for o valor, melhor o nosso modelo. Vamos analisar graficamente os dados e avaliar se o ajuste realmente foi efetivo, plotando no mesmo grfico os dados observados e os estimados:

> plot(ALT ~ DAP, xlim=c(5,17), ylim=c(5,15)) > lines(predict(ajuste) ~ DAP)

A escala do grfico foi ajustada atravs dos parmetros xlim e ylim apenas para facilitar a observao da tendncia dos dados. O comando lines() traa uma linha correspondente aos dados estimados pelo comando predict(), em funo do DAP. Observe o grfico a seguir:

Reais x Estimados

ALT

10

12

14

10 DAP

12

14

16

Ao se observar a tendncia dos pontos, facilmente visvel que os dados no possuem uma tendncia linear, ou seja, uma curva representaria melhor os dados do que uma linha reta. Alm disso possvel observar que a reta de ajuste superestima os valores inferiores e superiores do DAP, enquanto que superestima os valores mdios. Podemos observar isso mais facilmente atravs do grfico de resduos, criado pelos comandos:
> plot(ajuste$residuals ~ predict(ajuste),ylim=c(-2,2), main="Grfico de Resduos") > abline(a=0, b=0)

34

Grfico de Resduos
2 5

Distribuio de Resduos

ajuste$residuals

Frequency 10.5 11.5 12.5 13.5

-1

-2

0 -1.5

-1.0

-0.5

0.0

0.5

1.0

1.5

predict(ajuste)

ajuste$residuals

Dentro do objeto ajuste existe uma srie de outros objetos que foram criados atravs do comando lm(). O objeto residuals contm os dados de resduos. fcil de observar que existe tendenciosidade na estimativa desse nosso modelo ajustado, pois a nuvem de pontos possui uma tendncia de estarem abaixo de 0 no incio e final do grfico, apresentando-se acima do grfico na poro intermediria. O ideal, nesse caso, que os pontos fossem distribudos de forma aleatria, prximos a linha traada em 0, ou seja, prximo do valor real.

5.2. Regresso Polinomial e Regresso Mltipla


Vamos testar outro modelo agora: modelo parablico ou de Nslund, apresentado abaixo:

O procedimento bem semelhante regresso linear, mas antes precisamos criar um vetor que contenha os dados de DAP. Vamos usar os dados do arquivo ex1.csv.

> dados <- read.csv2(ex1.csv) > attach(dados) > DAP2 <- DAP ^ 2 > ajuste <- lm(ALT ~ DAP + DAP2) > summary(ajuste) Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) -0.96335 DAP DAP2 1.91316 -0.06653 3.61741 0.64803 0.02840 -0.266 2.952 -2.343 0.79340 0.00937 ** 0.03238 *
35

--Signif. codes: 0 *** 0.001 ** 0.01 * 0.05 . 0.1 1

Residual standard error: 0.6858 on 16 degrees of freedom Multiple R-squared: 0.6958, F-statistic: Adjusted R-squared: 0.6577 p-value: 7.34e-05

18.3 on 2 and 16 DF,

Analisando os dados do modelo, podemos ver que possui um melhor ajuste (R ajustado) melhor que o modelo linear e tambm um erro melhor. Vamos observar como fica o grfico entre os dados reais e os estimados:

> plot(ALT ~ DAP, xlim=c(5,17), ylim=c(5,15)) > A <- 0:17 > B <- coef(ajuste)[1] + coef(ajuste)[2] * A + coef(ajuste)[3] * A^2 > lines(B ~ A)

ALT

10

12

14

10 DAP

12

14

16

Antes de observarmos o grfico, uma explicao rpida sobre os comandos. Vou explicar, mais adiante, sobre o comportamento do modelo para dados que saem fora do intervalo comum de ocorrncia de dados. Para plotar essa linha, foi criado um vetor contendo dados de DAP que variaram de 0 a 17 (vetor A). A partir dos coeficientes gerados no objeto ajuste, o comando coef() foi utilizado para buscar os coeficientes e aplic-los ao modelo, estimando os dados que foram depositados no vetor B. Aps isso, foi traada a linha dos dados estimados a partir do modelo com o mando lines(). Vamos plotar o grfico de resduos, avaliar a distribuio e normalidade:

> plot(ajuste$residuals ~ predict(ajuste),ylim=c(-2,2), main="Grfico de Resduos") > abline(a=0, b=0) > hist(ajuste$residuals, main="Distribuio dos Resduos") > shapiro.test(ajuste$residuals)
36

Shapiro-Wilk normality test data: ajuste$residuals

W = 0.9652, p-value = 0.678

Grfico de Resduos
2 6 Frequency 9.5 10.5 11.5 12.5 0 1 -2 2 3 4 5 ajuste$residuals -1 0 1

Distribuio dos Resduos

-1.5

-0.5 0.0

0.5

1.0

1.5

predict(ajuste)

ajuste$residuals

Como podemos ver no grfico, os resduos se distribuem de forma aleatria em torno do valor 0, indicando que o modelo no tendencioso, ou seja, no subestima nem superestima os dados. O histograma de resduos mostra uma distribuio normal, confirmada atravs do teste de ShapiroWilk (valor de p maior que 0,05). Portanto, este modelo mais adequado que o modelo linear. No entanto, observaes importantes devem ser feitas. Este modelo no tem comportamento biolgico. O coeficiente negativo, ou seja, rvores com pequenos dimetros, prximos de 0,

teriam valores de altura negativos e isso no condiz com a realidade. Alm disso, o coeficiente tambm negativo o que implica em estimativas inadequadas a partir de um determinado dimetro, conforme pode ser visto no grfico onde existem os dados reais e estimados (queda da curva a partir do valor 14 cm do DAP). Por fim, vamos testar um dos modelos mais utilizados na estimativa de altura a partir de dimetro, o modelo de Curtis, que possui comportamento biolgico:

Este um modelo no linear mas que pode ser linearizvel, devendo apenas ter um pouco de cuidado na avaliao do erro do modelo. Vamos aos comandos:

> DAP <- 1/DAP > ajuste <- lm(log(ALT) ~ DAP)


37

> summary(ajuste)

Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) DAP2 --Signif. codes: 0 *** 0.001 ** 0.01 * 0.05 . 0.1 1 2.87533 -4.43941 0.06537 0.70726 43.988 < 2e-16 ***

-6.277 8.35e-06 ***

Residual standard error: 0.05866 on 17 degrees of freedom Multiple R-squared: 0.6986, F-statistic: Adjusted R-squared: 0.6808 p-value: 8.352e-06

39.4 on 1 and 17 DF,

O valor de erro no est na unidade correta pois a varivel dependente est logaritmizada. Desta forma, preciso calcular manualmente os resduos, atravs da seguinte frmula:
Onde: Y = altura real; = altura estimada; n = nmero de observaes; p = nmero de variveis independentes;

Dessa forma, podemos transform-la para a linguagem R e calcular o erro:

> erro <- sqrt(sum((ALT - exp(predict(ajuste)))^2)/(nrow(dados)-2)) > erro [1] 0.6962143

A funo sum() o somatrio da frmula. Utiliza-se a funo exp() nos dados estimados para transform-los da forma logaritmizada para o valor real. A funo nrow() nos mostra qual o nmero de observaes. Vamos elaborar os grficos de reais x estimados e dos resduos:

> plot(ALT ~ DAP, xlim=c(0,17), ylim=c(0,20), main="Observados x Estimados") > B <- coef(ajuste)[1] + coef(ajuste)[2] * (1/A) > lines(exp(B) ~ A) > plot(ajuste$residuals ~ predict(ajuste), main="Grfico de Resduos") > abline(a=0, b=0) > shapiro.test(ajuste$residuals)

Shapiro-Wilk normality test

data:

ajuste$residuals

W = 0.9685, p-value = 0.7462

38

Observados x Estimados
0.10 20

Grfico de Resduos

ajuste$residuals 0 5 10 DAP 15

ALT

-0.10 2.30

-0.05

0.00

10

0.05

15

2.40

2.50

2.60

predict(ajuste)

Como podemos ver, o modelo tem comportamento biolgico e a distribuio de resduos ocorre de forma bem aleatria. O erro baixo (0,70) e o valor de R ajustado elevado. Portanto, escolheremos esse como o melhor modelo para utilizarmos.

39