Você está na página 1de 12

Análise de Regressão da

Base de Dados:
“Absenteeism at work”

Professor António Pedro Duarte Silva

Daniela Costa | 355418024


Inês Ribeiro | 355418083
Rafael Silva| 351313065
Índice

1. Introdução 3
2. Análise de Regressão Clássica 3
2.1. Absenteeism at work: Descrição das variáveis 3
2.2. Estatística Descritiva 4
2.3. Seleção do Modelo de Regressão 5
2.4. Normalidade 6
2.5. Multicolinearidade 7
2.6. Autocorrelação 8
2.7. Heterocedasticidade 8
2.8. Outliers 9
2.9. Estimação do Modelo de Regressão 10
3. Conclusões 11
1. Introdução

Este trabalho surge no âmbito da Unidade Curricular Regressão e Análise


Multivariada de Dados, na qual o Professor propôs a elaboração de uma análise de
regressão clássica sobre uma base de dados à nossa escolha. Assim, através da UCI Data
Repository, optamos pela base de dados designada por “Absenteeism at work”. A mesma
foi criada observando os níveis de absenteísmo no trabalho de julho de 2007 a julho de
2010 numa empresa no Brasil.
O relatório produzido vai compreender uma explicação da estratégia seguida na
construção, seleção e validação dos modelos selecionados (tópico 2 do trabalho) e,
posteriormente, uma discussão dos resultados obtidos e as devidas conclusões do estudo
(tópicos 3 e 4, respetivamente).

2. Análise de Regressão Clássica


