Análise de Regressão Linear Múltipla

Hellen Sonaly Silva Alves
hellensilva.estat@gmail.com
http://lattes.cnpq.br/4845253626067527


Introdução

A Regressão Linear é um conjunto de técnicas estatísticas que têm como objetivo estimar o valor de uma variável resposta \(Y\) a partir dos valores de uma ou mais variáveis explicativas \(X\).

Quando utilizamos apenas uma variável explicativa, temos a Regressão Linear Simples. Já quando utilizamos duas ou mais variáveis preditoras, o modelo é chamado de Regressão Linear Múltipla.

A Regressão Linear Múltipla é amplamente utilizada para modelar a relação linear entre uma variável de desfecho contínua e múltiplas variáveis explicativas, que podem ser contínuas ou categóricas. Essa técnica permite avaliar o efeito individual de cada variável explicativa sobre a variável resposta, mantendo as demais constantes.

Metodologia

Material

Neste trabalho, foi utilizado um banco de dados obtido a partir de uma amostra aleatória do conjunto de dados TRAVEL. As análises foram realizadas utilizando o software RStudio, que é um ambiente de desenvolvimento para a linguagem R, amplamente utilizada para análises estatísticas, visualização de dados e modelagem.

Métodos

Foram utilizadas técnicas de regressão linear múltipla para modelar a relação entre a variável resposta e as variáveis explicativas.

De forma geral, a regressão linear busca ajustar uma reta (ou hiperplano, no caso múltiplo) que melhor descreva a relação entre as variáveis. Nesse contexto:

  • \(Y\) representa a variável resposta, ou seja, aquela que desejamos prever;
  • \(X_1, X_2, \ldots, X_n\) representam as variáveis explicativas;
  • Os coeficientes \(\beta\) indicam a magnitude e o sentido da influência de cada variável explicativa;
  • O intercepto \(\beta_0\) representa o valor esperado de \(Y\) quando todas as variáveis explicativas são iguais a zero.

A equação geral do modelo de regressão linear múltipla é dada por:

\[ Y = \beta_0 + \beta_1 x_1 + \beta_2 x_2 + \ldots + \beta_n x_n \] Na forma matricial, o modelo pode ser representado como:

\[ \mathbf{y} = \mathbf{X}\boldsymbol{\beta} + \boldsymbol{\varepsilon} \]

ou, explicitamente,

\[ \begin{bmatrix} y_1 \\ y_2 \\ \vdots \\ y_n \end{bmatrix} = \begin{bmatrix} 1 & x_{11} & x_{12} & \ldots & x_{1p} \\ 1 & x_{21} & x_{22} & \ldots & x_{2p} \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ 1 & x_{n1} & x_{n2} & \ldots & x_{np} \end{bmatrix} \begin{bmatrix} \beta_0 \\ \beta_1 \\ \beta_2 \\ \vdots \\ \beta_p \end{bmatrix} + \begin{bmatrix} \varepsilon_1 \\ \varepsilon_2 \\ \vdots \\ \varepsilon_n \end{bmatrix} \]

Método dos Mínimos Quadrados

O método dos mínimos quadrados é utilizado para estimar os parâmetros do modelo de regressão. O objetivo é encontrar os valores dos coeficientes que minimizam a soma dos quadrados dos resíduos, isto é, das diferenças entre os valores observados e os valores estimados pelo modelo.

A função de perda a ser minimizada é definida como:

\[ L = \sum_{i=1}^{n} \varepsilon_i^2 = \sum_{i=1}^{n} \left(Y_i - \beta_0 - \beta_1 x_i \right)^2 \]

No caso da regressão linear simples, as estimativas dos parâmetros são dadas por:

\[ \widehat{\beta}_1 = \frac{\sum_{i=1}^{n}(x_i - \bar{x})(Y_i - \bar{Y})}{\sum_{i=1}^{n}(x_i - \bar{x})^2} \]

\[ \widehat{\beta}_0 = \bar{Y} - \widehat{\beta}_1 \bar{x} \]

