Ferramentas de Utilizador

Ferramentas de Site


planeco:roteiro:07-class

Diferenças

Esta página mostra as diferenças entre as duas revisões da página.

Links para esta vista de comparação

Ambos os lados da revisão anteriorRevisão anterior
Próxima revisão
Revisão anterior
planeco:roteiro:07-class [2017/03/22 16:33] – [Checando as premissas] amzmartiniplaneco:roteiro:07-class [2024/01/09 18:38] (Atual) – edição externa 127.0.0.1
Linha 1: Linha 1:
 +ESSA PAGINA NAO ESTÁ EM USO, ESTÁ APENAS DE BACKUP COMO VERSÃO ORIGINAL PARA AS VERSÕES R E RCMDR DO ROTEIRO
 +
 ====== Testes Clássicos ====== ====== Testes Clássicos ======
  
Linha 93: Linha 95:
  
 Agora vamos checar no R com esses mesmos dados: Agora vamos checar no R com esses mesmos dados:
 +1) Crie um diretório (//i.e.// uma pasta) para você
  
-1) Abra o R+2) Abra o R no seu computador e mude o diretório de trabalho para o diretório que você criou, usando o menu **//Arquivo//** > **//mudar dir...//**. 
  
-2) Crie as variáveis x e y:+3) Crie as variáveis x e y:
 <code> <code>
 x<- c(1,2,3,4,5,6) x<- c(1,2,3,4,5,6)
Linha 102: Linha 105:
 </code> </code>
  
