modelo de regress˜ao linear exerc´ıcio...

40
Valeska Andreozzi 1 Modelo de Regress˜ ao Linear Exerc´ ıcio 1 Antes de come¸ car o exerc´ ıcio, n˜ao se esque¸ ca de, logo ap´os iniciar o R, mudar o diret´orio de trabalho para onde se encontra os banco de dados. Se os dados estiverem no diret´orio c:/curso digite: >setwd("c:/curso") Tome aten¸ c˜aonadire¸ c˜aodabarra Com o objetivo de identificar fatores associados ao peso ao nascer, pesquisadores cole- taram as seguintes informa¸ c˜oes: Descri¸ c˜ao odigos/Valores Vari´avel Identification Code ID Number ID Low Birth Weight 1 = BWT<=2500g LOW 0 = BWT>2500g Age of Mother Years AGE Weight of Mother at Pounds LWT Last Menstrual Period Race 1 = White, 2 = Black RACE 3 = Other Smoking Status 0 = No, 1 = Yes SMOKE During Pregnancy History of Premature Labor 0, 1, 2, ··· PTL History of Hypertension 0 = No, 1 = Yes HT Presence of Uterine Irritability 0 = No, 1 = Yes UI Number of Physician Visits 0, 1, 2, ··· FTV During the First Trimester Birth Weight Grams BWT Utilize estes dados para estimar uma regress˜ao linear m´ ultipla e responder o objetivo do estudo. Lendo o banco de dados > bp <- read.table("lowbwtdata.dat", header = T) > dim(bp)

Upload: others

Post on 24-Aug-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Modelo de Regress˜ao Linear Exerc´ıcio 1curso-glm.wdfiles.com/local--files/regressao-linear/pratica_lm_comre… · Valeska Andreozzi 1 Modelo de Regress˜ao Linear Exerc´ıcio

Valeska Andreozzi 1

Modelo de Regressao Linear

Exercıcio 1

Antes de comecar o exercıcio, nao se esqueca de, logo apos iniciar o R,

• mudar o diretorio de trabalho para onde se encontra os banco de dados. Se os dadosestiverem no diretorio c:/curso digite:>setwd("c:/curso")

Tome atencao na direcao da barra

Com o objetivo de identificar fatores associados ao peso ao nascer, pesquisadores cole-taram as seguintes informacoes:

Descricao Codigos/Valores Variavel

Identification Code ID Number IDLow Birth Weight 1 = BWT<=2500g LOW

0 = BWT>2500gAge of Mother Years AGEWeight of Mother at Pounds LWTLast Menstrual PeriodRace 1 = White, 2 = Black RACE

3 = OtherSmoking Status 0 = No, 1 = Yes SMOKEDuring PregnancyHistory of Premature Labor 0, 1, 2, · · · PTLHistory of Hypertension 0 = No, 1 = Yes HTPresence of Uterine Irritability 0 = No, 1 = Yes UINumber of Physician Visits 0, 1, 2, · · · FTVDuring the First TrimesterBirth Weight Grams BWT

Utilize estes dados para estimar uma regressao linear multipla e responder o objetivo doestudo.

Lendo o banco de dados

> bp <- read.table("lowbwtdata.dat", header = T)

> dim(bp)

Page 2: Modelo de Regress˜ao Linear Exerc´ıcio 1curso-glm.wdfiles.com/local--files/regressao-linear/pratica_lm_comre… · Valeska Andreozzi 1 Modelo de Regress˜ao Linear Exerc´ıcio

Valeska Andreozzi 2

[1] 189 11

> names(bp) <- tolower(names(bp))

> head(bp)

id low age lwt race smoke ptl ht ui ftv bwt

1 42 1 22 130 1 1 1 0 1 1 2187

2 162 0 22 112 1 1 2 0 0 0 3317

3 156 0 24 115 3 0 0 0 0 2 3274

4 114 0 29 150 1 0 0 0 0 2 2920

5 174 0 22 131 1 0 0 0 0 1 3460

6 26 1 25 92 1 1 0 0 0 0 1928

Indicando ao R que as variaveis sao categoricas

> bp$race <- factor(bp$race)

> bp$smoke <- factor(bp$smoke)

> bp$ht <- factor(bp$ht)

> bp$ui <- factor(bp$ui)

> bp$low <- factor(bp$low)

Para saber quais as classes sao referencias, temos

> contrasts(bp$race)

2 3

1 0 0

2 1 0

3 0 1

> contrasts(bp$smoke)

1

0 0

1 1

Page 3: Modelo de Regress˜ao Linear Exerc´ıcio 1curso-glm.wdfiles.com/local--files/regressao-linear/pratica_lm_comre… · Valeska Andreozzi 1 Modelo de Regress˜ao Linear Exerc´ıcio

Valeska Andreozzi 3

> contrasts(bp$ht)

1

0 0

1 1

> contrasts(bp$ui)

1

0 0

1 1

> contrasts(bp$low)

1

0 0

1 1

Trocando a escala da variavel resposta para kg

> bp$bwt <- bp$bwt/1000

Analise exploratoria

Sumario dos dados

> summary(bp)

id low age lwt race

Min. : 4.0 0:130 Min. :14.00 Min. : 80.0 1:96

1st Qu.: 68.0 1: 59 1st Qu.:19.00 1st Qu.:110.0 2:26

Median :123.0 Median :23.00 Median :121.0 3:67

Mean :121.1 Mean :23.24 Mean :129.8

3rd Qu.:176.0 3rd Qu.:26.00 3rd Qu.:140.0

Page 4: Modelo de Regress˜ao Linear Exerc´ıcio 1curso-glm.wdfiles.com/local--files/regressao-linear/pratica_lm_comre… · Valeska Andreozzi 1 Modelo de Regress˜ao Linear Exerc´ıcio

Valeska Andreozzi 4

Max. :226.0 Max. :45.00 Max. :250.0

smoke ptl ht ui ftv

0:115 Min. :0.0000 0:177 0:161 Min. :0.0000

1: 74 1st Qu.:0.0000 1: 12 1: 28 1st Qu.:0.0000

Median :0.0000 Median :0.0000

Mean :0.1958 Mean :0.7937

3rd Qu.:0.0000 3rd Qu.:1.0000

Max. :3.0000 Max. :6.0000

bwt

Min. :0.709

1st Qu.:2.414

Median :2.977

Mean :2.945

3rd Qu.:3.475

Max. :4.990

> as.data.frame(table(bp$ptl))

Var1 Freq

1 0 159

2 1 24

3 2 5

4 3 1

> as.data.frame(table(bp$ftv))

Var1 Freq

1 0 100

2 1 47

3 2 30

4 3 7

5 4 4

6 6 1

Distribuicao do peso ao nascer e de algumas covariaveis

Page 5: Modelo de Regress˜ao Linear Exerc´ıcio 1curso-glm.wdfiles.com/local--files/regressao-linear/pratica_lm_comre… · Valeska Andreozzi 1 Modelo de Regress˜ao Linear Exerc´ıcio

Valeska Andreozzi 5

> hist(bp$bwt, main = "peso a nascenca", xlab = "btw (Kg)",

+ ylab = "no de casos", freq = F)

> lines(density(bp$bwt), main = "peso a nascenca")

> barplot(table(bp$ptl), main = "PTL - historial de partos prematuros",

+ xlab = "PTL", ylab = "no de casos")

> barplot(table(bp$ftv), main = "FTV - numero de visitas medicas",

+ xlab = "FTV", ylab = "no de casos")

peso à nascença

btw (Kg)

nº d

e ca

sos

1 2 3 4 5

0.0

0.1

0.2

0.3

0.4

0.5

Sera que vale a pena categorizar as variaveis ptl e ftv?

Observe os graficos de associacao entre o peso ao nascer e as covariaveis

> plot(bp$age, bp$bwt, pch = 19, main = "peso a nascenca vs idade da m~ae",

+ xlab = "age", ylab = "bwt")

> plot(bp$lwt, bp$bwt, pch = 19, xlab = "lwt", ylab = "bwt")

> title("peso a nascenca vs peso da m~ae")

> plot(bp$ptl, bp$bwt, pch = 19, main = "", xlab = "PTL",

+ ylab = "bwt")

