====== Modelos Lineares ====== {{:cursos:planeco:roteiro:lmComics.jpg?400|}} Os modelos lineares são uma generalização dos testes de hipótese clássicos mais simples. Uma regressão linear, por exemplo, só pode ser aplicada para dados em que as variáveis são contínuas. Os modelos lineares não tem essa limitação, podemos usar variáveis contínuas ou categóricas indistintamente. No nosso quadro de testes clássicos frequentistas, definimos os testes, baseados na natureza das variáveis respostas e preditoras. {{:cursos:planeco:planeco:roteiro:tabTestes.png?700|}} No caso, os modelos lineares dão conta de todos os testes nessa tabela que tenham a __** variável resposta contínua**__. Portanto, já não há mais necessidade de decorar os nomes: //teste-t//, //Anova//, //Anova Fatorial//, //Regressão Simples//, //Regressão Múltipla//, //Ancova// entre muitos outros nomes de testes que foram incorporados nos modelos lineares. Isso não livra o bom usuário de estatística de entender a natureza das variáveis que está trabalhando. Isso continua sendo imprescindível para tomar boas decisões ao longo do processo de análise e interpretação destes dados. ====== Simulando dados ====== Vamos começar com um exemplo simples de regressão, mas de forma diferente da usual. Vamos usar a engenharia reversa para entender bem o que os modelos estatísticos estão nos dizendo. Iremos inicialmente criar nossos dados. Abra uma planilha eletrônica e siga os passos descritos abaixo: * nomeie a coluna **//A//** como **x** na célula A1; * preencha as células A2:A16 com uma sequência de valores de 0.5 a 7.5, em intervalos de 0.5 {{ :cursos:planeco:planeco:roteiro:plx.png?400 |}} * nomeie a coluna **//B//** como **y0** na célula B1; * preencha a célula **B2** com a fórmula **//= 4 + 3.5 * A2//** * copie a formula para as células B3:B16, clicando e arrastando o mouse quando aparecer no canto inferior esquerdo da célula **//B2//** o sinal de **+**. {{ :cursos:planeco:planeco:roteiro:plaxy.png?400 |}} * nomeie a coluna **//C//** como **desvio** na célula C1; * preencha a células **C2** com a fórmula **// = INV.NORM.N(ALEATÓRIO(); 0 ; 4)//** (Em versões mais antigas do Excel, essa função tinha o nome de //INV.NORM// e para computadores em inglês use a função no seguinte formato: //NORM.INV(RAND(); 0; 4)//). Essa fórmula vai retornar valores aleatórios tomados de uma distribuição normal com média 0 e desvio padrão 4; * copie a formula para as células C3:C16, clicando e arrastando o mouse quando aparecer no canto inferior esquerdo da célula **//B2//** o sinal de **+**. * nomeie a coluna **//D//** como **y1** na célula D1; * A variável **y1** na coluna **//D//** é a soma do valor da coluna **//B//** com o valor da coluna **//C//** (y0+ desvio). Para fazer isso, coloque na célula D2 a função **//=soma(B2:C2)//**, depois copie para as outras células da coluna * salve a planilha como texto separado por vírgulas e use o nome "xy.csv" {{ :cursos:planeco:planeco:roteiro:plres.png?400 | }} A função INV.NORM.N() tem três parâmetros, (1) probabilidade, (2) média e (3) desvios padrão. Ao definir o terceiro parâmetro, estamos amostrando valores de uma distribuição normal com desvio padrão igual a 4. * importe os dados da planilha para o Rcommander e use o nome **xy** ; * garanta que os dados foram lidos corretamente, clicando em //View data set// {{ :cursos:planeco:planeco:roteiro:Rcmdrxy.png?400 |}} ====== Modelo Linear Simples ====== ===== Criando o modelo no Rcmdr ===== Abra o menu **Statistics** > **Fit Models** > ** Linear Models...** {{:cursos:planeco:planeco:roteiro:RcmdrLM01.png?500|}} * Defina o nome desse modelo como **mod1** * A fórmula do modelo tem duas caixas. Na caixa da esquerda (antes do símbolo **~**) você deve colocar a variável resposta, que nesse caso é a nossa variável **y1**. * Na caixa da direita (após o **~**) coloque a variável preditora, que nesse caso é a variável **x** {{ :cursos:planeco:roteiro:equacaoXYmod1.png?500 |}} * interprete o resultado do ajuste. Onde está o valor da inclinação da reta ajustada? * copie o resultado do **summary** do modelo que aparece na janela **Output** {{ :cursos:planeco:roteiro:summaryMod1xy.png?500 |}} ===== Resultados do Modelo Linear Simples ===== Anote os valores do resultado da análise na planilha [[https://docs.google.com/spreadsheets/d/1fpSEifW91hy-FaJeHSlA3LoAVv0KVOovqQMcGzIXILw/edit?usp=sharing| resultados do modelo linear]] ==== Tabela de Anova do LM ==== * confira se o modelo ativo é o que montou anteriormente (**mod1**). Isso deve ser checado na caixa "Model" que fica no canto superior direito da tela do Rcommander. * vá ao menu ** Models ** > ** Hypothesis Test** > **ANOVA table... ** * marque a opção: ** Sequential ("Type I")** {{:cursos:planeco:planeco:roteiro:RcmdrAnova.png?500|}} * copie o resultado da tabela de ANOVA * interprete o resultado da tabela ==== Comparando com Modelo Nulo ==== * monte um novo modelo, chamado "mod0" (** Statistics** > ** Fit Models ** > ** Linear Models **) * como variável resposta use //__y1__// * no lugar da preditora coloque o valor ** __1__ ** * interprete o resultado desse modelo * compare o mod0 com o mod1 (** Models ** > ** Hypothesis Test** > **Compare two models... **) * compare esse resultado com a tabela de ANOVA do modelo mod1 ==== Resíduo do Modelo ==== * simule um novo conjunto de dados usando os mesmo passos anteriores, mudando apenas o comando INV.NORM.N(ALEATÓRIO(); 0 ; 4) para INV.NORM.N(ALEATÓRIO(); 0 ; 2) * refaça o modelo com os novos dados e compare o resultado com o modelo anterior ==== Múltiplos experimentos ==== A base da estatística frequentista é que uma amostra e seus resultados são uma realização dos possíveis resultados provenientes de uma população ideal, na qual não temos acesso. Utilizando os resultados de outros alunos da tabela [[https://docs.google.com/spreadsheets/d/1fpSEifW91hy-FaJeHSlA3LoAVv0KVOovqQMcGzIXILw/edit?usp=sharing| resultados do modelo linear]] e o que aprendeu no exercício, responda: * 1. Qual o parâmetro da população referentes a relação entre x e y? * 2. Porque as estimativas variam entre os modelos ajustados se todos seguiram o mesmo roteiro? * 3. Quais os valores médios estimados de alfa (intercepto), beta (inclinação) e desvio padrão das estimativas de todos os alunos? O valor médio é mais ou menos parecido com o parâmetro populacional? Explique. * 4. Qual a fonte principal das variações encontradas nas estimativas dos parâmetros e seu paralelo em um experimento real? ===== Tabela de Anova de uma Regressão ===== {{:cursos:planeco:roteiro:lagartaTrans.png?400 | }} O nosso próximo exercício usa os dados de crescimento de lagartas submetidas a dietas de folhas com diferentes concentrações de taninos. São apenas duas variáveis, **growth**, o crescimento da lagarta, e **tannins**, a concentração de taninos. O objetivo é verificar se há relação entre o crescimento da lagarta e a concentração de taninos da dieta. ==== Desvio Quadrático Total ==== * baixe o arquivo {{ :planeco:roteiro:regression.txt |}}; * abra o arquivo no Excel; * calcule a média de crescimento dos dados; * calcule o valor de desvio total dos dados (o crescimento observado menos a média do crescimento); * calcule o desvio quadrático total; ==== Estimação dos Parâmetros e Resíduos ==== * calcule o intercepto e a inclinação do modelo linear no próprio excel, usando as funções descritas no quadro abaixo; Para o cálculo dos parâmetros da reta use as funções do Excel: * **''INCLINAÇÃO''** * **''INTERCEPÇÃO''** * a partir da inclinação e do intercepto estimado, calcule o valor predito pelo modelo em uma coluna chamada **predMod** * crie uma outra coluna (**resdMod**) com os valores de resíduos do modelo para cada observação (observado menos o predito pelo modelo); * calcule o desvio quadrático do resíduo para cada observação; * some os desvios quadráticos dos resíduos; ==== Tabela de Anova de um Modelo Linear ==== * monte uma tabela de ANOVA com as somas quadráticas como no [[cursos:planeco:roteiro:07-classrcmdr#anovaanalise_de_variancia|tutorial de anova]]; ==== Equações ==== === Somas Quadráticas === $$SS_{TOTAL} = \sum_{i=1}^n (y_{i} - \bar{y})^2$$ $$SS_{res} = \sum_{i=1}^n (y_{i} - \hat{y_i})^2$$ $$SS_{TOTAL} = SS_{regr} + SS_{res} $$ $\bar{y}$ = média da variável resposta $\hat{y_i}$ = valor estimado pelo modelo para $x_i$ * Calcule o p-valor associado à estatística F do modelo Utilize no excel o valor ** 1- DIST.F(F, df1, df2, VERDADEIRO)** para o calculo do p-valor sendo F o valor da estatística F calculada, df1 o grau de liberdade da regressão (normalmente 1) e df2 o valor de graus de liberdade da desvios quadráticos médios dos resíduos. * calcule o $r2$ (coeficiente de determinação) da regressão ((desvios quadráticos da regressão dividido pelo soma dos desvios quadrático total)); $$ R^2 = \frac{SS_{regr}}{SS_{TOTAL}} * entre os dados no Rcmdr e faça um modelo linear do crescimento em função da concentração de taninos; * faça o teste de hipótese por ANOVA do modelo gerado; * compare o resultado obtido na planilha com a ANOVA do modelo linear do Rcmdr; ===== Variáveis Dummies ===== * baixe o arquivo {{ :planeco:roteiro:colheita.csv |}} * abra no excel * note que a variável solo tem agora 4 níveis: arenoso, argiloso, húmico e alagado * transforme a variável solo em dummy (3 novas colunas: arenoso, argiloso, húmico) (( "000", "100", "010" e "001" representando cada uma uma variável, note que um nível não foi representado como dummy, esse será representado pelo intercepto do modelo)) * salve o arquivo com texto e abra no Rcmdr * crie o modelo linear desses dados com as novas variáveis como preditoras * Importe os dados para o Rcommander * Ajuste um modelo com as variáveis dummy no menu **Estatística > Ajuste de Modelos > Modelo Linear**. Use a fórmula abaixo para construi o modelo. colhe ~ arenoso + argiloso + humico * Ajuste o modelo normal de ANOVA seguindo os mesmo passos anteriores mudando a fórmula do modelo para: colhe~solo * Avalie o modelo ANOVA indo no menu **Modelos > Resumir modelo** e clique em OK. * Para olhar a tabela de ANOVA, vá no menu no menu **Modelos > Testes de hipóteses > Tabela de ANOVA** * compare os coeficientes dos dois modelos (veja os resultados na janela **Outputs**)