-3) Ajuste um modelo de regressão linear simples (lm) e inspecione o resumo (//summary//) do modelo, que contém informações importantes sobre o modelo, incluindo os valores brutos dos resíduos:+4) Ajuste um modelo de regressão linear simples usando a função //lm()// e inspecione o resumo do modelo usando a função //summary()//, que fornece informações importantes sobre o modelo, incluindo os valores brutos dos erros/resíduos (//residuals//):
 <code> <code>
 lm.xy<-lm(y~x) lm.xy<-lm(y~x)
Linha 111: Linha 114:
  
 ====Checando as premissas==== ====Checando as premissas====
-Ok, agora que você entendeu como são calculados os resíduos, vamos trabalhar com conjuntos de dados maiores para podermos entender como checar as premissas da análise de regressão linear de uma maneira um pouco mais realista:+Ok, agora que você entendeu como são calculados os erros/resíduos, vamos trabalhar com conjuntos de dados maiores para podermos entender como checar as premissas da análise de regressão linear de uma maneira um pouco mais realista: 
 + 
 +Baixe os arquivos de dados para o seu diretório: 
  
-Baixe os arquivos de dados: 
   * {{ :planeco:roteiro:algas_peixes.csv |algas_peixes.csv}}   * {{ :planeco:roteiro:algas_peixes.csv |algas_peixes.csv}}
   * {{ :planeco:roteiro:algas_peixes2.csv |algas_peixes2.csv}}   * {{ :planeco:roteiro:algas_peixes2.csv |algas_peixes2.csv}}
   * {{ :planeco:roteiro:insetos_peixes.csv |insetos_peixes.csv}}   * {{ :planeco:roteiro:insetos_peixes.csv |insetos_peixes.csv}}
   * {{ :planeco:roteiro:vol_inds.csv |vol_inds.csv}}   * {{ :planeco:roteiro:vol_inds.csv |vol_inds.csv}}
 +
 +
 +<WRAP center round info 90%>
 +**Descrição dos conjuntos de dados:**
 +
 +Um grupo de pesquisadores vem trabalhando há muito tempo com peixes da família Rivulidae que ocorrem em lagos temporários. Esses peixes crescem e se reproduzem nesses lagos temporários durante o período de chuvas e seus ovos ficam dormentes durante o período de seca.
 +
 +Do total de lagos temporários existentes, foram sorteados 20 lagos e na época chuvosa os seguintes dados foram coletados:
 +  * - Biomassa de algas
 +  * - Biomassa de insetos aquáticos
 +  * - Volume do lago
 +  * - Biomassa de peixes herbívoros
 +  * - Biomassa de peixes insetívoros
 +  * - Número de indivíduos adultos da espécie mais abundante (//Austrolebias charrua//)
 +
 +- O primeiro conjunto de dados (algas_peixes.csv) foi obtido com o objetivo de analisar se a biomassa de algas existente nos lagos influencia a biomassa de peixes herbívoros e se essa relação é linear.
 +
 +- O segundo conjunto de dados (algas_peixes2.csv) foi obtido com o mesmo objetivo anterior, mas em outros 20 lagos diferentes
 +
 +- O terceiro conjunto de dados (insetos_peixes.csv) foi obtido com o objetivo de analisar se a biomassa de insetos existente nos lagos influencia a biomassa de peixes insetívoros e se essa relação é linear.
 +
 +- O quarto conjunto de dados (vol_inds.csv) foi obtido com o objetivo de analisar se o volume de água de cada lago afeta o número de indivíduos da espécie //Austrolebias charrua// existente no lago e se essa relação é linear.
 +
 +</WRAP>
  
  
Linha 126: Linha 155:
  
 O primeiro passo é ajustar um modelo de regressão linear aos dados obtidos. O primeiro passo é ajustar um modelo de regressão linear aos dados obtidos.
-Inicialmente vamos trabalhar com o conjunto de dados algas_peixes.csv+ 
 +Inicialmente vamos trabalhar com o conjunto de dados //algas_peixes.csv//
  
 Importe o arquivo para o R e conheça os dados: Importe o arquivo para o R e conheça os dados:
Linha 135: Linha 165:
 </code> </code>
  
-Avalie visualmente a relação entre as variáveis+Avalie visualmente a relação entre as variáveis com o gráfico //scatterplot//:
 <code> <code>
 scatterplot(BIOMASSA_PEIXES_HERB~BIOMASSA_ALGAS, data=algas.peixes) scatterplot(BIOMASSA_PEIXES_HERB~BIOMASSA_ALGAS, data=algas.peixes)
 </code> </code>
  
-Ajuste um modelo de regressão linear para as variáveis:+Ajuste um modelo de regressão linear para as variáveis, usando a função //lm()//:
 <code> <code>
 lm.algas.peixes<-lm(BIOMASSA_PEIXES_HERB~BIOMASSA_ALGAS, data=algas.peixes) lm.algas.peixes<-lm(BIOMASSA_PEIXES_HERB~BIOMASSA_ALGAS, data=algas.peixes)
Linha 146: Linha 176:
 </code> </code>
  
-Agora vamos olhar especificamente os resíduos:+Use a função "names()" para saber quais são as informações que estão disponíveis sobre esse modelo: 
 +<code> 
 +names(lm.algas.peixes) 
 +</code>
  
 +Se você quiser olhar detalhadamente alguma dessas informações, basta escrever o //nome_do_modelo$nome_da_informação//. Então, vamos olhar especificamente os erros/resíduos:
 <code> <code>
 lm.algas.peixes$residuals lm.algas.peixes$residuals
 </code> </code>
  
-===Como saber se os resíduos seguem uma distribuição normal?===+O mesmo pode ser feito para conhecer os valores ajustados (//fitted.values//), os coeficientes a e b (//coef//), etc. 
 + 
 +===Como saber se os erros/resíduos seguem uma distribuição normal?===
 Lembre dos métodos usados no tutorial de [[planeco:roteiro:05-descr|ANÁLISES EXPLORATÓRIAS DE DADOS]]. Escolha um dos métodos disponíveis para avaliar a normalidade dos dados e aplique a mesma lógica para a distribuição dos erros/resíduos. Lembre dos métodos usados no tutorial de [[planeco:roteiro:05-descr|ANÁLISES EXPLORATÓRIAS DE DADOS]]. Escolha um dos métodos disponíveis para avaliar a normalidade dos dados e aplique a mesma lógica para a distribuição dos erros/resíduos.
  
Linha 173: Linha 209:
 </code> </code>
  
-===Como saber se a variância dos resíduos é constante?=== +===Como saber se a variância dos erros/resíduos é constante?=== 
-Para qualquer valor de X (ou de Yobservado, ou de Yestimado) os valores máximos e mínimos dos resíduos devem ser similares. Então, podemos fazer um gráfico em que relacionamos os valores de Yestimado (ou seja, os valores de Y que são indicados pela reta de regressão) e os valores dos resíduos para cada Y estimado+Para qualquer valor de X (ou de //Yobservado//, ou de //Yestimado//) os valores máximos e mínimos dos resíduos devem ser similares. Então, podemos fazer um gráfico em que relacionamos os valores de //Yestimado// (ou seja, os valores de Y que são indicados pela reta de regressão) e os valores dos //Resíduos// para cada //Yestimado//
  
 <code> <code>
Linha 189: Linha 225:
  
 **Como você interpreta esse gráfico? **Como você interpreta esse gráfico?
-Você nota algum padrão na distribuição dos resíduos?**+Você nota algum padrão na distribuição dos erros/resíduos?**
  
-O mesmo gráfico (Resíduos X Yestimado) que é utilizado para avaliar se a variância é constante (homoscedasticidade), também pode ser utilizado para checar se existe alguma assimetria, algum viés (positivo ou negativo) ou alguma tendência de que a relação seja melhor definida por uma curva do que por uma reta. +O mesmo gráfico (//Resíduos// //Yestimado//) que é utilizado para avaliar se a variância é constante (homoscedasticidade), também pode ser utilizado para checar se existe alguma assimetria, algum viés (positivo ou negativo) ou alguma tendência de que a relação seja melhor definida por uma curva do que por uma reta. 
  
-A figura abaixo mostra vários exemplos de relações com ou sem homoscedasticidade e com ou sem vieses (//biased// ou //unbiased//):+A figura abaixo mostra vários exemplos desse gráfico entre //Resíduos// X //Yestimado// relações com ou sem homoscedasticidade e com ou sem vieses (//biased// ou //unbiased//):
  
 {{ :planeco:roteiro:resid-plots.gif |}} {{ :planeco:roteiro:resid-plots.gif |}}
Linha 204: Linha 240:
 </code> </code>
  
-Adicionalmente, o gráfico de Resíduos X Yestimado (acima) também indica se existe alguma tendência de melhor ajuste a uma curva do que a uma reta. +Adicionalmente, o gráfico de //Resíduos// //Yestimado// (acima) também indica se existe alguma tendência de melhor ajuste a uma curva do que a uma reta. 
  
 ===Como saber se alguma observação está influenciando demais os parâmetros da regressão?=== ===Como saber se alguma observação está influenciando demais os parâmetros da regressão?===
Linha 210: Linha 246:
 Além de testar as premissas, também é importante fazer um diagnóstico para verificar se existem //outliers// e se eles afetam muito o resultado da análise de regressão. Além de testar as premissas, também é importante fazer um diagnóstico para verificar se existem //outliers// e se eles afetam muito o resultado da análise de regressão.
  
-Para medir a influência de uma observação usamos uma medida denominada "Distância de Cook" que leva em consideração o resíduo da observação e a //leverage//, que pode ser traduzida como "alavancagem" Essa medida indica o quanto um dado valor de influencia o valor de Y estimado. Quanto mais o valor de x for distante do valor médio de x, maior a //leverage//.  Se o valor de //leverage// for plotado contra o valor dos resíduos, os pontos que possuírem as maiores //leverage// e também resíduos grandes (positivos ou negativos) serão os pontos com maiores influências. Isso significa que se esse ponto for retirado das análises, a reta de regressão pode muda muito.+Para medir a influência de uma observação usamos uma medida denominada **"Distância de Cook"** que é calculada para cada observação e leva em consideração o erro/resíduo (//**e**//e a //leverage// (//**hii**//) da observação, que pode ser traduzida como "alavancagem"A //leverage// indica o quanto um dado valor de influencia o valor de //Yestimado//. 
  
 +{{ :planeco:roteiro:distancia_cook_equacao_portugues.png?300 |}}
  
-Masdevido ao tempo escasso, não vamos construir esse gráfico passo-a-passo. Vamos usar uma função mágica do R que vai mostrar 4 gráficos de diagnóstico de uma só vez e incluirá esse gráfico para que você possa analisar.+<WRAP center round tip 90%> 
 +Valores altos de Distância de Cook significam que se esse ponto for retirado das análisesa inclinação da reta de regressão pode mudar muito. Veja o exemplo abaixo, do livro de Quinn & Keough (2008), mostrando o efeito de três diferentes pontos sobre a inclinação da reta. 
 +{{ :planeco:roteiro:figuraleverageq_k.jpg?300 |}} 
 +</WRAP> 
 + 
 + 
 +Se o valor dos //Resíduos// for plotado em relação ao valor de //leverage//, os pontos que possuírem as maiores //leverage// e também erros/resíduos grandes (positivos ou negativos) serão os pontos com maiores **Distâncias de Cook** e consequentemente, com maiores **influências** sobre os parâmetros da reta.  
 + 
 +Devido ao tempo escasso, não vamos construir esse gráfico passo-a-passo. Vamos usar uma função mágica do R que vai mostrar 4 gráficos de diagnóstico de uma só vez e incluirá esse gráfico para que você possa analisar.
  
-O primeiro passo é ajustar um modelo de regressão linear aos dados obtidos. Vamos fazer isso com o primeiro conjunto de dados: +O primeiro passo é ajustar um modelo de regressão linear aos dados obtidos.  
-/* +Para o primeiro conjunto de dados (algas_peixes.csv), nós já fizemos isso, então, vamos apenas inspecionar o resumo do modelo:
-CONSERTAR NOMES DAS VARIÁVEIS E OBJETOS+
 <code> <code>
-lm.xy<-lm(y~x) +summary (lm.algas.peixes)
-summary(lm.xy)+
 </code> </code>
-*/ 
  
  
 Agora, vamos definir que sejam construídos os 4 gráficos de diagnóstico para esse modelo e que eles sejam colocados em uma mesma página: Agora, vamos definir que sejam construídos os 4 gráficos de diagnóstico para esse modelo e que eles sejam colocados em uma mesma página:
-/* 
-CONSERTAR NOMES DAS VARIÁVEIS E OBJETOS 
 <code> <code>
 par(mfrow=c(2,2)) par(mfrow=c(2,2))
-plot (lm.xy)+plot(lm.algas.peixes)
 par(mfrow=c(1,1)) par(mfrow=c(1,1))
 </code> </code>
-*/ 
  
-Obs.: Note que o gráfico inferior à direita é o gráfico que mostra a distância de Cook.+**Obs.: Note que o gráfico inferior à direita é o gráfico que mostra a distância de Cook.** 
 + 
 +**Salve essa página como.pdf e coloque o mesmo nome do arquivo de dados** 
 + 
 + 
 + 
 +**Repita o mesmo procedimento para os outros conjuntos de dados e avalie quais premissas estão sendo atendidas ou não para cada um.** 
 +<code> 
 +## copie uma linha por vez: 
 +algas.peixes2 <- read.csv("algas_peixes2.csv", sep=";"
 +head(algas.peixes2) 
 +summary(algas.peixes2) 
 +scatterplot(BIOMASSA_PEIXES_HERB2~BIOMASSA_ALGAS2, data=algas.peixes2) 
 +lm.algas.peixes2<-lm(BIOMASSA_PEIXES_HERB2~BIOMASSA_ALGAS2, data=algas.peixes2) 
 +summary (lm.algas.peixes2) 
 + 
 +## copie as três linhas juntas: 
 +par(mfrow=c(2,2)) 
 +plot (lm.algas.peixes2) 
 +par(mfrow=c(1,1)) 
 +</code> 
 + 
 +<code> 
 +## copie uma linha por vez: 
 +insetos.peixes <- read.csv("insetos_peixes.csv", sep=";"
 +head(insetos.peixes) 
 +summary(insetos.peixes) 
 +scatterplot(BIOMASSA_PEIXES_INS~BIOMASSA_INSETOS, data=insetos.peixes) 
 +lm.insetos.peixes<-lm(BIOMASSA_PEIXES_INS~BIOMASSA_INSETOS, data=insetos.peixes) 
 +summary(lm.insetos.peixes) 
 + 
 +## copie as três linhas juntas: 
 +par(mfrow=c(2,2)) 
 +plot (lm.insetos.peixes) 
 +par(mfrow=c(1,1)) 
 +</code> 
 + 
 +<code> 
 +## copie uma linha por vez: 
 +vol.inds <- read.csv("vol_inds.csv", sep=";"
 +head(vol.inds) 
 +summary(vol.inds) 
 +scatterplot(INDIVIDUOS_AUSTROL~VOLUME_LAGO, data=vol.inds) 
 +lm.vol.inds<-lm(INDIVIDUOS_AUSTROL~VOLUME_LAGO, data=vol.inds) 
 +summary(lm.vol.inds) 
 + 
 +## copie as três linhas juntas: 
 +par(mfrow=c(2,2)) 
 +plot (lm.vol.inds) 
 +par(mfrow=c(1,1)) 
 +</code> 
 + 
  
-Repita o mesmo procedimento para os outros conjuntos de dados e avalie quais premissas estão sendo atendidas ou não para cada um. 
  
planeco/roteiro/07-class.1490200427.txt.gz · Última modificação em: 2024/01/09 18:38 (edição externa)