> title("peso a nascenca vs no partos prematuros")

> plot(bp$ftv, bp$bwt, pch = 19, main = "", xlab = "FTV",

+ ylab = "bwt")

> title("peso a nascenca vs no visitas medicas")

> boxplot(bwt ~ race, data = bp, main = "", xlab = "raca",

Page 6: Modelo de Regress˜ao Linear Exerc´ıcio 1curso-glm.wdfiles.com/local--files/regressao-linear/pratica_lm_comre… · Valeska Andreozzi 1 Modelo de Regress˜ao Linear Exerc´ıcio

Valeska Andreozzi 6

+ ylab = "bwt")

> title("distribuic~ao do peso a nascenca por raca")

> boxplot(bwt ~ smoke, data = bp, main = "", xlab = "smoke",

+ ylab = "bwt")

> title("distribuic~ao do peso a nascenca por habito de fumo")

> boxplot(bwt ~ ht, data = bp, main = "", xlab = "ht",

+ ylab = "bwt")

> title("distribuic~ao do peso a nascenca por historia de hipertens~ao")

> boxplot(bwt ~ ui, data = bp, main = "", xlab = "ui",

+ ylab = "bwt")

> title("distribuic~ao do peso a nascenca por irritabilidade uterina")

Page 7: Modelo de Regress˜ao Linear Exerc´ıcio 1curso-glm.wdfiles.com/local--files/regressao-linear/pratica_lm_comre… · Valeska Andreozzi 1 Modelo de Regress˜ao Linear Exerc´ıcio

Valeska Andreozzi 7

15 20 25 30 35 40 45

12

34

5

peso à nascença vs idade da mãe

age

bwt

100 150 200 2501

23

45

peso à nascença vs peso da mãe

lwt

bwt

0.0 0.5 1.0 1.5 2.0 2.5 3.0

12

34

5

peso à nascença vs nº partos prematuros

PTL

bwt

0 1 2 3 4 5 6

12

34

5

peso à nascença vs nº visitas médicas

FTV

bwt

Page 8: Modelo de Regress˜ao Linear Exerc´ıcio 1curso-glm.wdfiles.com/local--files/regressao-linear/pratica_lm_comre… · Valeska Andreozzi 1 Modelo de Regress˜ao Linear Exerc´ıcio

Valeska Andreozzi 8

1 2 3

12

34

5

distribuição do peso à nascença por raça

raça

bwt

0 11

23

45

distribuição do peso à nascença por hábito de fumo

smoke

bwt

0 1

12

34

5

distribuição do peso à nascença por história de hipertensão

ht

bwt

0 1

12

34

5

distribuição do peso à nascença por irritabilidade uterina

ui

bwt

• O que podemos dizer desta analise grafica?

Observando os primeiros dois graficos, nao parece evidente a existencia de qualquer re-lacao entre bwt e age ou lwt. A representacao de bwt contra ptl ou fvt tambem naorevela a existencia de associacao de tipo linear. Como estas duas variaveis sao discretas eassumem uma diversidade muito pequena de valores, poderemos pensar em categorizar asvariaveis fazendo alguns agrupamentos nos seus valores.

Analisando os box-plot:

Page 9: Modelo de Regress˜ao Linear Exerc´ıcio 1curso-glm.wdfiles.com/local--files/regressao-linear/pratica_lm_comre… · Valeska Andreozzi 1 Modelo de Regress˜ao Linear Exerc´ıcio

Valeska Andreozzi 9

1. bwt por race : As medianas das racas negra e outra sao aproximadas, sendo a corre-spondente a raca branca a mais elevadas das tres. A variabilidade dentro dos gruposparece ser algo diferente, sendo maior na raca branca. Note-se, no entanto, que osgrupos tem dimensoes bastante distintas:

> table(bp$race)

1 2 3

96 26 67

Modelo de Regressao

• Escreva o modelo linear para a variavel resposta peso ao nascer (bwt ). Pense nospossıveis preditores lineares e escreva a equacao de um modelo candidato.

A tıtulo de exemplo, escrevemos a equacao de um modelo

Suponha o seguinte modelo

> bp.lm1 <- lm(bwt ~ age + lwt + race + ftv, data = bp)

> summary(bp.lm1)

Call:

lm(formula = bwt ~ age + lwt + race + ftv, data = bp)

Residuals:

Min 1Q Median 3Q Max

-2.09210 -0.44728 0.04918 0.49091 1.91033

Coefficients:

Estimate Std. Error t value Pr(>|t|)

(Intercept) 2.4702377 0.3162814 7.810 4.29e-13 ***

age 0.0007791 0.0103082 0.076 0.9398

lwt 0.0045804 0.0017990 2.546 0.0117 *

race2 -0.4486342 0.1617063 -2.774 0.0061 **

race3 -0.2405938 0.1155743 -2.082 0.0388 *

ftv 0.0109891 0.0501518 0.219 0.8268

Page 10: Modelo de Regress˜ao Linear Exerc´ıcio 1curso-glm.wdfiles.com/local--files/regressao-linear/pratica_lm_comre… · Valeska Andreozzi 1 Modelo de Regress˜ao Linear Exerc´ıcio

Valeska Andreozzi 10

---

Signif. codes: 0 ’***’ 0.001 ’**’ 0.01 ’*’ 0.05 ’.’ 0.1 ’ ’ 1

Residual standard error: 0.7064 on 183 degrees of freedom

Multiple R-squared: 0.08609, Adjusted R-squared: 0.06112

F-statistic: 3.448 on 5 and 183 DF, p-value: 0.005308

Compare este modelo com o modelo nulo utilizando a funcao ANOVA. Qual a hipotesenula deste teste? Qual a conclusao do teste?

> bp.nulo <- lm(bwt ~ 1, data = bp)

> anova(bp.nulo, bp.lm1)

Analysis of Variance Table

Model 1: bwt ~ 1

Model 2: bwt ~ age + lwt + race + ftv

Res.Df RSS Df Sum of Sq F Pr(>F)

1 188 99.917

2 183 91.316 5 8.6015 3.4476 0.005308 **

---

Signif. codes: 0 ’***’ 0.001 ’**’ 0.01 ’*’ 0.05 ’.’ 0.1 ’ ’ 1

H0: βage = βlwt = βrace2 = βrace3 = βftv = 0

Rejeitamos a hipotese nula do teste.

Podemos tambem verificar o teste de Wald (β/EP (β)). Qual a sugestao do teste? Quaisas covariaveis que poderiam ser retiradas?

> summary(bp.lm1)

Call:

lm(formula = bwt ~ age + lwt + race + ftv, data = bp)

Residuals:

Min 1Q Median 3Q Max

-2.09210 -0.44728 0.04918 0.49091 1.91033

Page 11: Modelo de Regress˜ao Linear Exerc´ıcio 1curso-glm.wdfiles.com/local--files/regressao-linear/pratica_lm_comre… · Valeska Andreozzi 1 Modelo de Regress˜ao Linear Exerc´ıcio

Valeska Andreozzi 11

Coefficients:

Estimate Std. Error t value Pr(>|t|)

(Intercept) 2.4702377 0.3162814 7.810 4.29e-13 ***

age 0.0007791 0.0103082 0.076 0.9398

lwt 0.0045804 0.0017990 2.546 0.0117 *

race2 -0.4486342 0.1617063 -2.774 0.0061 **

race3 -0.2405938 0.1155743 -2.082 0.0388 *

ftv 0.0109891 0.0501518 0.219 0.8268

---

Signif. codes: 0 ’***’ 0.001 ’**’ 0.01 ’*’ 0.05 ’.’ 0.1 ’ ’ 1

Residual standard error: 0.7064 on 183 degrees of freedom

Multiple R-squared: 0.08609, Adjusted R-squared: 0.06112

F-statistic: 3.448 on 5 and 183 DF, p-value: 0.005308

Idade age e numero de consultas ftv nao sao estatisticamente significativas.

Estime um modelo sem as variaveis age e ftv

> bp.lm2 <- lm(bwt ~ lwt + race, data = bp)

> summary(bp.lm2)

Call:

lm(formula = bwt ~ lwt + race, data = bp)

Residuals:

