Ferramentas de Utilizador

Ferramentas de Site


planeco:roteiro:07-class_base

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_base [2018/03/02 13:52] melina.leiteplaneco:roteiro:07-class_base [2024/01/09 18:38] (Atual) – edição externa 127.0.0.1
Linha 91: Linha 91:
 | 6| | | | | 6| | | |
  
-===== residuos ===== 
-Agora vamos checar no R com esses mesmos dados: 
-1) Crie um diretório (//i.e.// uma pasta) para você 
  
-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...//**.  
  
-3) Crie as variáveis x e y: 
-<code> 
-x<- c(1,2,3,4,5,6) 
-y<- c(6,5,7,10,9,13) 
-</code> 
  
-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//): +======Checando as premissas======
-<code> +
-lm.xy<-lm(y~x) +
-summary(lm.xy) +
-</code> +
- +
- +
- +
-====Checando as premissas====+
 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: 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:
  
Linha 145: Linha 128:
  
 </WRAP> </WRAP>
- 
- 
-Carregue o pacote //car//: 
-<code> 
-library(car) 
-</code> 
  
 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.
Linha 156: Linha 133:
 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: +======Como saber se os erros/resíduos seguem uma distribuição normal?======
-<code> +
-algas.peixes <- read.csv("algas_peixes.csv", sep=";"+
-head(algas.peixes) +
-summary(algas.peixes) +
-</code> +
- +
-Avalie visualmente a relação entre as variáveis com o gráfico //scatterplot//: +
-<code> +
-scatterplot(BIOMASSA_PEIXES_HERB~BIOMASSA_ALGAS, data=algas.peixes) +
-</code> +
- +
-Ajuste um modelo de regressão linear para as variáveis, usando a função //lm()//: +
-<code> +
-lm.algas.peixes<-lm(BIOMASSA_PEIXES_HERB~BIOMASSA_ALGAS, data=algas.peixes) +
-summary (lm.algas.peixes) +
-</code> +
- +
-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> +
-lm.algas.peixes$residuals +
-</code> +
- +
-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.
  
-Histograma 
-<code> 
-hist(lm.algas.peixes$residuals) 
-</code> 
  
-Boxplot +====== Como saber se a variância dos erros/resíduos é constante?======
-<code> +
-boxplot(lm.algas.peixes$residuals) +
-</code>+
  
- 
- 
-Gráfico Quantil-Quantil 
-<code> 
-qqnorm(lm.algas.peixes$residuals) 
-qqline(lm.algas.peixes$residuals) 
-</code> 
- 
-===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 //Yestimado// 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> 
-res.a.p<-lm.algas.peixes$residuals 
-</code> 
- 
-<code> 
-yest.a.p<-lm.algas.peixes$fitted.values 
-</code> 
- 
-<code> 
-plot(res.a.p~yest.a.p, xlab="Y estimado", ylab="Resíduos") 
-</code> 
  
 +====== residuo2 ======
 **Como você interpreta esse gráfico? **Como você interpreta esse gráfico?
 Você nota algum padrão na distribuição dos erros/resíduos?** Você nota algum padrão na distribuição dos erros/resíduos?**
Linha 232: Linha 154:
  
  
-===Como saber se uma reta representa o melhor ajuste?=== +====Como saber se uma reta representa o melhor ajuste?==== 
-O primeiro gráfico a ser feito é um gráfico de dispersão (XY) simples. Uma curva suavizada pode ser plotada para ajudar a analisar a tendência geral+O primeiro gráfico a ser feito é um gráfico de dispersão (XY) simples. Uma curva suavizada pode ser plotada para ajudar a analisar a tendência geral ((a gente já fez esse gráfico acima!)).
-<code> +
-scatterplot(y~x) +
-</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// X //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?====
  
 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.
Linha 260: Linha 179:
 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. 
 Para o primeiro conjunto de dados (algas_peixes.csv), nós já fizemos isso, então, vamos apenas inspecionar o resumo do modelo: Para o primeiro conjunto de dados (algas_peixes.csv), nós já fizemos isso, então, vamos apenas inspecionar o resumo do modelo:
-<code> 
-summary (lm.algas.peixes) 
-</code> 
  
- +====== Final ======
-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: +
-<code> +
-par(mfrow=c(2,2)) +
-plot(lm.algas.peixes) +
-par(mfrow=c(1,1)) +
-</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** **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.** **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> 
- 
- 
- 
- 
planeco/roteiro/07-class_base.1519998745.txt.gz · Última modificação em: 2024/01/09 18:38 (edição externa)