Na regressão linear múltipla, as estimativas dos coeficientes podem ser obtidas de forma matricial por meio da expressão:

\[ \widehat{\boldsymbol{\beta}} = (\mathbf{X}'\mathbf{X})^{-1}\mathbf{X}'\mathbf{Y} \]

A análise dos resíduos consiste em um conjunto de técnicas utilizadas para avaliar a adequação do modelo de regressão. Os resíduos representam a diferença entre os valores observados e os valores estimados pelo modelo.

Teste de normalidade dos resíduos (Shapiro-Wilk)

O teste de Shapiro-Wilk é utilizado para avaliar se os resíduos seguem uma distribuição aproximadamente normal.

  • H0: os resíduos seguem uma distribuição normal;
  • H1: os resíduos não seguem uma distribuição normal.

Identificação de outliers nos resíduos

Outliers são observações que apresentam comportamento discrepante em relação ao padrão geral dos dados. A presença de outliers pode influenciar significativamente o ajuste e a interpretação do modelo.

Teste de Durbin-Watson (independência dos resíduos)

O teste de Durbin-Watson é utilizado para verificar a presença de autocorrelação nos resíduos.

  • H0: os resíduos são independentes;
  • H1: os resíduos são autocorrelacionados.

Testes de homocedasticidade

A homocedasticidade refere-se à variância constante dos resíduos ao longo dos valores ajustados.

Os testes de Breusch-Pagan e Goldfeld-Quandt são utilizados para avaliar essa suposição.

  • H0: os resíduos são homocedásticos;
  • H1: os resíduos não são homocedásticos.

Coeficiente de Determinação (\(R^2\))

O coeficiente de determinação \(R^2\) mede a proporção da variabilidade da variável resposta que é explicada pelo modelo de regressão.

\[ R^2 = 1 - \frac{SQE}{SQT} \]

em que \(0 \leq R^2 \leq 1\). Valores mais próximos de 1 indicam melhor ajuste do modelo.

Coeficiente de Determinação Ajustado (\(R^2_a\))

Em modelos de regressão múltipla, o coeficiente de determinação ajustado é preferível, pois leva em consideração o número de variáveis explicativas no modelo.

\[ R^2_a = 1 - \left(\frac{n - 1}{n - p}\right)(1 - R^2) \]

Aplicação

Nesta seção, aplicamos os conceitos apresentados anteriormente por meio do ajuste de um modelo de regressão linear múltipla e da interpretação de seus resultados.

Os dados utilizados consistem em uma amostra aleatória do conjunto de dados TRAVEL, referente a uma empresa de transporte independente localizada no sul da Califórnia. A maior parte das atividades da empresa envolve entregas realizadas em sua área local.

O banco de dados é composto por 30 observações, contendo informações sobre: - a distância percorrida nas entregas (número de milhas); - o número de entregas realizadas; - o tempo total diário de viagem (em horas) de diferentes entregadores.

O objetivo da análise é avaliar como o tempo total diário de viagem (\(Y\)) se relaciona com: - o número de milhas percorridas nas entregas diárias (\(x_1\)); - o número de entregas realizadas (\(x_2\)).

Dessa forma, ajustamos um modelo de regressão linear múltipla para investigar a influência conjunta dessas variáveis explicativas sobre o tempo total de viagem.

Observação: O banco de dados foi obtido no site Statplace e adaptado de acordo com a necessidade do autor.

Carregando pacotes necessários

library(dplyr)
library(corrgram)
library(car)
library(lmtest)
require(ggplot2)
library(pacman)

pacman::p_load(dplyr, car, rstatix, lmtest, ggpubr,
               QuantPsyc, psych, scatterplot3d)

Visualização do banco de dados

Excluindo a coluna identificadora

A coluna referente ao entregador não é utilizada na análise e, portanto, é removida do banco de dados.

dados <- dadoss[,-1]

Os dados na forma matricial

\[\left[\begin{array}{r} 9.3 \\ 4.8 \\ \vdots \\ 4.3 \end{array}\right]= \left[\begin{array}{ccccc} 1&{100}&{4}\\ 1&{50}&{3}\\ \vdots & \vdots & \vdots&\\ 1 & {100}&{2} \end{array}\right] \left[\begin{array}{r} 0.249 \\ 0.025 \\ \vdots \\ 1.509 \end{array}\right]+ \left[\begin{array}{r} e_1 \\ e_2 \\\vdots \\ e_n \end{array}\right] \]

Análise exploratória dos dados

Verificação de valores ausentes

any(is.na(dados))
## [1] FALSE

Nomes de variáveis

names(dados)
## [1] "Distancia" "Entregas"  "Tempo"

Estrutura do banco de dados

glimpse(dados)
## Rows: 30
## Columns: 3
## $ Distancia <int> 100, 50, 100, 100, 50, 80, 75, 65, 90, 90, 70, 80, 100, 90, …
## $ Entregas  <int> 4, 3, 4, 2, 2, 2, 3, 4, 3, 2, 2, 4, 3, 3, 2, 2, 4, 3, 2, 3, …
## $ Tempo     <dbl> 9.3, 4.8, 8.9, 6.5, 4.2, 6.2, 7.4, 6.0, 7.6, 6.1, 6.7, 7.9, …

Estatísticas descritivas

summary(dados)
##    Distancia         Entregas         Tempo      
##  Min.   : 50.00   Min.   :2.000   Min.   :4.200  
##  1st Qu.: 70.00   1st Qu.:2.000   1st Qu.:5.400  
##  Median : 87.50   Median :3.000   Median :6.500  
##  Mean   : 81.67   Mean   :2.933   Mean   :6.723  
##  3rd Qu.: 98.75   3rd Qu.:4.000   3rd Qu.:7.825  
##  Max.   :100.00   Max.   :4.000   Max.   :9.500

Construção do modelo

Ajustamos o modelo de regressão linear múltipla considerando o tempo de viagem como variável resposta.

mod= lm(Tempo ~ Distancia + Entregas, data = dados)

Estimativas dos parâmetros

summary(mod) 
## 
## Call:
## lm(formula = Tempo ~ Distancia + Entregas, data = dados)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -1.9159 -0.4698  0.0799  0.5523  1.6778 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 0.249700   1.006066   0.248   0.8059    
## Distancia   0.025051   0.009734   2.574   0.0159 *  
## Entregas    1.509484   0.201544   7.490 4.68e-08 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.8983 on 27 degrees of freedom
## Multiple R-squared:  0.6985, Adjusted R-squared:  0.6762 
## F-statistic: 31.28 on 2 and 27 DF,  p-value: 9.327e-08


Podemos afirmar que tanto a distância, quanto o número de entregas são estatisticamente significantes no modelo (valor-p<0,05).

\(\beta_1\)=0.025. Assim, 0.025 horas é uma estimativa do aumento esperado no tempo de viagem correspondente a um aumento de uma milha na distância percorrida quando o número de entregas é mantido constante.

Da mesma forma,\(\beta_2\)=1.509, uma estimativa do aumento esperado no tempo de viagem correspondente a um aumento de uma entrega quando o número de milhas percorridas é mantido constante é de 1.509 horas.

A equação estimada do modelo é:

 Tempo = 0.249 + 0.025 * Distância + 1.509 * Entregas

O coeficiente de determinação ajustado (R2 ajustado) foi de 0.6762, indicando que 67,62% da variabilidade do tempo de entrega é aplicada pelo modelo ajustado.

Análise de Variância (Anova)

anova(mod) 
## Analysis of Variance Table
## 
## Response: Tempo
##           Df Sum Sq Mean Sq F value    Pr(>F)    
## Distancia  1  5.219   5.219  6.4677   0.01703 *  
## Entregas   1 45.266  45.266 56.0944 4.675e-08 ***
## Residuals 27 21.788   0.807                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Verificação da Adequação do Modelo

A análise dos resíduos permite verificar se as suposições do modelo de regressão linear são atendidas.

Análise gráfica dos resíduos

par(mfrow=c(2,2))
plot(mod)

Testes estatísticos dos resíduos

Teste de Normalidade (Shapiro-Wilk)

H0: a distribuição Normal modela adequadamente os resíduos do modelo.

H1: a distribuição Normal não modela adequadamente os resíduos do modelo.

shapiro.test(mod$residuals)
## 
##  Shapiro-Wilk normality test
## 
## data:  mod$residuals
## W = 0.98327, p-value = 0.9043

Como o p-value = 0.9043 foi maior do que 0,05, não rejeitamos H0. Assim, a suposição de normalidade foi atendida.

Outliers nos resíduos

summary(rstandard(mod))
##      Min.   1st Qu.    Median      Mean   3rd Qu.      Max. 
## -2.277307 -0.551827  0.094559 -0.002173  0.635217  1.961523

Teste de Durbin-Watson (independência dos resíduos)

durbinWatsonTest(mod)
##  lag Autocorrelation D-W Statistic p-value
##    1     -0.06160568      2.011716   0.992
##  Alternative hypothesis: rho != 0

Como o valor o p valor foi maior do que 0,05 de significância, não rejeitamos H0. Assim, a suposição de independência foi atendida.

Teste de Homocedasticidade (Breusch-Pagan)

bptest(mod)
## 
##  studentized Breusch-Pagan test
## 
## data:  mod
## BP = 3.2895, df = 2, p-value = 0.1931

Como o p-value = 0.1931 foi maior do que 0,05, não rejeitamos H0. Assim, a suposição de homocedasticidade foi atendida.

Correlação de Pearson

cor(dados,method = "pearson") 
##              Distancia     Entregas     Tempo
## Distancia  1.000000000 -0.004051832 0.2687289
## Entregas  -0.004051832  1.000000000 0.7903072
## Tempo      0.268728920  0.790307206 1.0000000

Verificação de Multicolinearidade

Recomendável: r < 0.9 (ou 0.8).

pairs.panels(dados)

Observa-se uma correlação moderada entre tempo e distância e uma correlação mais forte entre tempo e número de entregas, sem indícios severos de multicolinearidade.

Fator de Inflação da Variância (VIF)

VIF é uma medida da proporção em que a variância de um coeficiente de regressão é inflacionado pela presença de outra variável explicativa.

Todos os valores de VIF são inferiores a 10, indicando ausência de multicolinearidade preocupante.

vif(mod)  
## Distancia  Entregas 
##  1.000016  1.000016

Teste de Hipóteses dos Coeficientes

out= summary(mod)
out$coefficients  
##               Estimate  Std. Error  t value     Pr(>|t|)
## (Intercept) 0.24969956 1.006065904 0.248194 8.058623e-01
## Distancia   0.02505078 0.009734119 2.573503 1.587771e-02
## Entregas    1.50948413 0.201543573 7.489617 4.675293e-08

Os coeficientes associados às variáveis explicativas apresentam p-values inferiores a 5%, indicando que são estatisticamente significativos no modelo ajustado.

Conclusão

Com base nos resultados obtidos, concluímos que o tempo total diário de viagem apresenta relação significativa tanto com a distância percorrida quanto com o número de entregas realizadas.

O modelo ajustado apresentou bom desempenho, explicando aproximadamente 67,62% da variabilidade do tempo de viagem, além de atender às principais suposições da regressão linear múltipla.

Referências

BARCELOS, Carolina. Análise de Regressão Simples x Análise de Regressão Múltipla.Disponível em: https://statplace.com.br/blog/analise-de-regressao-simples-x-analise-de-regressao-multipla/. Acesso em: 1 dez. 2022.

MEDEIROS, Elias. Regressão Linear. Disponível em: https://rpubs.com/elias_medeiros/494931. Acesso em: 06 dez. 2022.