Min 1Q Median 3Q Max

-2.0949 -0.4208 0.0401 0.4782 1.9284

Coefficients:

Estimate Std. Error t value Pr(>|t|)

(Intercept) 2.488763 0.241864 10.290 < 2e-16 ***

lwt 0.004657 0.001749 2.662 0.00844 **

race2 -0.452765 0.157482 -2.875 0.00451 **

race3 -0.243667 0.113826 -2.141 0.03361 *

---

Signif. codes: 0 ’***’ 0.001 ’**’ 0.01 ’*’ 0.05 ’.’ 0.1 ’ ’ 1

Residual standard error: 0.7027 on 185 degrees of freedom

Multiple R-squared: 0.08578, Adjusted R-squared: 0.07095

F-statistic: 5.786 on 3 and 185 DF, p-value: 0.0008399

Page 12: Modelo de Regress˜ao Linear Exerc´ıcio 1curso-glm.wdfiles.com/local--files/regressao-linear/pratica_lm_comre… · Valeska Andreozzi 1 Modelo de Regress˜ao Linear Exerc´ıcio

Valeska Andreozzi 12

Compare os dois modelos bp.lm1 e bp.lm2. Qual a sua conclusao?

> anova(bp.lm2, bp.lm1)

Analysis of Variance Table

Model 1: bwt ~ lwt + race

Model 2: bwt ~ age + lwt + race + ftv

Res.Df RSS Df Sum of Sq F Pr(>F)

1 185 91.346

2 183 91.316 2 0.030949 0.031 0.9695

Nao rejeitamos a H0: βage = βftv = 0.

Observacao: nao devemos finalizar um modelo considerando somente estatısticas sig-nificantes. Nao se esqueca que outras razoes podem ser levadas em consideracao para semanter uma variavel no modelo. Tenha sempre em consideracao o objetivo da sua analise.

Interpretando os modelos

Interpretando um modelo apenas com uma variavel dicotomica

Que informacao podemos extrair dos parametros estimados de um modelo de regressao linearpara responder a pergunta cientıfica que motivou o estudo?

Para facilitar, vamos comecar com um modelo mais simples em que so temos uma variaveldicotomica (com duas categorias) como independente.

> bp.lm3 <- lm(bwt ~ smoke, data = bp)

> summary(bp.lm3)

Call:

lm(formula = bwt ~ smoke, data = bp)

Residuals:

Min 1Q Median 3Q Max

-2.06424 -0.47724 0.03504 0.54504 1.93504

Page 13: Modelo de Regress˜ao Linear Exerc´ıcio 1curso-glm.wdfiles.com/local--files/regressao-linear/pratica_lm_comre… · Valeska Andreozzi 1 Modelo de Regress˜ao Linear Exerc´ıcio

Valeska Andreozzi 13

Coefficients:

Estimate Std. Error t value Pr(>|t|)

(Intercept) 3.05496 0.06693 45.642 < 2e-16 ***

smoke1 -0.28171 0.10697 -2.634 0.00916 **

---

Signif. codes: 0 ’***’ 0.001 ’**’ 0.01 ’*’ 0.05 ’.’ 0.1 ’ ’ 1

Residual standard error: 0.7178 on 187 degrees of freedom

Multiple R-squared: 0.03576, Adjusted R-squared: 0.03061

F-statistic: 6.936 on 1 and 187 DF, p-value: 0.009156

• Escreva a equacao do modelo estimado

E(Yi) = β0 + β1smokei

• Calcule o peso medio ao nascer das criancas para as maes que fumaram durante agravidez e para as que nao fumaramMaes fumadoras: E(Yi) = β0 + β1

Maes nao fumadoras: E(Yi) = β0

Compare o resultado que encontrou na alınea anterior com o resultado calculado empiri-camente

> tapply(bp$bwt, list(bp$smoke), mean, na.rm = T)

0 1

3.054957 2.773243

Entao? Qual a vantagem de fazer um modelo de regressao linear em relacao ao calculoempırico?

Resp.: E a facilidade de se obter um intervalo de confianca, especialmente quando temosmuitas covariaveis.

Calcule o intervalo de confianca assintotico para o efeito da variavel smoke que e dadopor β1 ± 1.96 × SE(β1). Calcule tambem o intervalo de confianca exacto com base dadistribuicao t-Student. Note a diferenca. Para calcular o quantil de probabilidade da t-Student utilize a funcao qt(1−α/2,graus de liberdade=n-p) com p igual ao numero deparametros do modelo e α = nıvel de significancia.

Page 14: Modelo de Regress˜ao Linear Exerc´ıcio 1curso-glm.wdfiles.com/local--files/regressao-linear/pratica_lm_comre… · Valeska Andreozzi 1 Modelo de Regress˜ao Linear Exerc´ıcio

Valeska Andreozzi 14

> result <- summary(bp.lm3)

> est <- result$coefficients[2, 1]

> stde <- result$coefficients[2, 2]

> est + c(-1, 1) * 1.96 * stde

[1] -0.49137200 -0.07205456

> qt(1 - 0.05/2, nrow(bp) - 1 - 1)

[1] 1.972731

> est + c(-1, 1) * qt(1 - 0.05/2, nrow(bp) - 1 - 1) *

+ stde

[1] -0.49273382 -0.07069274

Agora suponha que temos um modelo com uma varıavel categorica com mais de duascategorias. Neste caso todas as categorias estarao a ser comparadas com a categoria referen-cia. Para exemplificar, vamos usar a covariavel raca em que a categoria referencia e a racabranca.

> bp.lm4 <- lm(bwt ~ race, data = bp)

> summary(bp.lm4)

Call:

lm(formula = bwt ~ race, data = bp)

Residuals:

Min 1Q Median 3Q Max

-2.09501 -0.50301 -0.01374 0.52699 1.88626

Coefficients:

Estimate Std. Error t value Pr(>|t|)

(Intercept) 3.10374 0.07288 42.586 < 2e-16 ***

race2 -0.38405 0.15787 -2.433 0.01594 *

Page 15: Modelo de Regress˜ao Linear Exerc´ıcio 1curso-glm.wdfiles.com/local--files/regressao-linear/pratica_lm_comre… · Valeska Andreozzi 1 Modelo de Regress˜ao Linear Exerc´ıcio

Valeska Andreozzi 15

race3 -0.29972 0.11368 -2.637 0.00908 **

---

Signif. codes: 0 ’***’ 0.001 ’**’ 0.01 ’*’ 0.05 ’.’ 0.1 ’ ’ 1

Residual standard error: 0.7141 on 186 degrees of freedom

Multiple R-squared: 0.05075, Adjusted R-squared: 0.04054

F-statistic: 4.972 on 2 and 186 DF, p-value: 0.007879

Para conferir qual e a categoria referencia, faca:

> contrasts(bp$race)

2 3

1 0 0

2 1 0

3 0 1

• Escreva a equacao do modelo estimado

E(Yi) = β0 + β1race2i + β2race3i

• Escreva a equacao do modelo estimado para cada categoria de raca

E(Yi|racei = branca) = β0

E(Yi|racei = negra) = β0 + β1

E(Yi|racei = outras) = β0 + β2

• Calcule o valor medio do peso ao nascer para as tres categorias de raca

• Calcule a variacao do peso medio ao nascer da raca negra vs branca e de outras racasvs brancaRaca negra vs branca: E(Yi|racei = negra) − E(Yi|racei = branca) = β1

Raca outras vs branca: E(Yi|racei = outras) − E(Yi|racei = branca) = β2

• Calcule a variacao do peso medio ao nascer comparando raca negra vs outras racasRaca negra vs outras E(Yi|racei = negra) − E(Yi|racei = outras) = β1 − β2

Compare o resultado anterior com o calculo empırico

Page 16: Modelo de Regress˜ao Linear Exerc´ıcio 1curso-glm.wdfiles.com/local--files/regressao-linear/pratica_lm_comre… · Valeska Andreozzi 1 Modelo de Regress˜ao Linear Exerc´ıcio

Valeska Andreozzi 16

> tapply(bp$bwt, list(bp$race), mean, na.rm = T)

1 2 3

3.103740 2.719692 2.804015

