Regressão Linear é um conjunto de técnicas que se baseiam em uma ideia comum: estimar o valor de uma variável Y através dos valores de uma ou mais variáves Xn. Quando utilizamos mais variáveis preditoras, chamamos de Regressão Linear Múltipla. A Regressão Linear Múltipla é um modelo de análise que usamos quando modelamos a relação linear entre uma variável de desfecho contínua e múltiplas variáveis preditoras que podem ser contínuas ou categóricas.
Neste trabalho foi utilizado o banco de dados de amostra aleatória do conjunto de dados da TRAVEL, e para nossa análise foi utilizado o programa Rstudio que é uma linguagem de programação para gráficos e cálculos estatísticos.
Utilizou-se as técnicas de análise de regressão linear múltipla.
A fórmula da regressão é a equação que descreve uma reta, onde Y é a variável de interesse, a que queremos prever. X é nossa variável preditora e que está associado ao B, que dirá o quão inclinado está a reta, ou o quão influente é a variável preditora. Por sua vez, o \(\alpha\) é o valor que descreve o intercepto.
Segue a equação que descreve o modelo de regressão linear múltipla:
\[Y= \beta_0 + \beta_1 x_1 + \beta_2 x_2 + ... + \beta_nx_n\]
Na forma matricial:
\[\mathbf{y} = \mathbf{X}\boldsymbol{\beta} + \boldsymbol{\epsilon}\]
\[\left[\begin{array}{r} y_1 \\ y_2 \\ \vdots \\ y_n \end{array}\right]= \left[\begin{array}{ccccc} 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{array}\right] \left[\begin{array}{r} \beta_0 \\ \beta_1 \\ \beta_2 \\ \vdots \\ \beta_n \end{array}\right]+ \left[\begin{array}{r} e_1 \\ e_2 \\ e_3 \\ \vdots \\ e_n \end{array}\right] \]
O primeiro passo na análise de regressão é obter as estimativas \(\widehat{\beta}_0\) e \(\widehat{\beta}_1\) dos parâmetros do modelo. O objetivo é estimar os parâmetros\(\widehat{\beta}_0\) e \(\widehat{\beta}_1\) de modo que os desvios (Ei) entre os valores observados e estimados sejam mínimos.
Este método consiste em minimizar a soma dos quadrados dos desvios L:
\[L=\displaystyle\sum^n_{i=1}\varepsilon_i^2=\sum^n_{i=1}[Y_i-\beta_0-\beta_1 x_i]^2\], em que:
\[\beta_0 = \overline{y}- \beta_1\overline{x} \]
Onde: \(\bar{x}=\dfrac{1}{n}\sum\limits^n_{i=1}x_i\quad\text{e}\quad\bar{Y}=\dfrac{1}{n}\sum\limits^n_{i=1} Y_i\)
\[\widehat{\beta}_{1}=\dfrac{\displaystyle\sum\limits_{i=1}^n(x_i - \bar{x})(Y_i - \bar{Y})}{\displaystyle\sum\limits_{i=1}^n (x_i -\bar{x})^2}=\dfrac{\displaystyle\sum\limits_{i=1}^n(x_i - \bar{x})Y_i}{\displaystyle\sum\limits_{i=1}^n (x_i - \bar{x})x_i}=\dfrac{\displaystyle\sum\limits_{i=1}^n x_i Y_i-n\bar{x}\bar{Y}}{\displaystyle\sum\limits_{i=1}^n x_i^2-n\bar{x}^2}\] Em forma matricial, os valores podem ser encontradas da seguinte maneira:
\[\underline{\beta}=(\underline{X'} \underline{X})^{-1}\underline{X'Y}\]
Chamamos de Análise dos Resíduos um conjunto de técnicas utilizadas para investigar a adequabilidade de um modelo de regressão com base nos resíduos.
Para a análise formal dos resíduos, podemos realizar os seguintes testes:
O Teste de Shapiro-Wilk tem como objetivo avaliar se uma distribuição é semelhante a uma distribuição normal.
O Teste Shapiro-Wilk testa as seguintes hipóteses:
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.
Dado discrepante (outlier) é o valor que não se encaixa no padrão geral dos valores dos dados coletados.
A estatística de Durbin-Watson é usada para testar a presença de autocorrelação nos erros de um modelo de regressão
O Teste de Durbin-Watson testa as seguintes hipóteses:
H0: os valores dos resíduos do modelo são independentes.
H1: os resíduos são autocorrelacionados.
O teste de Breusch-Pagan permite testar a hipótese de homocedasticidade do termo de erro de um modelo de regressão linear.
O Teste de Breusch-Pagan e Goldfeld-Quandt testa as seguintes hipóteses:
H0: os resíduos são homoscedásticos.
H1: os resíduos não são homoscedásticos.
Este coeficiente serve para avaliar a qualidade do ajuste do modelo, basicamente ele indica quanto o modelo foi capaz de explicar os dados coletados.
O coeficiente de determinação é dado pela expressão:
\[R^2=\dfrac{SQR}{SQT}=1-\dfrac{SQE}{SQT}=\dfrac{\widehat\beta_1\displaystyle\sum\limits_{i=1}^n(x_i-\bar{x})Y_i}{\displaystyle\sum\limits_{i=1}^n(Y_i-\bar{Y})^2}\]
Em que, \(0 \leq R^2 \leq 1\)
Em regressão linear múltipla, sugerem-se que deva-se utilizar o coeficiente de determinação ajustado, uma vez que este leva em consideração a quantidade de variáveis no modelo.
O coeficiente de determinação ajustado é definido como:
\[R^2_a=1-\left(\frac{n-1}{n-p}\right)(1-R^2)\]
Os dados consiste em uma amostra aleatória do conjunto de dados da TRAVEL, uma empresa de transporte independente no sul da Califórnia, onde grande parte dos negócios envolve entregas em toda a sua área local. O banco de dados é composto por 30 observações referentes à distância (número de milhas percorridas nas entregas), ao número de entregas e ao tempo total de viagem diário (em horas) de diferentes entregadores da empresa. Desejamos avaliar o tempo total de viagem diário (Y) relacionado ao número de milhas percorridas nas entregas diárias (x1) e o número de entregas (x2).
Obs: O Banco de dados foi retirado do site Statplace e adaptado de acordo com a necessidade do autor.
library(dplyr)
library(corrgram)
library(car)
library(lmtest)
require(ggplot2)
library(pacman)
pacman::p_load(dplyr, car, rstatix, lmtest, ggpubr,
QuantPsyc, psych, scatterplot3d)
dados <- dadoss[,-1]
\[\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] \]
any(is.na(dados))
## [1] FALSE
names(dados)
## [1] "Distancia" "Entregas" "Tempo"
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, …
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
mod= lm(Tempo ~ Distancia + Entregas, data = dados)
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.
Equação da reta:
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.
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
Chamamos de Análise dos Resíduos um conjunto de técnicas utilizadas para investigar a adequabilidade de um modelo de regressão com base nos resíduos.
par(mfrow=c(2,2))
plot(mod)
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 5% de significância, temos a não rejeição de H0. Assim, a suposição de normalidade foi atendida.
summary(rstandard(mod))
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## -2.277307 -0.551827 0.094559 -0.002173 0.635217 1.961523
H0: os valores dos resíduos do modelo são independentes.
H1: os resíduos são autocorrelacionados.
durbinWatsonTest(mod)
## lag Autocorrelation D-W Statistic p-value
## 1 -0.06160568 2.011716 0.95
## Alternative hypothesis: rho != 0
Como o valor o p valor foi maior do que 5% de significância, temos a não rejeição de H0. Assim, a suposição de independência foi atendida.
H0: os resíduos são homoscedásticos.
H1: os resíduos não são homoscedásticos.
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 5% de significância, temos a não rejeição de H0. Assim, a suposição de homocedasticidade foi atendida.
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
Recomendável: r < 0.9 (ou 0.8).
pairs.panels(dados)
O gráfico acima apresenta uma relação entre o tempo e a distância (r = 0.27) e entre o tempo e o número de entregas (r = 0.79).
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.
Recomendável: VIF < 10.
vif(mod)
## Distancia Entregas
## 1.000016 1.000016
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
Para B0 o valor p foi de 8.058623^{-01}.
Para B1 o valor p foi de 1.587771^{-02}.
Para B2 o valor p foi de 4.675293^{-08}.
Em ambos, o valor p foi inferior ao nível de 5% de significância, indicando que estes parâmetros são estatísticamente significativos ao modelo ajustado.
Assim, podemos concluir a partir da análise o tempo total de viagem tem relação com o número de entregas e com a distância de cada entrega. Além do mais o coeficiente de determinação ajustado explica 67,62% da variabilidade do tempo de entrega é aplicada pelo modelo ajustado.
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.