load("C:/Users/A57266728/Desktop/trabalho/hosp1.RData")
dados <- Hosp
dados
##    Idade Severidade Ansiedade Satisfação
## 1     55         50       2.1         68
## 2     46         24       2.8         77
## 3     30         46       3.3         96
## 4     35         48       4.5         80
## 5     59         58       2.0         43
## 6     61         60       5.1         44
## 7     74         65       5.5         26
## 8     38         42       3.2         88
## 9     27         42       3.1         75
## 10    51         50       2.4         57
## 11    53         38       2.2         56
## 12    41         30       2.1         88
## 13    37         31       1.9         88
## 14    24         34       3.1        100
## 15    42         30       3.0         88
## 16    50         48       4.2         70
## 17    58         61       4.6         52
## 18    60         71       5.3         43
## 19    62         62       7.2         46
## 20    68         38       7.8         56
## 21    70         41       7.0         59
## 22    79         66       6.2         26
## 23    63         31       4.1         52
## 24    39         42       3.5         83
## 25    49         40       2.1         75
modelo <- lm(Satisfação ~ Idade + Severidade + Ansiedade)
summary(modelo)
## 
## Call:
## lm(formula = Satisfação ~ Idade + Severidade + Ansiedade)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -17.9156  -3.9737   0.4397   4.6972  11.7993 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 143.2886     5.8986  24.292  < 2e-16 ***
## Idade        -1.0999     0.1326  -8.294  4.6e-08 ***
## Severidade   -0.5842     0.1321  -4.423 0.000236 ***
## Ansiedade     1.2448     1.0562   1.179 0.251756    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 7.038 on 21 degrees of freedom
## Multiple R-squared:  0.9022, Adjusted R-squared:  0.8882 
## F-statistic: 64.57 on 3 and 21 DF,  p-value: 9.052e-11
mod1 <- step(modelo, direction = "backward")
## Start:  AIC=101.21
## Satisfação ~ Idade + Severidade + Ansiedade
## 
##              Df Sum of Sq    RSS    AIC
## - Ansiedade   1      68.8 1109.1 100.81
## <none>                    1040.3 101.21
## - Severidade  1     969.3 2009.6 115.67
## - Idade       1    3407.6 4447.9 135.53
## 
## Step:  AIC=100.81
## Satisfação ~ Idade + Severidade
## 
##              Df Sum of Sq    RSS    AIC
## <none>                    1109.1 100.81
## - Severidade  1     908.3 2017.4 113.77
## - Idade       1    3948.7 5057.8 136.75
summary(mod1)
## 
## Call:
## lm(formula = Satisfação ~ Idade + Severidade)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -16.9540  -5.1846   0.8646   4.3879  10.3785 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 142.8822     5.9403  24.053  < 2e-16 ***
## Idade        -1.0207     0.1153  -8.850 1.06e-08 ***
## Severidade   -0.5564     0.1311  -4.245 0.000332 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 7.1 on 22 degrees of freedom
## Multiple R-squared:  0.8957, Adjusted R-squared:  0.8862 
## F-statistic: 94.49 on 2 and 22 DF,  p-value: 1.585e-11
# analise de multicolinearidade
cor(dados)
##                 Idade Severidade  Ansiedade Satisfação
## Idade       1.0000000  0.5290246  0.6212453 -0.9001795
## Severidade  0.5290246  1.0000000  0.4471567 -0.7242053
## Ansiedade   0.6212453  0.4471567  1.0000000 -0.5380210
## Satisfação -0.9001795 -0.7242053 -0.5380210  1.0000000
library(nortest)

x <- rstandard(mod1)

# analise da normalidade
hist(x)

qqnorm(x)
qqline(x)

ad.test(x) # Anderson-Darling normality test - p-value > 5%
## 
##  Anderson-Darling normality test
## 
## data:  x
## A = 0.42305, p-value = 0.2961
# analise da homocedasticidade

# para modelos com muitas variaveis - usar os valores ajustados
fit <- fitted.values(mod1)
plot(fit, x)
abline(0,0)

# ou pelas variaveis independentes

plot(dados$Idade, x)
abline(0,0)

plot(dados$Severidade, x)
abline(0,0)

library(lmtest)
## Loading required package: zoo
## 
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric

bptest(mod1) # studentized Breusch-Pagan test - p-value > 5%
## 
##  studentized Breusch-Pagan test
## 
## data:  mod1
## BP = 1.345, df = 2, p-value = 0.5104
# analise da autocorrelação
plot(x)

dwtest(mod1) # Durbin-Watson test - p-value > 5%
## 
##  Durbin-Watson test
## 
## data:  mod1
## DW = 1.9618, p-value = 0.3947
## alternative hypothesis: true autocorrelation is greater than 0