O valor predito do peso as nascer de cada raca do modelo de regressao que contem somentea covariavel raca e igual ao calculo empırico da media

Interpretando o modelo com uma covariavel contınua

E se a covariavel e contınua e possui uma relacao linear com a variavel resposta? Consider-emos o modelo que tem como variavel regressora apenas o peso da mae aquando da ultimamenstruacao: lwt.

> bp.lm5 <- lm(bwt ~ lwt, data = bp)

> summary(bp.lm5)

Call:

lm(formula = bwt ~ lwt, data = bp)

Residuals:

Min 1Q Median 3Q Max

-2.19218 -0.50363 -0.00391 0.50825 2.07553

Coefficients:

Estimate Std. Error t value Pr(>|t|)

(Intercept) 2.369672 0.228431 10.374 <2e-16 ***

lwt 0.004429 0.001713 2.586 0.0105 *

---

Signif. codes: 0 ’***’ 0.001 ’**’ 0.01 ’*’ 0.05 ’.’ 0.1 ’ ’ 1

Residual standard error: 0.7182 on 187 degrees of freedom

Multiple R-squared: 0.03452, Adjusted R-squared: 0.02935

F-statistic: 6.686 on 1 and 187 DF, p-value: 0.01048

• Escreva a equacao do modelo estimado

E(Yi) = β0 + β1lwti

Page 17: Modelo de Regress˜ao Linear Exerc´ıcio 1curso-glm.wdfiles.com/local--files/regressao-linear/pratica_lm_comre… · Valeska Andreozzi 1 Modelo de Regress˜ao Linear Exerc´ıcio

Valeska Andreozzi 17

• Calcule o valor medio do peso ao nascer para uma crianca cuja mae apresenta lwt

igual ao peso medio.

E(Yi|lwd = lwt) = β0 + β1 ∗ lwt

> newdata <- data.frame(lwt = mean(bp$lwt))

> predict(bp.lm5, newdata)

1

2.944656

• Diga se existe diferenca significativa entre o peso esperado a nascenca para duas cri-ancas cujas maes tenham valores de lwt com uma diferenca igual a 10 libras. Formalizea questao.

Para cada variacao de um libra no peso da mae na ultima menstruacao o peso medioao nascer varia β1 unidades.

E se quisermos saber a variacao no peso ao nascer para um aumento de 10 libras nopeso da mae?

Basta multiplicar o β1 por 10 (10 × β1)

• E como e que fica o intervalo de confianca para esse efeito?Recorde-se que E(aX + b) = aE(X) + b e que V ar(aX + b) = a2V ar(X). PortantoE(10β) = 10E(β) e V ar(10β) = 102V ar(β), pelo que o intervalo de confianca sera daforma

10β ± tn−m−1;1−α/2 × 10 × SE(β1),

onde m e o numero de variaveis incluıdas no modelo e tn−m−1;1−α/2 e o quantil deprobabilidade 1 − α/2 da distribuicao t-Student com n − m − 1 graus de liberdade.

Nota: O uso do resultado assintotico considerando-se tn−m−1;1−α/2 = 1.96 para valorespequenos de n−m−1 e desaconselhado pois produz intervalos menos amplos levando,eventualmente, a que se tirem conclusoes erradas sobre a significancia dos parametrosdo modelo.(Sugestao: consulte uma tabela de valores da t-Student.)

> result5 <- summary(bp.lm5)

> est <- result5$coefficients[2, 1]

> stde <- result5$coefficients[2, 2]

> 10 * est

[1] 0.04429264

Page 18: Modelo de Regress˜ao Linear Exerc´ıcio 1curso-glm.wdfiles.com/local--files/regressao-linear/pratica_lm_comre… · Valeska Andreozzi 1 Modelo de Regress˜ao Linear Exerc´ıcio

Valeska Andreozzi 18

> 10 * est + c(-1, 1) * 1.96 * 10 * stde

[1] 0.01071735 0.07786792

> qt(0.975, nrow(bp) - 1 - 1)

[1] 1.972731

> 10 * est + c(-1, 1) * qt(0.975, nrow(bp) - 1 - 1) *

+ 10 * stde

[1] 0.01049927 0.07808600

Interpretando o modelo com uma covariavel contınua e categorica

Considere um modelo envolvendo uma variavel contınua e uma variavel categorica lwt erace :

> bp.lm6 <- lm(bwt ~ lwt + race, data = bp)

> summary(bp.lm6)

Call:

lm(formula = bwt ~ lwt + race, data = bp)

Residuals:

Min 1Q Median 3Q Max

-2.0949 -0.4208 0.0401 0.4782 1.9284

Coefficients:

Estimate Std. Error t value Pr(>|t|)

(Intercept) 2.488763 0.241864 10.290 < 2e-16 ***

lwt 0.004657 0.001749 2.662 0.00844 **

race2 -0.452765 0.157482 -2.875 0.00451 **

race3 -0.243667 0.113826 -2.141 0.03361 *

---

Signif. codes: 0 ’***’ 0.001 ’**’ 0.01 ’*’ 0.05 ’.’ 0.1 ’ ’ 1

Residual standard error: 0.7027 on 185 degrees of freedom

Multiple R-squared: 0.08578, Adjusted R-squared: 0.07095

F-statistic: 5.786 on 3 and 185 DF, p-value: 0.0008399

Page 19: Modelo de Regress˜ao Linear Exerc´ıcio 1curso-glm.wdfiles.com/local--files/regressao-linear/pratica_lm_comre… · Valeska Andreozzi 1 Modelo de Regress˜ao Linear Exerc´ıcio

Valeska Andreozzi 19

• Compare o coeficiente da covariavel lwt deste modelo com o do modelo contendoapenas a covariavel lwt (modelo anterior). Que significado tem esse coeficiente emcada um dos casos?No modelo bp.lm5, E(Yi) = β0 + β1lwti, temos o efeito marginal da covariavel lwt.No modelo (bp.lm6 ), E(Yi) = β0 +β1lwti +β2race2i +β3race3i, temos o efeito parcialda covariavel lwt. Em outras palavras, no modelo (bp.lm6 ) o efeito da covariavel lwtesta controlado pela covariavel race.

• Escreva a equacao do modelo para cada uma das racas.

E(Yi|racei = branca) = β0 + β1lwti

E(Yi|racei = negra) = β0 + β1lwti + β2

E(Yi|racei = outras) = β0 + β1lwti + β3

• Ajuste modelos simples (so com a variavel lwt ) considerando os subconjuntos dos dadosque se obtem separando-os por race. Compare estes modelos com o que escreveu naalınea anterior. Qual a melhor abordagem? Porque?

> bp.lm6b <- lm(bwt ~ lwt, data = bp, subset = (race ==

+ "1"))

> summary(bp.lm6b)

Call:

lm(formula = bwt ~ lwt, data = bp, subset = (race == "1"))

Residuals:

Min 1Q Median 3Q Max

-2.07252 -0.46788 0.04125 0.51030 1.93133

Coefficients:

Estimate Std. Error t value Pr(>|t|)

(Intercept) 2.446298 0.341789 7.157 1.79e-10 ***

lwt 0.004979 0.002528 1.969 0.0519 .

---

Signif. codes: 0 ’***’ 0.001 ’**’ 0.01 ’*’ 0.05 ’.’ 0.1 ’ ’ 1

Residual standard error: 0.7169 on 94 degrees of freedom

Multiple R-squared: 0.03962, Adjusted R-squared: 0.0294

F-statistic: 3.878 on 1 and 94 DF, p-value: 0.05188

Page 20: Modelo de Regress˜ao Linear Exerc´ıcio 1curso-glm.wdfiles.com/local--files/regressao-linear/pratica_lm_comre… · Valeska Andreozzi 1 Modelo de Regress˜ao Linear Exerc´ıcio

Valeska Andreozzi 20

> bp.lm6n <- lm(bwt ~ lwt, data = bp, subset = (race ==

+ "2"))

> summary(bp.lm6n)

Call:

lm(formula = bwt ~ lwt, data = bp, subset = (race == "2"))

Residuals:

Min 1Q Median 3Q Max

-1.6823 -0.3213 0.1628 0.3649 1.0840

Coefficients:

Estimate Std. Error t value Pr(>|t|)

