===== 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 tanto a variável preditora quanto a resposta são contínuas, enquanto uma análise de variância é utilizada quando a variável preditora é categórica. Os modelos lineares não têm essa limitação, podemos usar variáveis contínuas ou categóricas indistintamente. {{youtube>b4VgLr6loGE}} 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|}} Os modelos lineares dão conta de todos os testes apresentados na tabela acima 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á utilizando. Isso continua sendo imprescindível para tomar boas decisões ao longo do processo de análise e interpretação dos 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 e como interpretar os resultados produzidos. Para isso vamos inicialmente gerar dados fictícios. Esses dados terão dois componentes: uma estrutura determinística e outra aleatória. A primeira está relacionada ao processo de interesse e relaciona a variável resposta à preditora. No caso, essa estrutura é linear e tem a seguinte forma: $$ y = {\alpha} + {\beta} x$$ O componente aleatório é expresso por uma variável probabilística Gaussiana da seguinte forma: $$ \epsilon = N(0, \sigma) $$ Portanto, nossos dados serão uma amostra de uma população com a seguinte estrutura: $$ y = {\alpha} + {\beta} x + \epsilon$$ Parece complicado, mas é razoavelmente simples gerar dados aleatórios em nosso computador baseado nessa estrutura. Para isso, 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élula **C2** com a fórmula **// = INV.NORM.N(ALEATÓRIO(); 0 ; 2)//** ((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; 2)//, no calc do LibreOffice use //=NORMINV(RAND(),0,2))//.)). **Essa fórmula vai retornar valores aleatórios tomados de uma distribuição normal com média 0 e desvio padrão 2**; * 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 2. * importe os dados da planilha para o Rcommander (lembrando de selecionar como separador a vírgula) 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 I ==== Anote os valores do resultado da análise na planilha [[https://docs.google.com/spreadsheets/d/1fpSEifW91hy-FaJeHSlA3LoAVv0KVOovqQMcGzIXILw/edit?usp=sharing|modelo linear I]] **ATENÇÃO A PLANILHA GOOGLE PODE ESTAR FORMATADA PARA DECIMAL COM '',''. CONFIRA AO FAZER A TRANSPOSIÇÃO DE VALORES** ==== Múltiplos Experimentos ==== A base da estatística frequentista é que uma amostra e seus resultados são apenas uma realização dentre os possíveis resultados provenientes de uma população real, a qual não temos acesso. Utilizando os resultados de outros alunos na tabela [[https://docs.google.com/spreadsheets/d/1fpSEifW91hy-FaJeHSlA3LoAVv0KVOovqQMcGzIXILw/edit?usp=sharing| modelo linear I]], vamos investigar alguns conceitos importantes. - Baixe a planilha [[https://docs.google.com/spreadsheets/d/1fpSEifW91hy-FaJeHSlA3LoAVv0KVOovqQMcGzIXILw/edit?usp=sharing| modelo linear I]] no seu computador, depois de incluir o seu dado. Não calcule nenhum valor diretamente na planilha do Google - Calcule a média e o desvio padrão dos parâmetros dessa planilha - Conte o número de vezes que o p-valor foi maior do que 0.05. - Responda as perguntas indicadas no questionário no final dessa atividade. ==== Incertezas ==== Para entendermos melhor o que afeta nossas estimativas e também o resíduo do modelo (ou erro), vamos fazer uma pequena modificação nos nossos dados simulados, aumentando (MUITO!) a variabilidade do nosso sistema. Para isso precisamos apenas mudar o parâmetro dos dados simulados associados à sua variância (no caso, o parâmetro desvio padrão). Desta forma, a nossa população estatística incorpora maior variabilidade. Isso, por consequência, afeta nossas estimativas. Vamos investigar como: * simule um novo conjunto de dados usando os mesmo passos anteriores, mudando apenas o comando: **INV.NORM.N(ALEATÓRIO(); 0 ; 2)** para: **INV.NORM.N(ALEATÓRIO(); 0 ; 4)** * refaça todos os cálculos ==== Resultado do Modelo II ==== Guarde os resultados base do modelo na planilha [[https://docs.google.com/spreadsheets/d/11S0hg-qxjGUws8ulqkTC7vMGax-5A8qT6KjZW4xLxxE/edit?usp=sharing| modelo linear simples II]] **Salve o arquivo com os dado simulados pois iremos utilizá-lo no próximo roteiro.** __**PARA ENTREGAR ANTES DO INÍCIO DA PRÓXIMA AULA**__ Preencha as perguntas no formulário abaixo até antes da próxima aula ou a data estipulada pela equipe da disciplina. Caso tenha algum problema, faça pelo link [[https://forms.gle/kP4UiKhdhDLLA27bA]]. Em caso de mais de uma submissão, a última, antes do final do prazo, será considerada. {{url>https://forms.gle/kP4UiKhdhDLLA27bA}} ===== Exercício Modelo Linear Simples ===== Responda o formulário abaixo. ** Para enviar as respostas é necessário estar logado no wiki.** Utilize: * usuário: //alunos// * senha: //planeco2020//
action pagemod cursos:planeco:respostas:lm01 table_adder thanks "Respostas enviadas" fieldset "Seus dados" textbox "Nome" @ textbox "Email" @ select "Nível" "mestrado|doutorado|nenhum" @ select "Programa" "Ecologia IBUSP| IBUSP| USP| Outra Universidade" fieldset "Quais parâmetros definem a população?" multiselect "Selecione:" "Intercepto|P_valor|Resíduos|Inclinação|Amostra|Desvio_padrão|R_quadrado|Graus_de_liberdade" fieldset "Anote os valores médios de todos os alunos da planilha Modelo Linear simples I e II" number "Intercept I" number "Intercept II" number "Slope I" number "Slope II" number "Erro Padrão I" number "Erro Padrão II" number "R squared I" number "R squared II" fieldset "Anote quantas vezes o p-valor foi maior que 0.05:" number "modelo I" number "modelo II" fieldset "Explique o que aconteceria aos valores médios das estimativas se acrescentássemos mais 1000 alunos na turma?" textarea "Resposta 1:" ! fieldset "Descreva quais as diferenças observadas nos resultados médios do modelo I e II" textarea "Resposta 2:" ! fieldset "Qual(is) valores(s) apresentado(s) no modelo indica(m) " textbox "variabilidade do sistema:" textbox "incerteza nas estimativas:" fieldset "Qual a interpretação do p-valor e do r-squared nos modelos lineares?" textarea "p-valor:" ! textarea "r-squared:" ! submit
====== Tabela de Anova de uma Regressão ====== Os modelos podem ser analisados através do método de partição de variância que aprendemos no roteiro de [[cursos:planeco:roteiro:07b-anovarcmdr|]]. Vamos utilizar os dados do modelo II que simulamos (dp = 4) no tutorial do tópico [[cursos:planeco:roteiro:08-lm_rcmdr#simulando_dados|]] do roteiro anterior e criar novamente o modelo linear no Rcmdr((caso não lembre, volte ao roteiro e refaça a construção do modelo com os dados gerados com dp = 4)). {{youtube>C4urUFRGDvo}} ==== Tabela de Anova do LM ==== * confira se o modelo está ativo. 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 ==== O modelo gerado e seu resultado, apresentado na tabela de partição de variância, nada mais é do que uma comparação com o modelo nulo. A tabela de Anova de um modelo isolado é equivalente a comparar o modelo em questão com o modelo nulo. Para verificarmos isso, vamos comparar o resultado da tabela de anova do modelo com uma tabela de anova que compara o modelo com o modelo nulo. O entendimento desse conceito será fundamental para entendermos a comparação de modelo por partição de variância, interpretando a tabela de ANOVA. * 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 Nesse ponto, é desejável que tenha entendido que a partição da variância de um modelo é correspondente a compará-lo com o modelo nulo, ou seja, quanta variância o modelo é capaz de explicar em relação ao modelo nulo. Esse modelo nulo, representa o modelo mais simples com a variação total dos dados e é representado por apenas um parâmetro, a média da variável resposta. {{: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''** ((SLOPE no LibreOffice)) * **''INTERCEPÇÃO''** ((INTERCEPT no LibreOffice)) * 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)((F.DIST no LibreOffice))** 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)) * 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 construir o modelo: colhe ~ arenoso + argiloso + humico * Avalie o modelo "dummy" indo no menu **Modelos > Resumir modelo** e clique em OK. * Para olhar a tabela de partição de variância, vá ao menu **Modelos > Testes de hipóteses > Tabela de ANOVA** * Ajuste o modelo normal de ANOVA seguindo os mesmo passos anteriores, apenas mudando a fórmula do modelo para: colhe~solo * compare os dois modelos (veja os resultados na janela **Outputs**) ** __PARA ENTREGAR ANTES DO INÍCIO DA PRÓXIMA AULA__ ** * Entre em uma conta google e preencha o formulário abaixo. * Caso não tenha conta ou não consiga preencher pelo [[https://forms.gle/pRuv4qvdmP1Cwcv8A|link do formulário]], encaminhe as repostas e documentos aos professores (**planecousp@gmail.com**), indicando como "Assunto": **Modelos Lineares Simples II**. {{url>https://forms.gle/pRuv4qvdmP1Cwcv8A}}