### Galileu Estava Certo? ## Avalie se um polinômio de terceiro grau é um melhor modelo para descrever os dados do experimento de Galileu. # Criação dos objetos com os dados init.h <- c(600, 700, 800, 950, 1100, 1300, 1500) h.d <- c(253, 337, 395, 451, 495, 534, 573) # Teste do modelo 1: primeiro grau mod1 <- lm(h.d ~ init.h) # Teste do modelo 2: segundo grau mod2 <- update(mod1, .~. + I(init.h^2)) # Comparação dos dois modelos: anova(mod1, mod2) # Há uma diferença significativa, mostrando que o modelo de segundo grau é melhor que o de primeiro. # Teste do modelo 3: terceiro grau mod3 <- update(mod2, .~. + I(init.h^3)) # Comparação entre os dois modelos: anova(mod2, mod3) # Há uma diferençaa significativa, mostrando que o modelo de terceiro grau á melhor que o de segundo. # Teste do modelo 4: quarto grau mod4 <- update(mod3, .~. + I(init.h^4)) # Comparação entre os dois modelos: anova(mod3, mod4) # Não há diferença significativa. Com isso fica claro que o melhor modelo que melhor explica os dados de Galileu é um polinômio de terceiro grau. ### Massa de Recém-Nascidos ## Experimente todas as variáveis disponíveis no conjunto de dados "Massa ao Nascer e Dados da mãe" ## para chegar ao melhor modelo de previsão da massa de bebês ao nascer. # Leitura da tabela: dados <- read.table("babies.txt", header=TRUE) # Correção de dados faltantes: dados[which(dados$bwt==999),] <- NA dados[which(dados$gestation==999),] <- NA dados[which(dados$parity==9),] <- NA dados[which(dados$age==99),] <- NA dados[which(dados$height==99),] <- NA dados[which(dados$weight==999),] <- NA dados[which(dados$smoke==9),] <- NA # Criação do modelo 1: com todas as variáveis, sem interação entre as variáveis mod1 <- lm(bwt ~ gestation + parity + age + height + weight + smoke, data=dados) # Teste do modelo 1: anova(mod1) # O teste não deu significativo para a variável "age", portanto é possível tirá-la do modelo. # Criação do modelo 2: sem a variável "age" mod2 <- lm(bwt ~ gestation + parity + height + weight + smoke, data=dados) # Teste do modelo 2: anova(mod2) # Apesar de serem significativas (P-value abaixo de 0.05), as variáveis "parity" e "weight" não explicam tão bem os dados como as outras # (F value baixo). Portanto, podemos excluí-las da análise. # Criação do modelo 3: sem as variáveis "parity" e "weight" mod3 <- lm(bwt ~ gestation + height + smoke, data=dados) # Teste do modelo 3: anova(mod3) # Novamente, apesar da variável "height" ser significativa (P-value abaixo de 0.05), seu valor é bem abaixo das outras duas, sendo assim, # excluida da análise. Com isso é possível afirmar que o melhor modelo para a previsão do peso do bebê leva em consideração se a mãe é # fumante e o tempo de gestação.