(Intercept) 2.363222 0.493772 4.786 7.15e-05 ***

lwt 0.002428 0.003251 0.747 0.462

---

Signif. codes: 0 ’***’ 0.001 ’**’ 0.01 ’*’ 0.05 ’.’ 0.1 ’ ’ 1

Residual standard error: 0.6444 on 24 degrees of freedom

Multiple R-squared: 0.02271, Adjusted R-squared: -0.01801

F-statistic: 0.5577 on 1 and 24 DF, p-value: 0.4624

> bp.lm6o <- lm(bwt ~ lwt, data = bp, subset = (race ==

+ "3"))

> summary(bp.lm6o)

Call:

lm(formula = bwt ~ lwt, data = bp, subset = (race == "3"))

Residuals:

Min 1Q Median 3Q Max

-2.09492 -0.43833 0.05908 0.49511 1.34651

Coefficients:

Estimate Std. Error t value Pr(>|t|)

(Intercept) 2.067447 0.426302 4.850 8.06e-06 ***

lwt 0.006137 0.003478 1.765 0.0823 .

---

Page 21: Modelo de Regress˜ao Linear Exerc´ıcio 1curso-glm.wdfiles.com/local--files/regressao-linear/pratica_lm_comre… · Valeska Andreozzi 1 Modelo de Regress˜ao Linear Exerc´ıcio

Valeska Andreozzi 21

Signif. codes: 0 ’***’ 0.001 ’**’ 0.01 ’*’ 0.05 ’.’ 0.1 ’ ’ 1

Residual standard error: 0.71 on 65 degrees of freedom

Multiple R-squared: 0.04572, Adjusted R-squared: 0.03104

F-statistic: 3.114 on 1 and 65 DF, p-value: 0.0823

Agora temos um modelo para cada subconjunto da amostra. Desta forma podemosinvestigar se o efeito da covariavel lwt e diferente entre as categorias da covariavel raca(race ), ie, se existe uma modificacao de efeito da covariavel lwt, ou em outras palavras,se existe uma interacao entre peso da mae da ultima menstruacao (lwt ) e raca (race ). Osresultados dos modelos para cada uma das racas apresentam coeficientes diferentes para acovariavel lwt, contudo a significancia estatıstica destes efeitos nao sao boderlines.

> plot(bp$lwt[which(bp$race == "1")], bp$bwt[which(bp$race ==

+ "1")], col = 1, xlab = "lwt", ylab = "bwt")

> points(bp$lwt[which(bp$race == "2")], bp$bwt[which(bp$race ==

+ "2")], col = 2)

> points(bp$lwt[which(bp$race == "3")], bp$bwt[which(bp$race ==

+ "3")], col = 3)

> abline(bp.lm6b, col = 1)

> abline(bp.lm6n, col = 2)

> abline(bp.lm6o, col = 3)

100 150 200

12

34

5

lwt

bwt

Page 22: Modelo de Regress˜ao Linear Exerc´ıcio 1curso-glm.wdfiles.com/local--files/regressao-linear/pratica_lm_comre… · Valeska Andreozzi 1 Modelo de Regress˜ao Linear Exerc´ıcio

Valeska Andreozzi 22

Ao constatarmos (por mera observacao) que os coeficientes de lwt sao diferentes para ostres grupos, podemos perguntar-nos se race modifica o efeito de lwt, ou seja, se a variavelrace e variavel modificadora de efeito.

Para procurarmos resposta, vamos considerar a interacao das variaveis lwt e race nomodelo:

> bp.lm6int <- lm(bwt ~ lwt + race + lwt:race, data = bp)

> summary(bp.lm6int)

Call:

lm(formula = bwt ~ lwt + race + lwt:race, data = bp)

Residuals:

Min 1Q Median 3Q Max

-2.09492 -0.45029 0.05362 0.49248 1.93133

Coefficients:

Estimate Std. Error t value Pr(>|t|)

(Intercept) 2.446298 0.336271 7.275 9.84e-12 ***

lwt 0.004979 0.002487 2.002 0.0468 *

race2 -0.083076 0.636554 -0.131 0.8963

race3 -0.378851 0.540778 -0.701 0.4845

lwt:race2 -0.002551 0.004342 -0.587 0.5577

lwt:race3 0.001159 0.004257 0.272 0.7858

---

Signif. codes: 0 ’***’ 0.001 ’**’ 0.01 ’*’ 0.05 ’.’ 0.1 ’ ’ 1

Residual standard error: 0.7054 on 183 degrees of freedom

Multiple R-squared: 0.08873, Adjusted R-squared: 0.06383

F-statistic: 3.564 on 5 and 183 DF, p-value: 0.00424

Qual a sua conclusao? Os coeficientes dos termos de interaccao sao nao significativospelo que concluımos que race nao e variavel modificadora do efeito de lwt. Nao vale a penacolocar a interaccao no modelo. Isto esta de acordo com os modelos estratificados por raca(modelo separado para cada raca) em que o efeito da covariavel lwt nao era estatısticamentetao expressivo para as diferente racas.

Quando a interacao entre duas variaveis e importante, podemos trata-la de duas maneiras:ou incluımos um termo de interacao no modelo +lwt:race ou estratificamos a analise es-timando modelos em separado para cada subconjunto da amostra. Quanto a estratificar o

Page 23: Modelo de Regress˜ao Linear Exerc´ıcio 1curso-glm.wdfiles.com/local--files/regressao-linear/pratica_lm_comre… · Valeska Andreozzi 1 Modelo de Regress˜ao Linear Exerc´ıcio

Valeska Andreozzi 23

modelo (considerar um modelo para cada raca), a decisao depende do que se pretender como estudo e da dimensao do conjunto de dados. Na estratitifacao deixamos de estimar o efeitoda covariavel raca.

Selecao de modelos

Admitamos que nao temos ideia, a partida, sobre quais as covariaveis que devemos incluirno modelo. Comecemos por construir o modelo contendo todas as variaveis disponıveis comexcepcao de id e low :

> bp.modcomp <- lm(bwt ~ . - id - low, data = bp)

> summary(bp.modcomp)

Call:

lm(formula = bwt ~ . - id - low, data = bp)

Residuals:

Min 1Q Median 3Q Max

-1.82620 -0.43494 0.05759 0.47267 1.70268

Coefficients:

Estimate Std. Error t value Pr(>|t|)

(Intercept) 2.930102 0.312839 9.366 < 2e-16 ***

age -0.003650 0.009618 -0.379 0.704787

lwt 0.004354 0.001735 2.509 0.012990 *

race2 -0.489442 0.149953 -3.264 0.001316 **

race3 -0.357051 0.114729 -3.112 0.002163 **

smoke1 -0.350618 0.106454 -3.294 0.001192 **

ptl -0.048839 0.101950 -0.479 0.632492

ht1 -0.592812 0.202279 -2.931 0.003824 **

ui1 -0.514928 0.138857 -3.708 0.000278 ***

ftv -0.014072 0.046458 -0.303 0.762323

---

Signif. codes: 0 ’***’ 0.001 ’**’ 0.01 ’*’ 0.05 ’.’ 0.1 ’ ’ 1

Residual standard error: 0.6502 on 179 degrees of freedom

Multiple R-squared: 0.2427, Adjusted R-squared: 0.2046

F-statistic: 6.373 on 9 and 179 DF, p-value: 7.96e-08

Page 24: Modelo de Regress˜ao Linear Exerc´ıcio 1curso-glm.wdfiles.com/local--files/regressao-linear/pratica_lm_comre… · Valeska Andreozzi 1 Modelo de Regress˜ao Linear Exerc´ıcio

Valeska Andreozzi 24

Step-down

> step1 <- step(bp.modcomp)

Start: AIC=-153

bwt ~ (id + low + age + lwt + race + smoke + ptl + ht + ui +

ftv) - id - low

Df Sum of Sq RSS AIC

- ftv 1 0.0388 75.710 -154.91

- age 1 0.0609 75.732 -154.85

- ptl 1 0.0970 75.768 -154.76

<none> 75.671 -153.00

- lwt 1 2.6615 78.332 -148.47

- ht 1 3.6308 79.302 -146.14

