\documentclass[a4paper, oneside, 10pt]{article} \usepackage[english]{babel} \usepackage[unicode]{hyperref} \usepackage[utf8x]{inputenc} \usepackage{listings} \usepackage{longtable} \date{\today} \title{} \author{} \begin{document} \begin{itemize} \item \href{http://ecor.ib.usp.br/doku.php?id=02_tutoriais:tutorial7b:start}{Tutorial} \item \href{http://ecor.ib.usp.br/doku.php?id=01_curso_atual:exercicios8}{ Exercícios} \end{itemize} \section{\texorpdfstring{7b. Modelos Lineares Múltiplos}{7b Modelos Lineares Multiplos}} \label{sec:7b_modelos_lineares_multiplos} Videoaula do curso \textbf{Princípios de Planejamento e Análise de Dados}. Os conceitos abordados são os mesmos desse tutorial, desconsidere referências à disciplina. Os modelos lineares permitem que sejam incluídas mais do que uma variável preditora, como fizemos até aqui. Nesse tutorial vamos aprender alguns princípios básicos desses modelos mais complexos. Em modelos com mais de uma variável preditora, precisamos tomar a decisão de quais variáveis devemos reter em nosso modelo. É desejável interpretar o modelo mais simples e que contém apenas as variáveis que explicam porções consideráveis da variação na variável resposta. \textbf{\underline{Formulas Estatísticas}} O argumento \texttt{formula} da função \texttt{lm} funciona de forma diferente das formulas matemáticas e deve-se ter cuidado com a inclusão de termos ou operações dentro dela. Alguns aspectos básicos do argumento: \begin{itemize} \item \texttt{y \textasciitilde{} x} indica: construa o modelo da variável resposta \texttt{y} como \textbf{função estatística linear} de \texttt{x}; \item \texttt{y \textasciitilde{} x1 + x2} indica: construa o modelo estatístico de \texttt{y} como \textbf{função linear} das variáveis \texttt{x1} e \texttt{x2} como tendo efeitos aditivos; \end{itemize} Se quisermos utilizar os símbolos matemáticos no sentido matemático usual \textbf{dentro} de uma fórmula estatística, temos que utilizara a função \texttt{I()} para que a operação seja realizada antes da construção do modelo: \begin{itemize} \item \texttt{y \textasciitilde{} I( x1\textasciicircum{}2 * x2\textasciicircum{}3 )} indica: modele y como função estatística \textbf{da variável} \texttt{x1\textasciicircum{}2 * x2\textasciicircum{}3}; \item \item \texttt{ y \textasciitilde{} I( x1 / x2 )} indica: modele y como função estatística \textbf{da variável} \texttt{x1/x2}; \end{itemize} No caso de utilizarmos \textbf{funções matemáticas} específicas a função \texttt{I()} torna-se desnecessária: \begin{itemize} \item \texttt{log(y) \textasciitilde{} log(x)} indica: modele o \texttt{log(y)} com função estatística da variável \texttt{log(x))}; \item \texttt{log(y) \textasciitilde{} log(x1\textasciicircum{}2 * x2)} indica: modele o \textbf{log(y)} com função estatística da variável \texttt{log(x1\textasciicircum{}2 * x2)}; \end{itemize} \subsection{\texorpdfstring{Modelos Plausíveis}{Modelos Plausiveis}} \label{sec:modelos_plausiveis} Quando temos uma hipótese onde há mais de uma variável preditora, precisamos avaliar, antes de iniciar as análises, quais modelos são plausíveis e relacionados a que hipótese alternativa. Os modelos só são construídos a partir dessa avaliação. Vamos usar o exemplo da videoaula para exemplificarmos os procedimentos e conceitos relacionados a esse tutorial. \subsection{\texorpdfstring{Interação entre preditoras}{Interaao entre preditoras}} \label{sec:interaao_entre_preditoras} Videoaula do curso \textbf{Princípios de Planejamento e Análise de Dados}. Os conceitos abordados são os mesmos desse tutorial, desconsidere referências à disciplina. A interação é um elemento muito importante quando temos mais de uma preditora, pois desconsiderá-la pode limitar o entendimento dos processos envolvidos. Um exemplo cotidiano da interação é visto no uso de medicamentos e o alerta da bula sobre interação medicamentosa ou efeitos colaterais para pessoas portadoras de doenças crônicas. Dizemos que um medicamento tem interação com outra substância quando o seu efeito é modificado pela presença de outra substância, como por exemplo a ingestão de álcool junto com muitos medicamentos. Nos modelos, a interação tem uma interpretação similar, a resposta pelo efeito de uma variável preditora se altera com a presença de outra preditora. \textbf{\underline{Delineamentos Experimentais}}\begin{longtable}{|l|l|} \hline \textbf{ Expressão } & \textbf{ Significado } \\ \hline \texttt{y \textasciitilde{} x} & Modele \texttt{y} como função estatística de \texttt{x} \\ \hline \texttt{y \textasciitilde{} x1 + x2} & inclua as variáveis \texttt{x1} e \texttt{x2} como preditoras \\ \hline \texttt{y \textasciitilde{} x1 + x2 + x1:x2} & inclua também a interação de \texttt{x1} com \texttt{x2} \\ \hline \texttt{y \textasciitilde{} x1 * x2} & mesmo que \texttt{y \textasciitilde{} x1 + x2 + x1:x2} \\ \hline \texttt{y \textasciitilde{} (x1 + x2 + x3)\textasciicircum{}2} & Adiciona acima \texttt{ + x3 + x1:x3 + x2:x3} \\ \hline \texttt{y \textasciitilde{} (x1 + x2 + x3)\textasciicircum{}3} & Adiciona acima \texttt{ + x1:x2:x3} \\ \hline \texttt{y \textasciitilde{} (x1 + x2 + x3)\textasciicircum{}3 - x1:x2} & Retira o termo \texttt{x1:x2} da fórmula acima \\ \hline \end{longtable} \subsection{\texorpdfstring{Simplificando Modelos}{Simplificando Modelos}} \label{sec:simplificando_modelos} Videoaula do curso \textbf{Princípios de Planejamento e Análise de Dados}. Os conceitos abordados são os mesmos desse tutorial, desconsidere referências à disciplina. Videoaula do curso \textbf{Planejamento e Análise de Dados}, os conceitos abordados são os mesmos, desconsidere referências à disciplina. Um dos procedimento de simplificar modelos é partir do modelo cheio e ir simplificando, retirando variáveis preditoras que não ajudam na explicação da variabilidade dos dados. O procedimento consiste em comparar modelos aninhados, dois a dois, retendo o que está mais acoplado aos dados. Caso os modelos não seja diferentes no seu poder explicativo, retemos o modelo mais simples, apoiados no princípio da parcimônia. \subsubsection{\texorpdfstring{Princípio da parcimônia (Navalha de Occam)}{Principio da parcimonia Navalha de Occam}} \label{sec:principio_da_parcimonia_navalha_de_occam} \begin{itemize} \item número de parâmetros menor possível \item linear é melhor que não-linear \item reter menos pressupostos \item simplificar ao mínimo adequado \item explicações mais simples são preferíveis \end{itemize} \subsubsection{\texorpdfstring{Método do modelo cheio ao mínimo adequado}{Metodo do modelo cheio ao minimo adequado}} \label{sec:metodo_do_modelo_cheio_ao_minimo_adequado} \begin{enumerate} \item ajuste o modelo máximo (cheio) \item simplifique o modelo: \begin{itemize} \item inspecione os coeficientes (\texttt{summary}) \item remova termos não significativos \end{itemize} \item ordem de remoção de termos: \begin{itemize} \item interação não significativos (maior ordem) \item termos quadráticos ou não lineares \item variáveis explicativas não significativas \item verifique se a ordem da retirada de termos de mesmo nível de complexidade influencia a retirada ou manutenção dos termos finais. \end{itemize} \end{enumerate} \subsubsection{\texorpdfstring{Tomada de decisão}{Tomada de decisao}} \label{sec:tomada_de_decisao} \textbf{ A diferença não é significativa: } \begin{itemize} \item retenha o modelo mais simples \item continue simplificando \end{itemize} \textbf{A difereça é significativa: } \begin{itemize} \item retenha o modelo complexo \item este é o modelo \underline{MINÍMO ADEQUADO} \end{itemize} Já utilizamos esse procedimento no tutorial \href{http://ecor.ib.usp.br/doku.php?id=02_tutoriais:tutorial7:start}{02_tutoriais:tutorial7:start}, quando comparamos o modelo linear com preditora e o modelo sem nenhuma variável preditora. \subsection{\texorpdfstring{Peso de bebês ao nascer}{Peso de bebes ao nascer}} \label{sec:peso_de_bebes_ao_nascer} Vamos analisar o dado de peso dos bebês ao nascer e como isso se relaciona às características da mãe. Esses dados pode ser consultados em \url{https://www.stat.berkeley.edu/users/statlabs/labs.html}. \begin{itemize} \item baixe o arquivo \href{media//02_tutoriais/tutorial7c/babies.csv}{babies.csv} no seu diretório de trabalho \item Vamos selecionar o modelo mínimo adequado a partir das variáveis: \begin{itemize} \item resposta \textbf{bwt} : peso do bebê ao nascer em onças(oz) \item preditoras: \begin{itemize} \item gestation: tempo de gestação (dias) \item age: idade \item weight: peso da mãe \item smoke: 0 não fumante; 1 fumante \end{itemize} \end{itemize} \end{itemize} Para simplificar nosso tutorial vamos usar apenas as preditoras: tempo de gestação, idade da mãe e se ela é fumante ou não.\lstset{frame=single, language=rsplus} \begin{lstlisting} bebes <- read.table("babies.csv", header= TRUE, as.is = TRUE, sep= "\t") str(bebes) mlfull <- lm(bwt ~ gestation + age + smoke + gestation:age + gestation:smoke + age: smoke + gestation:age:smoke, data = bebes) summary(mlfull) \end{lstlisting} \lstset{frame=single} \begin{lstlisting} Call: lm(formula = bwt ~ gestation + age + smoke + gestation:age + gestation:smoke + age:smoke + gestation:age:smoke, data = bebes) Residuals: Min 1Q Median 3Q Max -51.433 -10.647 0.156 9.800 50.994 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 1.843e+02 5.443e+01 3.385 0.000735 *** gestation -2.262e-01 1.938e-01 -1.167 0.243542 age -6.010e+00 1.942e+00 -3.095 0.002014 ** smokeTRUE -1.830e+02 8.188e+01 -2.235 0.025635 * gestation:age 2.177e-02 6.926e-03 3.143 0.001716 ** gestation:smokeTRUE 6.192e-01 2.934e-01 2.110 0.035056 * age:smokeTRUE 3.967e+00 2.956e+00 1.342 0.179915 gestation:age:smokeTRUE -1.397e-02 1.061e-02 -1.317 0.187994 --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 16.1 on 1166 degrees of freedom Multiple R-squared: 0.233, Adjusted R-squared: 0.2284 F-statistic: 50.6 on 7 and 1166 DF, p-value: < 2.2e-16 \end{lstlisting} \subsection{\texorpdfstring{Interação Tripla}{Interaao Tripla}} \label{sec:interaao_tripla} Vamos simplificar o modelo, retirando a interação \texttt{gestation:age:smoke} que aparenta não ser importante.\lstset{frame=single, language=rsplus} \begin{lstlisting} ml01 <- lm(bwt ~ gestation + age + smoke + gestation:age + gestation:smoke + age: smoke, data = bebes) anova(ml01, mlfull) summary(ml01) \end{lstlisting} \subsection{\texorpdfstring{Interações Dupla}{Interaoes Dupla}} \label{sec:interaoes_dupla} Continuamos a simplificação, retirando as interações duplas uma a uma para avaliar quais delas devem ser mantidas. Os testes parciais das variáveis no \texttt{summary} nos dá uma indicação de quais devem ser mantidas, mas uma boa prática é fazer o processo completo, já que um elemento no modelo pode mudar o efetividade de outro, principalmente quando compartilham alguma porção de variação explicada.\lstset{frame=single, language=rsplus} \begin{lstlisting} ## sem age:smoke ml02 <- lm(bwt ~ gestation + age + smoke + gestation:age + gestation:smoke, data = bebes) anova(ml01, ml02) ## sem gestation:smoke ml03 <- lm(bwt ~ gestation + age + smoke + gestation:age + age:smoke, data = bebes) anova(ml01, ml03) ## sem gestation:age ml04 <- lm(bwt ~ gestation + age + smoke + gestation:smoke + age: smoke, data = bebes) anova(ml01, ml04) \end{lstlisting} A única interação dupla que não parece fazer diferença quando retiramos do modelo é a \texttt{age:smoke}, as outras explicam uma porção razoável da variação dos dados. Poderíamos continuar simplificando para garantir que não retemos nenhum termo que não é relevante para explicar o peso do bebê ao nascer. Entretanto, a menos que se tenha um bom motivo \footnote{desenhos experimentais aninhados podem incluir a variável aninhada apenas na interação}, não retiramos os termos das variáveis isoladas quando ela está em algum termo de interação. \subsection{\texorpdfstring{Interpretação do modelo}{Interpretaao do modelo}} \label{sec:interpretaao_do_modelo} O \texttt{summary} nos fornece as principais informações sobre o modelo mínimo adequado. \lstset{frame=single, language=rsplus} \begin{lstlisting} summary(ml02) \end{lstlisting} \lstset{frame=single, language=rsplus} \begin{lstlisting} Call: lm(formula = bwt ~ gestation + age + smoke + gestation:age + gestation:smoke, data = bebes) Residuals: Min 1Q Median 3Q Max -51.978 -10.769 0.108 10.027 50.599 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 135.598062 41.406657 3.275 0.001088 ** gestation -0.055381 0.147986 -0.374 0.708301 age -4.248772 1.458653 -2.913 0.003650 ** smokeTRUE -75.235972 17.213833 -4.371 1.35e-05 *** gestation:age 0.015584 0.005224 2.983 0.002911 ** gestation:smokeTRUE 0.239947 0.061676 3.890 0.000106 *** --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 16.1 on 1168 degrees of freedom Multiple R-squared: 0.2317, Adjusted R-squared: 0.2284 F-statistic: 70.45 on 5 and 1168 DF, p-value: < 2.2e-16 \end{lstlisting} Uma interpretação importante é com relação a variável \texttt{smoke}. Onde foi parar o nível \texttt{smokeFALSE}? Como é uma variável categórica de dois níveis, \texttt{smoke}foi transformada em variáveis indicadoras e um dos níveis deslocado para o intercepto. O que está representado no intercepto? É a estimativa do modelo para uma mulher que não é fumante com tempo de gestação \texttt{zero} e idade \texttt{zero}. O que não faz sentido biológico nenhum. O intervalo de confiança dos coeficientes é retornado pela função \texttt{confint}:\lstset{frame=single, language=rsplus} \begin{lstlisting} (coefml02 <- coef(ml02)) confint(ml02) \end{lstlisting} \subsubsection{\texorpdfstring{Interpretação da tabela de Anova em Modelos Multiplos}{Interpretaao da tabela de Anova em Modelos Multiplos}} \label{sec:interpretaao_da_tabela_de_anova_em_modelos_multiplos} A função \texttt{anova} aplicada a um único modelo com múltiplas preditoras, nos fornece a comparação de múltiplos modelos na ordem em que as variáveis foram colocadas na fórmula. Vamos interpretar a tabela de \texttt{anova} do nosso modelo:\lstset{frame=single, language=rsplus} \begin{lstlisting} anova(ml02) \end{lstlisting} \lstset{frame=single, language=rsplus} \begin{lstlisting} Analysis of Variance Table Response: bwt Df Sum Sq Mean Sq F value Pr(>F) gestation 1 65450 65450 252.4963 < 2.2e-16 *** age 1 939 939 3.6241 0.0571933 . smoke 1 19024 19024 73.3941 < 2.2e-16 *** gestation:age 1 1964 1964 7.5776 0.0060012 ** gestation:smoke 1 3923 3923 15.1354 0.0001057 *** Residuals 1168 302757 259 --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 \end{lstlisting} A segunda linha nos diz que o modelo com \texttt{gestação} ao adicionar \texttt{age} não explica muita variação a mais. Na terceira linha a comparação é entre os modelos \texttt{bwt \textasciitilde{} gestation + age} com o modelo \texttt{bwt \textasciitilde{} gestation + age + smoke} a quarta é a comparação deste último com \texttt{bwt \textasciitilde{} gestation + age + smoke + gestation:age} e assim por diante, sempre comparando o modelo com tedos os termos anteriores e o que inclui todos os termos anteriores mais o termo que está na linha da tabela. Portanto, se colocarmos termos em outra ordem, as comparações serão outras.\lstset{frame=single, language=rsplus} \begin{lstlisting} ml02b <- lm(bwt ~ age + smoke + gestation + gestation:smoke + gestation:age , data = bebes) anova(ml02b, ml02) anova(ml02b) \end{lstlisting} \lstset{frame=single, language=rsplus} \begin{lstlisting} Analysis of Variance Table Response: bwt Df Sum Sq Mean Sq F value Pr(>F) age 1 287 287 1.1068 0.2929867 smoke 1 23757 23757 91.6509 < 2.2e-16 *** gestation 1 61370 61370 236.7568 < 2.2e-16 *** smoke:gestation 1 3580 3580 13.8130 0.0002115 *** age:gestation 1 2307 2307 8.9001 0.0029108 ** Residuals 1168 302757 259 --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 \end{lstlisting} Só para entendermos o que está apresentado nessa \texttt{anova}, vamos comparar os modelos: \begin{itemize} \item 1. \texttt{bwt \textasciitilde{} age + smoke + gestation} \item 2. \texttt{bwt \textasciitilde{} age + smoke + gestation + smoke:gestation} \end{itemize} \lstset{frame=single, language=rsplus} \begin{lstlisting} ml05 <-lm(bwt ~ age + smoke + gestation, data = bebes) ml06 <-lm(bwt ~ age + smoke + gestation + gestation:smoke, data = bebes) anova(ml05, ml06) \end{lstlisting} Pode haver pequenas variações nos valores por conta arredondamentos. O importante aqui é que um termo pode ser significativo ou não dependendo da ordem que for colocado, principalmente se há alguma colinearidade entre as variáveis incluídas. Ou seja, o termo que é colocado antes explica a variação que o termo que vem depois poderia explicar também! \subsection{\texorpdfstring{Diagnóstico do modelo}{Diagnostico do modelo}} \label{sec:diagnostico_do_modelo} O diagnóstico das premissas do modelo é importante, para mais informações veja o tutorial da disciplina \href{http://labtrop.ib.usp.br/doku.php?id=cursos:planeco:roteiro:07a-clasrcmdr}{ Princípios de Planejamento e Análise de Dados} sobre o assunto. O basico pode ser interpretado nos gráficos que são feitos por padrão se usamos a função \texttt{plot} no objeto de modelo:\lstset{frame=single, language=rsplus} \begin{lstlisting} par(mfrow = c(2,2), mar=c(4,4,2,2), cex.lab=1.2, cex.axis=1.2, las=1, bty="n") plot(ml02) \end{lstlisting} Estando tudo certo com nosso modelo podemos passar para outras fases como preparar gráficos e interpretar os resultados. \section{\texorpdfstring{Videoaula Síncrona}{Videoaula Sincrona}} \label{sec:videoaula_sincrona} Aula síncrona gravada pelo Google Meet em 05 de outubro de 2020 \end{document}