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

Próxima revisão
Revisão anterior
planeco:roteiro:07-class_base [2018/03/02 13:34] – Criação deste novo documento. melina.leiteplaneco:roteiro:07-class_base [2024/01/09 18:38] (Atual) – edição externa 127.0.0.1
Linha 92: Linha 92:
  
  
-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: +======Checando as premissas======
-<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//): +
-<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.1519997675.txt.gz · Última modificação em: 2024/01/09 18:38 (edição externa)