- smoke 1 4.5858 80.257 -143.88

- race 2 6.6273 82.298 -141.13

- ui 1 5.8135 81.484 -141.01

Step: AIC=-154.9

bwt ~ age + lwt + race + smoke + ptl + ht + ui

Df Sum of Sq RSS AIC

- age 1 0.0823 75.792 -156.70

- ptl 1 0.0933 75.803 -156.67

<none> 75.710 -154.91

- lwt 1 2.6238 78.334 -150.47

- ht 1 3.5922 79.302 -148.14

- smoke 1 4.5691 80.279 -145.83

- race 2 6.6010 82.311 -143.10

- ui 1 5.7919 81.502 -142.97

Step: AIC=-156.7

bwt ~ lwt + race + smoke + ptl + ht + ui

Df Sum of Sq RSS AIC

- ptl 1 0.1198 75.912 -158.40

<none> 75.792 -156.70

- lwt 1 2.5423 78.334 -152.46

- ht 1 3.5452 79.337 -150.06

Page 25: Modelo de Regress˜ao Linear Exerc´ıcio 1curso-glm.wdfiles.com/local--files/regressao-linear/pratica_lm_comre… · Valeska Andreozzi 1 Modelo de Regress˜ao Linear Exerc´ıcio

Valeska Andreozzi 25

- smoke 1 4.4902 80.282 -147.82

- ui 1 5.7233 81.515 -144.94

- race 2 6.6148 82.407 -144.88

Step: AIC=-158.4

bwt ~ lwt + race + smoke + ht + ui

Df Sum of Sq RSS AIC

<none> 75.912 -158.40

- lwt 1 2.6716 78.583 -153.86

- ht 1 3.5839 79.496 -151.68

- smoke 1 4.9112 80.823 -148.55

- race 2 6.6741 82.586 -146.47

- ui 1 6.3270 82.239 -145.27

> summary(step1)

Call:

lm(formula = bwt ~ lwt + race + smoke + ht + ui, data = bp)

Residuals:

Min 1Q Median 3Q Max

-1.84333 -0.43271 0.06699 0.46095 1.63091

Coefficients:

Estimate Std. Error t value Pr(>|t|)

(Intercept) 2.837638 0.243635 11.647 < 2e-16 ***

lwt 0.004239 0.001675 2.531 0.012225 *

race2 -0.475808 0.145578 -3.268 0.001293 **

race3 -0.349998 0.112342 -3.115 0.002134 **

smoke1 -0.354900 0.103426 -3.431 0.000743 ***

ht1 -0.585112 0.199610 -2.931 0.003809 **

ui1 -0.524439 0.134652 -3.895 0.000138 ***

---

Signif. codes: 0 ’***’ 0.001 ’**’ 0.01 ’*’ 0.05 ’.’ 0.1 ’ ’ 1

Residual standard error: 0.6458 on 182 degrees of freedom

Multiple R-squared: 0.2403, Adjusted R-squared: 0.2152

F-statistic: 9.592 on 6 and 182 DF, p-value: 3.659e-09

Page 26: Modelo de Regress˜ao Linear Exerc´ıcio 1curso-glm.wdfiles.com/local--files/regressao-linear/pratica_lm_comre… · Valeska Andreozzi 1 Modelo de Regress˜ao Linear Exerc´ıcio

Valeska Andreozzi 26

Stepwise

> step2 <- step(bp.modcomp, direction = "both")

Start: AIC=-153

bwt ~ (id + low + age + lwt + race + smoke + ptl + ht + ui +

ftv) - id - low

Df Sum of Sq RSS AIC

- ftv 1 0.0388 75.710 -154.91

- age 1 0.0609 75.732 -154.85

- ptl 1 0.0970 75.768 -154.76

<none> 75.671 -153.00

- lwt 1 2.6615 78.332 -148.47

- ht 1 3.6308 79.302 -146.14

- smoke 1 4.5858 80.257 -143.88

- race 2 6.6273 82.298 -141.13

- ui 1 5.8135 81.484 -141.01

Step: AIC=-154.9

bwt ~ age + lwt + race + smoke + ptl + ht + ui

Df Sum of Sq RSS AIC

- age 1 0.0823 75.792 -156.70

- ptl 1 0.0933 75.803 -156.67

<none> 75.710 -154.91

+ ftv 1 0.0388 75.671 -153.00

- lwt 1 2.6238 78.334 -150.47

- ht 1 3.5922 79.302 -148.14

- smoke 1 4.5691 80.279 -145.83

- race 2 6.6010 82.311 -143.10

- ui 1 5.7919 81.502 -142.97

Step: AIC=-156.7

bwt ~ lwt + race + smoke + ptl + ht + ui

Df Sum of Sq RSS AIC

- ptl 1 0.1198 75.912 -158.40

<none> 75.792 -156.70

+ age 1 0.0823 75.710 -154.91

Page 27: Modelo de Regress˜ao Linear Exerc´ıcio 1curso-glm.wdfiles.com/local--files/regressao-linear/pratica_lm_comre… · Valeska Andreozzi 1 Modelo de Regress˜ao Linear Exerc´ıcio

Valeska Andreozzi 27

+ ftv 1 0.0602 75.732 -154.85

- lwt 1 2.5423 78.334 -152.46

- ht 1 3.5452 79.337 -150.06

- smoke 1 4.4902 80.282 -147.82

- ui 1 5.7233 81.515 -144.94

- race 2 6.6148 82.407 -144.88

Step: AIC=-158.4

bwt ~ lwt + race + smoke + ht + ui

Df Sum of Sq RSS AIC

<none> 75.912 -158.40

+ ptl 1 0.1198 75.792 -156.70

+ age 1 0.1088 75.803 -156.67

+ ftv 1 0.0589 75.853 -156.55

- lwt 1 2.6716 78.583 -153.86

- ht 1 3.5839 79.496 -151.68

- smoke 1 4.9112 80.823 -148.55

- race 2 6.6741 82.586 -146.47

- ui 1 6.3270 82.239 -145.27

> summary(step2)

Call:

lm(formula = bwt ~ lwt + race + smoke + ht + ui, data = bp)

Residuals:

Min 1Q Median 3Q Max

-1.84333 -0.43271 0.06699 0.46095 1.63091

Coefficients:

Estimate Std. Error t value Pr(>|t|)

(Intercept) 2.837638 0.243635 11.647 < 2e-16 ***

lwt 0.004239 0.001675 2.531 0.012225 *

race2 -0.475808 0.145578 -3.268 0.001293 **

race3 -0.349998 0.112342 -3.115 0.002134 **

smoke1 -0.354900 0.103426 -3.431 0.000743 ***

ht1 -0.585112 0.199610 -2.931 0.003809 **

ui1 -0.524439 0.134652 -3.895 0.000138 ***

Page 28: Modelo de Regress˜ao Linear Exerc´ıcio 1curso-glm.wdfiles.com/local--files/regressao-linear/pratica_lm_comre… · Valeska Andreozzi 1 Modelo de Regress˜ao Linear Exerc´ıcio

Valeska Andreozzi 28

---

Signif. codes: 0 ’***’ 0.001 ’**’ 0.01 ’*’ 0.05 ’.’ 0.1 ’ ’ 1

Residual standard error: 0.6458 on 182 degrees of freedom

Multiple R-squared: 0.2403, Adjusted R-squared: 0.2152

F-statistic: 9.592 on 6 and 182 DF, p-value: 3.659e-09

Chegamos em ambos os casos ao mesmo modelo final. As variaveis age, ftv e ptl foramexcluıdas do modelo inicial. As restantes foram consideradas significativas.

Recorde-se que as variaveis ftv e ptl sao variaveis quantitativas. No entanto, sao denatureza discreta apresentando uma diversidade de valores muito pequena. A questao quedevemos colocar-nos e se nao seriam mais uteis se fossem categorizadas.

> table(bp$ftv)

0 1 2 3 4 6

100 47 30 7 4 1

> table(bp$ptl)

0 1 2 3

159 24 5 1

Podemos juntar (criar) tres categorias para ftv : “nenhuma consulta”, “uma consulta”,“duas ou mais consultas”.

> bp$ftvcat <- 0

