############################################################################### setwd ("C:/Users/Pedro/Dropbox/Mestrado/Matérias/BIE Mestrado") dir () babies=read.table ( "babies.txt", sep = " ", header=T, as.is = T) str (babies) head (babies) babies <- babies [babies$gestation!="999",] babies <- babies [babies$bwt!="999",] babies.lm=lm(formula = babies$bwt ~ babies$gestation) summary (babies.lm) a=summary (babies.lm)$coefficients [1,1] b=summary (babies.lm)$coefficients [2,1] range (babies$gestation) newx=seq (min (babies$gestation),max (babies$gestation), length =100) ssx=anova(babies.lm)$ "Sum Sq" [1] n=length(babies$gestation) med.x=mean (babies$gestation) s.e2= var (babies$bwt) s.e2y=sqrt(s.e2*((1/n)+(((newx-med.x)^2)/ssx))) range (s.e2y) t=qt (0.025,n-2) scr=c(s.e2y)*t upper=a+b*newx+scr lower=a+b*newx-scr plot (formula = babies$bwt ~ babies$gestation, pch=19,col=rgb(0.4,0,0.6,0.3)) abline (babies.lm, lwd=1.5, col ="red") predis=predict (babies.lm, newdata=data.frame(x=newx), interval='confidence') polygon (c(rev(newx),newx), c(rev(upper), lower), col=rgb(0,0,0,0.2), border=NA) savePlot("graficobbs",type=c("jpeg")) ?savePlot ########################################################################################## init.h = c(600, 700, 800, 950, 1100, 1300, 1500) h.d = c(253, 337, 395, 451, 495, 534, 573) plot(h.d~init.h) mod1 <- lm(h.d~init.h) mod2 <- update(mod1,.~. +I(init.h^2)) mod3 = update (mod2,.~.+I(init.h^3)) anova(mod1,mod2) anova (mod2, mod3) abline(mod1) cf.m2 <- coef(mod2) cf.m3 = coef (mod3) curve(cf.m2[1]+cf.m2[2]*x+cf.m2[3]*x^2, add=T, lty=2) summary(mod2) curve(cf.m3[1]+cf.m3[2]*x+cf.m3[3]*x^2+cf.m3[4]*x^3, add=T, lty=2, col="red") summary(mod3) #O terceiro modelo traz pouca informação a mais e perde em graus de liberdade # tem um redução pouco significativa dos resíduos e sua linha no gráfico praticamente #sobrepõe a linha do modelo polinomial de 2ª ordem, portanto pensando em um #modelo mais simples possível com a melhor explicação para o modelo, o modelo #de segunda ordem é o que melhor explica o experimento de galileu ######################################################################################### babies=read.table ( "babies.txt", sep = " ", header=T, as.is = T) str (babies) head (babies) str (babies) babies <- babies [babies$gestation!="999",] str (babies) babies <- babies [babies$bwt!="999",] str (babies) babies<-babies [babies$parity!="9",] str (babies) babies<-babies [babies$age!="99",] str (babies) babies<-babies [babies$height!="99",] str (babies) babies<-babies [babies$weight!="999",] str (babies) babies<-babies [babies$smoke!="9",] str (babies) head (babies) summary (babies) summary (babies) cor (babies) plot (babies) pca.bb=princomp (babies[,c("bwt","gestation","parity","age","height" ,"weight","smoke")]) summary (princomp (babies)) str (princomp (babies)$scores) summary (princomp (babies)$scores) biplot (pca.bb, col= c("grey", "red" )) modelofull=lm (bwt~gestation*parity*age*height*weight*smoke, data = babies) summary (modelofull) #optou-se por retirar as variáves , "smoke" e "parity" por demonstrarem #pouca correlação com as outras variáveis, verificado pela função cor () # e pelo plot () do data frame modelo.01=lm (bwt~gestation*height*weight*age, data = babies) summary (modelo.01) anova (modelofull,modelo.01) #o modelo redusido ainda tem um baixo valor p indicando que contem grande #explicação mesmo sem as variáveis "smoke" e "age" e suas interações, ainda #se pode reduzir mais o modelo, o numero de resíduos também não aumentou #significativamete! babies$smoke=NULL babies$parity=NULL head (babies) cor (babies) plot (babies) pca.bb=princomp (babies[,c("bwt","gestation","age","height" ,"weight")]) biplot (pca.bb, col= c("grey", "red" )) modelo.02=lm (bwt~gestation+height*weight+age, data = babies) summary(modelo.02) anova (modelofull, modelo.02) anova (modelo.01, modelo.02) #A variável "age" demonstra pouca importância para os dados, assim como #assim como insignificante correlação com os dados, optou-se por retirar essa #variável, já as variáveis "height" e "weight" demonstram pouca relação, #portanto será melhor retirar a interação entre elas do modelo babies$age=NULL head (babies) cor (babies) plot (babies) pca.bb=princomp (babies[,c("bwt","gestation","height" ,"weight")]) biplot (pca.bb, col= c("grey", "red" )) modelo.03=lm (bwt~gestation+height+weight, data = babies) summary(modelo.03) anova (modelofull, modelo.03) #a variavel heigth demonstra pouca importância para a distribuição dos dados #devido isso vamos retirá-la do modelo acreditamos que isso não irá reduzir a #formula modelo.04=lm (bwt~gestation+weight, data = babies) summary(modelo.04) anova (modelofull, modelo.04) #o modelo continua oferecendo uma boa explicação para a realidade, decidi #retirar a variável "weight" da formula, apeser se der uma variável importante #segundo a análise do PCA, ela tem pouca correlação com as variáveis bwt e #gestation modelo.05=lm (bwt~gestation, data = babies) summary(modelo.05) anova (modelofull, modelo.05) modelo.06 =lm (bwt~1, data = babies) summary(modelo.06) anova (modelofull, modelo.06) #o modelo 5 foi o que melhor mostrou simplicidade na análise dos dados #e alta confiança nessas análises, sendo melhor que o modelo nulo e menos #complexo que o modelo Full, demonstrando melhor as relações das variáveis