2.1. Absenteeism at work: Descrição das variáveis
A base de dados, disponível na UCI Data Repository, contém 740 observações e
21 atributos, sendo eles:
1. Individual identification (ID)
2. Reason for absence (Absences attested by the International Code of Diseases (ICD) stratified into
21 categories and 7 categories without (ICD)
3. Month of absence
4. Day of the week (Monday (2), Tuesday (3), Wednesday (4), Thursday (5), Friday (6))
5. Seasons (summer (1), autumn (2), winter (3), spring (4))
5. Seasons (summer (1), autumn (2), winter (3), spring (4))
6. Transportation expense
7. Distance from Residence to Work (kilometers)
8. Service time
9. Age
10. Work load Average/day
11. Hit target
12. Disciplinary failure (yes=1; no=0)
13. Education (high school (1), graduate (2), postgraduate (3), master and doctor (4))
14. Son (number of children)
15. Social drinker (yes=1; no=0)
16. Social smoker (yes=1; no=0)
17. Pet (number of pet)
18. Weight
19. Height
20. Body mass índex
21. Absenteeism time in hours (target) - variável dependente
Tabela 1. Descrição das variáveis

O atributo ID, correspondente ao código de cada trabalhador, vai ser


desconsiderado para a nossa análise de regressão clássica, por se tratar de uma variável
não preditiva, pelo que criamos um dataset que não a inclui (AW).
Inicialmente, certificamo-nos se existiam missing values na amostra, o que, de
facto, não acontece. Porém, deparamo-nos com a existência de fatores de variáveis
categóricas que não estávamos à espera: para Reason.for.absence e Month.of.absence
existe o fator 0. Assim, visto que não existe nenhum mês 0 nem existe nenhuma razão 0
na descrição das variáveis disponíveis no UCI Data Repository, para não estarmos a
eliminar observações, assumimos que para Month.of.absence o valor 0 pode ser
interpretado com o desconhecimento do mês em que determinado trabalhador se mostrou
ausente, e para Reason.of.absence consideramos que se tratasse de uma causa
desconhecida que justificasse a ausência.

2.2. Estatística Descritiva


Optamos por apresentar uma série de estatísticas (desvio padrão, média, mediana,
mínimo, máximo, 1º quartil e 3º quartil) de todas as variáveis, seguindo em tabela as
mesmas:
Variável sd média mediana min max 1º quartil 3º quartil
Transportation.expense 66,962 221,329 225 118 388 179 260
Distance.from.Residence.to.Work 14,837 29,631 26 5 52 16 50
Work.load.Average.day 39,058 271,490 264,249 205,9 378,9 244,4 294,2
Hit.target 3,780 94,588 95 81 100 93 97
Weight 12,883 79,035 83 56 108 69 89
Height 6,035 172,115 170 163 196 169 172
Body.mass.index 4,285 26,677 25 19 38 24 31
Service.time 4,385 12,554 13 1 29 9 16
Age 6,479 36,450 37 27 58 31 40
Son 1,098 1,019 1 0 4 0 2
Pet 1,318 0,746 0 0 8 0 1
Absenteeism.time.in.hours 13,331 6,924 3 0 120 2 8
Tabela 2. Estatística descritiva das variáveis
2.3. Seleção do Modelo de Regressão
O principal objetivo deste trabalho é perceber o impacto das variáveis explicativas
nas horas de absenteísmo dos trabalhadores na empresa. Assim, partindo do geral para o
particular, iniciamos a nossa análise com um modelo global (incluindo todas as variáveis
explicativas), excluindo posteriormente aquelas que não sejam significativas para
explicar o comportamento de Absenteeism.in.hours.
Desta forma, inicialmente, consideramos o seguinte modelo:

𝐴𝑏𝑠𝑒𝑛𝑡𝑒𝑒𝑖𝑠𝑚. 𝑡𝑖𝑚𝑒. 𝑖𝑛. ℎ𝑜𝑢𝑟𝑠 = 𝛽0 + β1 Reason. for. absence +


β2 Mont. of. absence + β3 Day. of. week + β4 Seasons + β5 Disciplinary. failure +
β6 Education + β7 Social. drinker + β8 Social. smoker +
β9 Transportation. expense + β10 Distance. from. Residence. to. Work +
β11 Work. loadd. Average. day + β12 Hit. target + β13 Weight + β14 Height +
β15 Body. mass. index + β16 Service. time + β17 Age + β18 Son + β19 Pet + μ
(Modelo 1)

A estatísticas do teste - summary(Mod1res) - revelou que a variável


Disciplinary.failure apresenta valores NA o que indica multicolinearidade, pelo que temos
de retirar esta variável do modelo. Para além desta, retiramos também as variáveis Weight
e Height visto estarem discriminadas em Body.mass.index. Assim, retirarmos estas
variáveis, fazendo um update do modelo 1, obtendo o modelo de regressão 2:

𝐴𝑏𝑠𝑒𝑛𝑡𝑒𝑒𝑖𝑠𝑚. 𝑡𝑖𝑚𝑒. 𝑖𝑛. ℎ𝑜𝑢𝑟𝑠 = 𝛽0 + β1 Reason. for. absence +


β2 Mont. of. absence + β3 Day. of. week + β4 Seasons + β5 Education +
β6 Social. drinker + β7 Social. smoker + β8 Transportation. expense +
β9 Distance. from. Residence. to. Work + β10 Work. loadd. Average. day +
β11 Hit. target + β12 Body. mass. index + β13 Service. time + β14 Age + β15 Son +
β16 Pet + μ (Modelo 2)

Posteriormente, fizemos um step do modelo de regressão 2 e obtivemos o seguinte


modelo:
𝐴𝑏𝑠𝑒𝑛𝑡𝑒𝑒𝑖𝑠𝑚. 𝑡𝑖𝑚𝑒. 𝑖𝑛. ℎ𝑜𝑢𝑟𝑠 = 𝛽0 + β1 Reason. for. absence +
β2 Day. of. week + β3 Social. drinker + β4 Distance. from. Residence. to. Work +
β5 Body. mass. index + β6 Age + β7 Son + β8 Pet + μ (Modelo 3)
Trata-se de um modelo reduzido, sendo que verificamos que o R^2 ajustado
aumenta face ao anterior. Concluímos, então, que ainda temos variáveis não
significativas, pelo que as temos de retirar. Pela análise estatística do teste -
summary(Mod3res) - verificamos que a variável Body.mass.index não é estatisticamente
significativa, pelo que a retiramos, dando origem ao modelo 4:

𝐴𝑏𝑠𝑒𝑛𝑡𝑒𝑒𝑖𝑠𝑚. 𝑡𝑖𝑚𝑒. 𝑖𝑛. ℎ𝑜𝑢𝑟𝑠


= 𝛽0 + β1 Reason. for. absence + β2 Day. of. week
+ β3 Social. drinker + β4 Distance. from. Residence. to. Work
+ β6 Age + β7 Son + μ (𝐌𝐨𝐝𝐞𝐥𝐨 𝟒)

No entanto, neste modelo, ainda havia variáveis que não explicavam o


comportamento da nossa variável dependente, pelo que tivemos de retirar a variável Age,
dando origem ao nosso último modelo, no qual todas as variáveis são significativas:
𝐴𝑏𝑠𝑒𝑛𝑡𝑒𝑒𝑖𝑠𝑚. 𝑡𝑖𝑚𝑒. 𝑖𝑛. ℎ𝑜𝑢𝑟𝑠
= 𝛽0 + β1 Reason. for. absence + β2 Day. of. week
+ β3 Social. drinker + β4 Distance. from. Residence. to. Work
+ β5 Son + μ (𝐌𝐨𝐝𝐞𝐥𝐨 𝟓)

Para uma escolha acertada sobre qual o modelo que deveria ser escolhido para
prosseguir com a análise, calculamos o AIC (Akaike information criterion), concluindo
que o melhor modelo seria o modelo de regressão 3 por apresentar um valor de AIC menor
face aos modelos de regressão 1, 2 e 5.

2.4. Normalidade
Tendo optado pelo modelo de regressão 3, foi necessário averiguar se este era
satisfatório face ao modelo mais completo. Para isso, aplicamos o teste ANOVA no R,
que considera as seguintes hipóteses:
𝐻0: Modelo reduzido (Mod3res) é satisfatório face ao modelo mais completo
(Mod1res)
𝐻1: Caso contrário
Pela análise do teste, verificamos que à direita de 0.9172 temos probabilidade de
0.5846, pelo que concluímos que o modelo 3 é satisfatório, pela probabilidade ser maior
que o nível de significância (5%).
2.5. Multicolinearidade
Neste ponto do trabalho, procuramos focar-nos na análise da multicolinearidade
entre variáveis. Este fenómeno ocorre quando variáveis independentes num modelo de
regressão estão correlacionadas, correlação essa que é um problema porque as variáveis
independentes devem ser independentes (e quanto maior for a correlação, pior). Na
presença de multicolinearidade, as variáveis independentes tendem a mudar em uníssono,
e tal vai comprometer a interpretação do coeficiente de regressão.

Gráfico 5. Correlação entre as variáveis numéricas do nosso modelo final, Mod3res

Pela análise do Gráfico 1, podemos verificar que existem algumas correlações


positivas entre as variáveis do modelo 3, no entanto, não muito significativas, uma vez
que se tratam de valores baixos, à exceção da correlação entre Age e Body.mass.index
(0,471) que poderá ser o valor mais significativo.
Para reforçar, empiricamente as ilações anteriores, aplicamos na o teste VIF para
diagnosticar melhor a presença de multicolinearidade, caso exista: verifica-se que,
segundo o teste, não não foi encontrada nenhuma variável, no modelo de regressão 3,
com o VIF acima 10, logo não havia indicadores de multicolinearidade severa, tal como
esperávamos.
2.6. Autocorrelação
O teste de Breusch-Godfrey, para aferir se existe ou não auto correlação entre
perturbações, não foi realizado uma vez que as nossas observações não estão ordenadas
no tempo (séries temporais), nem no espaço (como os dados cross section).

2.7. Heterocedasticidade
A heterocedasticidade caracteriza-se como sendo um fenómeno estatístico que
ocorre quando o modelo de hipótese matemático apresenta variância distinta para Y e X
(X1, X2,…, Xn), o que contraria o pressuposto de que a variância dos erros é constante e
igual para todos os indivíduos, ou seja, 𝑉𝑎𝑟(𝑌𝑖|𝑋𝑖) = 𝑉𝑎𝑟(𝜇𝑖) ≠ 𝜎2.

Gráfico 6. Resíduos das variáveis

Antes de passarmos para a elaboração do teste de Breusch-Pagan, pela análise do


Gráfico 2, podemos, visualmente, deduzir que irá haver um problema de
heteroscedasticidade associado ao nosso modelo final, uma vez que os resíduos não se
distribuem igualmente em torno da reta em que os resíduos são nulos (por exemplo, a
variável Son).
No entanto, decidimos recorrer ao teste de Breusch-Pagan sobre o modelo de
regressão 3, a fim de testar as seguintes hipóteses:
𝐻0: α1 = α 2 = α 3 = α 4 = α 5 = α 6 = α 7 = 0 (presença de homocedasticidade)
𝐻1: H0 não se verifica (presença de heteroscedasticidade)
Uma vez que p-value é, aproximadamente, zero, rejeitamos a hipótese nula, pelo
que estamos perante um modelo heterocedástico, ou seja, o método OLS não está a
produzir os “melhores” estimadores.
Deste modo, para corrigir o modelo, vamos manter as estimativas OLS, mas
substituir os erros padrão clássicos por erros padrão robustos. Para isso é criada uma lista
onde incluímos a variável dependente e as variáveis explicativas que constam no Modelo
de regressão 3, criando, de seguida, uma coluna onde estão incluídos os erros padrão
robustos. Para podermos analisar tal efeito, realizamos um coeftest onde concluímos que
as variáveis explicativas continuam a ser explicativas, à exceção do body.mass.index que
já não o era no Modelo de regressão 3.

2.8. Outliers
Para verificarmos a existência de outliers, corremos o comando
influenceIndexPlot(Mod1res), através do qual, graficamente, percebemos que existem
alguns outliers.

Gráfico 7. Gráfico de influência do Mod1res.

Analisando o gráfico, verificamos que, por exemplo, as observações 472 e 730


são outliers, quando calculada a distância de Cook. Quando analisamos o gráfico referente
aos studentized residuals, temos, por exemplo, as observações 324 e 421 como outliers.
Da mesma forma, analisamos o Modelo de regressão 3, e observamos que os
outliers correspondem às mesmas observações tanto para a distância de Cook como para
os studentized residuals.

Gráfico 8. Gráfico de influência do Mod3res.


Posto isto, avaliarmos o impacto dos outliers nas variáveis dependente e
explicativas medidos em desvios-padrão, através do comando influence.measures, tanto
para o Modelo de regressão 1, como para o Modelo de regressão 3.
Outra forma de verificarmos a existência de outliers e as respetivas observações
é através do comando outlierTest, que discrimina cada uma delas.
Através do comando qpPlot(Mod3res) podemos comparar os resíduos esperados
com os obtidos.

2.9. Estimação do Modelo de Regressão


Como já foi referido anteriormente, o principal objetivo do nosso trabalho é
estudar o comportamento do tempo de absenteísmo, em horas, dos trabalhadores, estudo
esse que será feito através de uma previsão do modelo de regressão 3,corrigido da
heterocedasticidade (EBOLres).
Assim sendo, utilizando o comando fitted, no R, criamos o objeto “ychapeu” que
contém as estimações de Absenteeism.time.in.hours para cada observação. Na Tabela 4
apresento as estatísticas sumárias da variável dependente, agora tendo em conta o Modelo
de regressão 3 mantendo as estimativas OLS, mas substituindo os erros padrão clássicos
por erros padrão robustos.
Variável sd média mediana min max 1º quartil 3º quartil
DEPOIS Absenteeism.time.in.hours 6,653 6,924 5,152 -4,495 44,251 2,283 10,394
(fitted)
ANTES Absenteeism.time.in.hours 13,331 6,924 3 0 120 2 8
Tabela 3. Estatísticas sumárias da variável dependente

Pela análise dos valores, antes e depois do ajustamento, podemos observar que os
valores mínimo e máximo diminuíram significativamente, reduzindo a amplitude do
tempo de ausência do trabalhador na empresa. A média permanece igual, tal como era
suposto, e a mediana aumentou para valores próximo da média, porém, trata-se ainda de
um valor inferior. Assim, Absenteeism.time.in.hours apresenta apenas uma ligeira
distribuição assimétrica positiva.
O Gráfico 9 espelha os valores ajustados da nossa variável dependente
(Absenteeism.time.inhours) para cada observação, pelo que podemos aferir que existe
uma elevada concentração de valores no intervalo nas primeiras 20h de absenteísmo no
trabalho.

Gráfico 9. Gráfico de ychapeu

Em seguida, realizamos o modelo de previsão com base não só no intervalo de


confiança (95%, por default) como também no intervalo de previsão. Para analisarmos
ambos, executamos o comando head.
Seguindo o modelo de previsão com base no intervalo de confiança a 95%, para
a primeira observação de cada variável explicativa, a variável dependente, em média,
estará entre 3.22 e 12.39, estimando que o valor seja de 7.8.
Já segundo o modelo de previsão com base no intervalo de previsão, para a
primeira observação de cada variável explicativa, a variável dependente, em média, estará
entre 0 e 31.50, estimando que o valor seja de 7.8. Face aos resultados obtidos no R,
apesar de o valor mais baixo ser negativo, visto as horas não poderem apresentar valores
negativos, ajustamos esse valor para zero.

3. Conclusões
Tendo em conta o estudo realizado, podemos concluir que as variáveis explicativas
relevantes para a variável independente são Reason.for.absence, Day.of.the.week,
Social.drinker, Distance.from.Residence.to.Work, Age, Son e, apesar da variável
Body.mass.index estar incluída no modelo de regressão, não é considerada
estatisticamente significativa.
Quando realizamos o modelo de regressão 3, deparamo-nos com um problema de
heterocedasticidade, pelo que tivemos que o corrigir.
Por forma a obtermos um modelo de previsão, realizamos este segundo o intervalo de
confiança e o intervalo de previsão. Face aos resultados obtidos, concluímos que o melhor
modelo será com base no intervalo de confiança, uma vez que alguns lwr no modelo com
base no intervalo de previsão aparecem com valores negativos.

Você também pode gostar