> bp$ftvcat[which(bp$ftv == 1)] <- 1

> bp$ftvcat[which(bp$ftv > 1)] <- 2

> bp$ftvcat <- factor(bp$ftvcat)

> table(bp$ftvcat)

0 1 2

100 47 42

Page 29: Modelo de Regress˜ao Linear Exerc´ıcio 1curso-glm.wdfiles.com/local--files/regressao-linear/pratica_lm_comre… · Valeska Andreozzi 1 Modelo de Regress˜ao Linear Exerc´ıcio

Valeska Andreozzi 29

Para a variavel ptl criamos apenas duas categorias: “nao”=0 e “sim”=1.

> bp$ptlcat <- 0

> bp$ptlcat[which(bp$ptl > 0)] <- 1

> bp$ptlcat <- factor(bp$ptlcat)

> table(bp$ptlcat)

0 1

159 30

E vamos repetir o stepwise.

> bp.modcomp2 <- lm(bwt ~ . - id - low - ftv - ptl, data = bp)

> summary(bp.modcomp2)

Call:

lm(formula = bwt ~ . - id - low - ftv - ptl, data = bp)

Residuals:

Min 1Q Median 3Q Max

-1.7954 -0.4451 0.0469 0.4939 1.6019

Coefficients:

Estimate Std. Error t value Pr(>|t|)

(Intercept) 2.869293 0.313486 9.153 < 2e-16 ***

age -0.002875 0.009659 -0.298 0.76629

lwt 0.004364 0.001724 2.532 0.01222 *

race2 -0.466813 0.149506 -3.122 0.00209 **

race3 -0.318163 0.117388 -2.710 0.00738 **

smoke1 -0.299100 0.109602 -2.729 0.00699 **

ht1 -0.591236 0.201128 -2.940 0.00372 **

ui1 -0.480853 0.137232 -3.504 0.00058 ***

ftvcat1 0.111435 0.122943 0.906 0.36595

ftvcat2 -0.055938 0.123145 -0.454 0.65020

ptlcat1 -0.231356 0.137951 -1.677 0.09528 .

---

Signif. codes: 0 ’***’ 0.001 ’**’ 0.01 ’*’ 0.05 ’.’ 0.1 ’ ’ 1

Residual standard error: 0.6459 on 178 degrees of freedom

Multiple R-squared: 0.2568, Adjusted R-squared: 0.215

F-statistic: 6.15 on 10 and 178 DF, p-value: 4.903e-08

Page 30: Modelo de Regress˜ao Linear Exerc´ıcio 1curso-glm.wdfiles.com/local--files/regressao-linear/pratica_lm_comre… · Valeska Andreozzi 1 Modelo de Regress˜ao Linear Exerc´ıcio

Valeska Andreozzi 30

> step3 <- step(bp.modcomp2, direction = "both")

Start: AIC=-154.56

bwt ~ (id + low + age + lwt + race + smoke + ptl + ht + ui +

ftv + ftvcat + ptlcat) - id - low - ftv - ptl

Df Sum of Sq RSS AIC

- ftvcat 2 0.6150 74.875 -157.00

- age 1 0.0370 74.297 -156.47

<none> 74.260 -154.56

- ptlcat 1 1.1734 75.433 -153.60

- lwt 1 2.6737 76.934 -149.87

- smoke 1 3.1069 77.367 -148.81

- ht 1 3.6051 77.865 -147.60

- race 2 5.4875 79.748 -145.09

- ui 1 5.1221 79.382 -143.95

Step: AIC=-157

bwt ~ age + lwt + race + smoke + ht + ui + ptlcat

Df Sum of Sq RSS AIC

- age 1 0.0279 74.903 -158.93

<none> 74.875 -157.00

- ptlcat 1 0.9279 75.803 -156.67

+ ftvcat 2 0.6150 74.260 -154.56

- lwt 1 2.4225 77.298 -152.98

- ht 1 3.4643 78.339 -150.45

- smoke 1 3.9572 78.832 -149.27

- race 2 6.0895 80.965 -146.22

- ui 1 5.4046 80.280 -145.83

Step: AIC=-158.93

bwt ~ lwt + race + smoke + ht + ui + ptlcat

Df Sum of Sq RSS AIC

<none> 74.903 -158.93

- ptlcat 1 1.0088 75.912 -158.40

+ age 1 0.0279 74.875 -157.00

+ ftvcat 2 0.6060 74.297 -156.47

- lwt 1 2.4136 77.317 -154.94

Page 31: Modelo de Regress˜ao Linear Exerc´ıcio 1curso-glm.wdfiles.com/local--files/regressao-linear/pratica_lm_comre… · Valeska Andreozzi 1 Modelo de Regress˜ao Linear Exerc´ıcio

Valeska Andreozzi 31

- ht 1 3.4406 78.344 -152.44

- smoke 1 3.9332 78.836 -151.26

- ui 1 5.3767 80.280 -147.83

- race 2 6.2486 81.152 -147.79

> summary(step3)

Call:

lm(formula = bwt ~ lwt + race + smoke + ht + ui + ptlcat, data = bp)

Residuals:

Min 1Q Median 3Q Max

-1.88638 -0.44103 0.05355 0.49417 1.62095

Coefficients:

Estimate Std. Error t value Pr(>|t|)

(Intercept) 2.871985 0.243673 11.786 < 2e-16 ***

lwt 0.004041 0.001673 2.415 0.016730 *

race2 -0.466324 0.145134 -3.213 0.001555 **

race3 -0.335684 0.112276 -2.990 0.003180 **

smoke1 -0.323570 0.104956 -3.083 0.002371 **

ht1 -0.573686 0.198961 -2.883 0.004411 **

ui1 -0.489960 0.135930 -3.605 0.000404 ***

ptlcat1 -0.208437 0.133503 -1.561 0.120202

---

Signif. codes: 0 ’***’ 0.001 ’**’ 0.01 ’*’ 0.05 ’.’ 0.1 ’ ’ 1

Residual standard error: 0.6433 on 181 degrees of freedom

Multiple R-squared: 0.2503, Adjusted R-squared: 0.2214

F-statistic: 8.635 on 7 and 181 DF, p-value: 3.96e-09

Qual a sua conclusao?

A variavel ftvcat foi eliminada no processo automatico de selecao de variaveis stepwise.Ja a variavel ptlcat foi mantida no modelo apesar de nao apresentar significancia estatıstica.

Diagnostico do modelo

E altura de fazer o diagnostico do modelo final, procurando verificar se os pressupostos domodelo sao respeitados.

Page 32: Modelo de Regress˜ao Linear Exerc´ıcio 1curso-glm.wdfiles.com/local--files/regressao-linear/pratica_lm_comre… · Valeska Andreozzi 1 Modelo de Regress˜ao Linear Exerc´ıcio

Valeska Andreozzi 32

Analise de Resıduos

Comecemos por calcular os resıduos padronizados:

> bp.final <- step3

> summary(bp.final)

Call:

lm(formula = bwt ~ lwt + race + smoke + ht + ui + ptlcat, data = bp)

Residuals:

Min 1Q Median 3Q Max

-1.88638 -0.44103 0.05355 0.49417 1.62095

Coefficients:

Estimate Std. Error t value Pr(>|t|)

(Intercept) 2.871985 0.243673 11.786 < 2e-16 ***

lwt 0.004041 0.001673 2.415 0.016730 *

race2 -0.466324 0.145134 -3.213 0.001555 **

race3 -0.335684 0.112276 -2.990 0.003180 **

smoke1 -0.323570 0.104956 -3.083 0.002371 **

ht1 -0.573686 0.198961 -2.883 0.004411 **

ui1 -0.489960 0.135930 -3.605 0.000404 ***

ptlcat1 -0.208437 0.133503 -1.561 0.120202

---

Signif. codes: 0 ’***’ 0.001 ’**’ 0.01 ’*’ 0.05 ’.’ 0.1 ’ ’ 1

Residual standard error: 0.6433 on 181 degrees of freedom

Multiple R-squared: 0.2503, Adjusted R-squared: 0.2214

F-statistic: 8.635 on 7 and 181 DF, p-value: 3.96e-09

> sigma <- summary(bp.final)$sigma

