Modelos Lineares - Exemplo 2.1
# Modelos Lineares 2021.1 (ENCE/IBGE)
# Prof. Larissa Alves
# Aluno: Vinicius Rogério da Silva
# Exemplo 2.1 - Aula 30/04O gerente de uma cadeia de supermercados deseja desenvolver um modelo com a finalidade de estimar as vendas médias semanais (em milhares de dólares). Sejam:
- Y - Vendas semanais
- X - Número de clientes
Estas variáveis foram observadas em 20 supermercados.
Carregando os dados
dados = "11.20 907
11.05 926
6.84 506
9.21 741
9.42 789
10.08 889
9.45 874
6.73 510
7.24 529
6.12 420
7.63 679
9.43 872
9.46 924
7.64 607
6.92 452
8.95 729
9.33 794
10.23 844
11.77 1010
7.41 621"
library(stringr)
df = str_split(dados,"\n", simplify = T)
df = str_split(df," ", simplify = T)
X = as.numeric(df[,2])
Y = as.numeric(df[,1])
print(X) [1] 907 926 506 741 789 889 874 510 529 420 679 872 924 607 452
[16] 729 794 844 1010 621
[1] 11.20 11.05 6.84 9.21 9.42 10.08 9.45 6.73 7.24 6.12 7.63 9.43
[13] 9.46 7.64 6.92 8.95 9.33 10.23 11.77 7.41
a) Faça o gráfico de dispersão de X versus Y
plot(X,Y,
main = "Regressão Linear: Vendas Médias Semanais",
xlab = "Número de clientes",
ylab = "Venda média semanal (em mil dólares)",
col = "blue", pch = 18, cex = 0.8)Através do gráfico, é possível verificar a existência de uma relação linear positiva.
b) Obtenha as estimativas dos coeficientes de um modelo de regressão linear simples
# Computando valores para as estimativas por mínimos quadrados:
n = length(X)
Xbarra = sum(X)/n
Ybarra = sum(Y)/n
Sxx = sum(X^2) - n*(Xbarra^2)
Syy = sum(Y^2) - n*(Ybarra^2)
Sxy = sum(X*Y) - n*Xbarra*Ybarra
beta1 = Sxy / Sxx
beta0 = Ybarra - beta1*Xbarra- Estimativa para beta0^: 2.42304
- Estimativa para beta1^: 0.00873
c) Qual o modelo ajustado?
sinal = ifelse(beta1>0," + "," - ")
strmodelo = paste0("Y^ = ",round(beta0,5),sinal,round(beta1,5),"X")O modelo ajustado será Y^ = 2.42304 + 0.00873X
d) Faça o gráfico da reta de regressão sobre o gráfico de dispersão.
plot(X,Y,
main = "Regressão Linear: Vendas Médias Semanais",
xlab = "Número de clientes",
ylab = "Venda média semanal (em mil dólares)",
col = "blue", pch = 18, cex = 0.8)
abline(beta0,beta1, col = "red")
text(800, 8.4, strmodelo, col="red")e) Interprete os resultados.
- Com beta0^ = 2.42304, temos que a média comum das vendas semanais quando não há clientes nas lojas (X=0) é de US$ 2423.04. Uma possível explicação seria que as vendas são feitas também na internet ou por delivery, além dos clientes que vão às lojas da rede comprar fisicamente.
- Com beta1^ = 0.00873, temos que para cada aumento de um cliente na semana, a venda semanal é incrementada em US$ 8.73, em média.
f) Obtenha o valor predito das vendas médias sabendo que X0 = 700 clientes
# Generalizando o modelo para qualquer valor
modelo_linear = function(x){ beta0 + beta1*x }
# Obtendo o valor predito para X0 = 700
valor_predito = modelo_linear(700)O valor predito para a venda média semanal com X0 = 700 é de US$ 8533.58