> bp.final$stdres <- (bp$bwt - bp.final$fitted.values)/(sigma *

+ sqrt((1 - hatvalues(bp.final))))

Verificacao do pressuposto de normalidade:

Page 33: Modelo de Regress˜ao Linear Exerc´ıcio 1curso-glm.wdfiles.com/local--files/regressao-linear/pratica_lm_comre… · Valeska Andreozzi 1 Modelo de Regress˜ao Linear Exerc´ıcio

Valeska Andreozzi 33

> library(car)

> qqPlot(bp.final$stdres)

−3 −2 −1 0 1 2 3

−3

−2

−1

01

2

norm quantiles

bp.fi

nal$

stdr

es

NOTA: para os que estao utilizando versao do R abaixo da 2.12.1 tem que substituir afuncao qqPlot() por qq.plot().

Pressuposto respeitado.

Verificacao do pressuposto de homocedasticidade:

> plot(bp.final$fitted.values, bp.final$stdres, main = "",

+ ylab = "resıduos padronizados", xlab = "valores ajustados",

+ pch = 21, bg = 2, col = 2)

> title("resıduos padronizados vs valores ajustados")

> abline(h = 0, lty = 2)

Page 34: Modelo de Regress˜ao Linear Exerc´ıcio 1curso-glm.wdfiles.com/local--files/regressao-linear/pratica_lm_comre… · Valeska Andreozzi 1 Modelo de Regress˜ao Linear Exerc´ıcio

Valeska Andreozzi 34

2.0 2.5 3.0 3.5

−3

−2

−1

01

2

valores ajustados

resí

duos

pad

roni

zado

s

resíduos padronizados vs valores ajustados

Pressuposto respeitado.

Verificacao do pressuposto de independencia:

> plot(bp.final$stdres, ylab = "resıduos", pch = 21, bg = 2,

+ col = 2)

> title(main = "resıduos padronizados vs index")

0 50 100 150

−3

−2

−1

01

2

Index

resí

duos

resíduos padronizados vs index

Page 35: Modelo de Regress˜ao Linear Exerc´ıcio 1curso-glm.wdfiles.com/local--files/regressao-linear/pratica_lm_comre… · Valeska Andreozzi 1 Modelo de Regress˜ao Linear Exerc´ıcio

Valeska Andreozzi 35

Pressuposto respeitado.

Adequabilidade das variaveis regressoras:

• peso da mae (lwt )

> plot(bp$lwt, bp.final$stdres, xlab = "peso da m~ae (lwt)",

+ ylab = "resıduo", pch = 21, bg = 2, col = 2)

> title(main = "resıduos padronizados vs peso da m~ae")

> abline(h = 0, lty = 2)

100 150 200 250

−3

−2

−1

01

2

peso da mãe (lwt)

resí

duo

resíduos padronizados vs peso da mãe

Relacao linear respeitada.

• raca (race )

> boxplot(bp.final$stdres[which(bp$race == 1)], bp.final$stdres[which(bp$race ==

+ 2)], bp.final$stdres[which(bp$race == 3)], col = c("green",

+ "blue", "red"), names = c("raca branca", "raca negra",

+ "raca outra"), ylab = "resıduos padronizados")

> title(main = "distribuic~ao dos resıduos padronizados por raca")

Page 36: Modelo de Regress˜ao Linear Exerc´ıcio 1curso-glm.wdfiles.com/local--files/regressao-linear/pratica_lm_comre… · Valeska Andreozzi 1 Modelo de Regress˜ao Linear Exerc´ıcio

Valeska Andreozzi 36

raça branca raça negra raça outra

−3

−2

−1

01

2

resí

duos

pad

roni

zado

s

distribuição dos resíduos padronizados por raça

• habito de fumo (smoke )

> boxplot(bp.final$stdres[which(bp$smoke == 0)], bp.final$stdres[which(bp$smoke ==

+ 1)], col = c("green", "red"), names = c("n~ao fuma",

+ "fuma"), ylab = "resıduos padronizados", main = "")

> title("distribuic~ao dos resıduos padronizados por habito de fumo")

não fuma fuma

−3

−2

−1

01

2

resí

duos

pad

roni

zado

s

distribuição dos resíduos padronizados por hábito de fumo

Page 37: Modelo de Regress˜ao Linear Exerc´ıcio 1curso-glm.wdfiles.com/local--files/regressao-linear/pratica_lm_comre… · Valeska Andreozzi 1 Modelo de Regress˜ao Linear Exerc´ıcio

Valeska Andreozzi 37

• presenca de hipertensao (ht )

> boxplot(bp.final$stdres ~ bp$ht, col = c("green", "red"),

+ names = c("n~ao hipertensa", "hipertensa"), ylab = "resıduos padronizados")

> title(main = "distribuic~ao dos resıduos padronizados por hipertens~ao")

não hipertensa hipertensa

−3

−2

−1

01

2

resí

duos

pad

roni

zado

s

distribuição dos resíduos padronizados por hipertensão

O numero de mulheres hipertensas e muito pequeno:

> table(bp$ht)

0 1

177 12

• presenca de irritabilidade uterina (ui )

> boxplot(bp.final$stdres[which(bp$ui == 0)], bp.final$stdres[which(bp$ui ==

+ 1)], col = c("green", "red"), names = c("sem irritabilidade uterina",

+ "com irritabilidade uterina"), ylab = "resıduos padronizados",

+ main = "")

> title("distribuic~ao dos resıduos padronizados por irritabilidade uterina")

Page 38: Modelo de Regress˜ao Linear Exerc´ıcio 1curso-glm.wdfiles.com/local--files/regressao-linear/pratica_lm_comre… · Valeska Andreozzi 1 Modelo de Regress˜ao Linear Exerc´ıcio

Valeska Andreozzi 38

sem irritabilidade uterina com irritabilidade uterina

−3

−2

−1

01

2

resí

duos

pad

roni

zado

s

distribuição dos resíduos padronizados por irritabilidade uterina

O numero de mulheres com irritabilidade uterina tambem e muito pequeno:

> table(bp$ui)

0 1

161 28

• partos prematurod (ptlcat )

> boxplot(bp.final$stdres ~ bp$ptlcat, col = c("green",

+ "red"), names = c("sem", "com"), ylab = "resıduos padronizados",

+ main = "")

> title("distribuic~ao dos resıduos padronizados por partos prematuros")

Page 39: Modelo de Regress˜ao Linear Exerc´ıcio 1curso-glm.wdfiles.com/local--files/regressao-linear/pratica_lm_comre… · Valeska Andreozzi 1 Modelo de Regress˜ao Linear Exerc´ıcio

Valeska Andreozzi 39

sem com

−3

−2

−1

01

2

resí

duos

pad

roni

zado

s

distribuição dos resíduos padronizados por partos prematuros

Predicao

Considere uma nova observacao com a seguintes caracterısticas:

• lwt=170

• race=3

• smoke=1

• ht=1

• ui=0

• ptlcat=0

Qual o peso esperado a nascenca para uma crianca cuja mae apresenta as caracterısticasacima?

> new <- data.frame(lwt = 170, race = "3", smoke = "1",

+ ht = "1", ui = "0", ptlcat = "0")

> predict(bp.final, new, se.fit = TRUE)

Page 40: Modelo de Regress˜ao Linear Exerc´ıcio 1curso-glm.wdfiles.com/local--files/regressao-linear/pratica_lm_comre… · Valeska Andreozzi 1 Modelo de Regress˜ao Linear Exerc´ıcio

Valeska Andreozzi 40

$fit

1

2.326047

$se.fit

[1] 0.2219315

$df

[1] 181

$residual.scale

[1] 0.6432951

Obtenha um intervalo de confianca a um nıvel de 95% de confianca para esta nova crianca.

> pred.w.plim <- predict(bp.final, new, interval = "prediction")

> pred.w.plim

fit lwr upr

1 2.326047 0.9833105 3.668783

Obtenha um intervalo de confianca a um nıvel de 95% de confianca para o peso medio anascenca das criancas cujas maes possuem essas mesmas caracterısticas.

> pred.w.clim <- predict(bp.final, new, interval = "confidence")

> pred.w.clim

fit lwr upr

1 2.326047 1.888141 2.763952