Script_Prova1_RafaelaAgra.
R
Lenovo
2025-05-26
##########################################
# Primeira Prova de Modelagem Estatística
# Aluna: Rafaela Mª Rodrigues Tavares Agra
##########################################
# limpando as variáveis da memória do R console
###############################################
rm(list=ls())
gc(reset=T)
## used (Mb) gc trigger (Mb) max used (Mb)
## Ncells 555309 29.7 1243405 66.5 555309 29.7
## Vcells 1057534 8.1 8388608 64.0 1057534 8.1
#desativando a notação científica
#################################
options(scipen=999)
library(e1071) # pacote que calcula assimetria e curtose
require (forecast) # pacote BoxCox
## Carregando pacotes exigidos: forecast
## Registered S3 method overwritten by 'quantmod':
## method from
## [Link] zoo
require(MASS) # pacote grafico BoxCox
## Carregando pacotes exigidos: MASS
pacman::p_load(e1071, forecast, MASS, dplyr, ggplot2, car,
rstatix, lmtest, ggpmisc)
[Link]("e1071")
## Warning: o pacote 'e1071' está em uso e não será instalado
[Link]("forecast")
## Warning: o pacote 'forecast' está em uso e não será instalado
[Link]("MASS")
## Warning: o pacote 'MASS' está em uso e não será instalado
[Link]("dplyr")
## Warning: o pacote 'dplyr' está em uso e não será instalado
[Link]("ggplot2")
## Warning: o pacote 'ggplot2' está em uso e não será instalado
[Link]("car")
## Warning: o pacote 'car' está em uso e não será instalado
[Link]("rstatix")
## Warning: o pacote 'rstatix' está em uso e não será instalado
[Link]("lmtest")
## Warning: o pacote 'lmtest' está em uso e não será instalado
[Link]("ggpmisc")
## Warning: o pacote 'ggpmisc' está em uso e não será instalado
#Questão 2
##########
#Definindo os dados como vetor ou importando arquivo
####################################################
Publicidade = c(50,200,300,400,550,700,850,900) # x variável
independente - VI
Vendas = c(280,300,330,350,420,430,450,500) # y variável
dependente - VD
dados <- [Link]("[Link]",header=T)
dados
## Publicidade Vendas
## 1 50 280
## 2 200 300
## 3 300 330
## 4 400 350
## 5 550 420
## 6 700 430
## 7 850 450
## 8 900 500
x <- Publicidade
x
## [1] 50 200 300 400 550 700 850 900
y<- Vendas
y
## [1] 280 300 330 350 420 430 450 500
# a) Calculando a variável auxiliar W
#####################################
W <- Publicidade - mean(Publicidade)
# Exibindo o resultado
######################
print(W)
## [1] -443.75 -293.75 -193.75 -93.75 56.25 206.25 356.25
406.25
#a) Criando o gráfico de dispersão (W,y)
########################################
plot(W, Vendas,
main = "Gráfico de Dispersão de W vs. Vendas",
xlab = "Variável Auxiliar W",
ylab = "Vendas",
pch = 16, col = "blue")
#b)Calculos individuais da variavel resposta Y=Vendas
#####################################################
mean(Vendas)
## [1] 382.5
var(Vendas)
## [1] 6164.286
sd(Vendas)
## [1] 78.51297
cv= 100*sd(Vendas)/mean(Vendas)
cv
## [1] 20.52627
skewness(Vendas)
## [1] 0.07031594
kurtosis(Vendas)
## [1] -1.737253
#Ajustando o modelo de regressão linear y= β_0+β_1W
#####################################################
ajuste=lm(Vendas ~ W)
ajuste
##
## Call:
## lm(formula = Vendas ~ W)
##
## Coefficients:
## (Intercept) W
## 382.5000 0.2497
anova(ajuste)
## Analysis of Variance Table
##
## Response: Vendas
## Df Sum Sq Mean Sq F value Pr(>F)
## W 1 41613 41613 162.48 0.00001431 ***
## Residuals 6 1537 256
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(ajuste)
##
## Call:
## lm(formula = Vendas ~ W)
##
## Residuals:
## Min 1Q Median 3Q Max
## -21.471 -9.100 -4.061 10.253 23.452
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 382.50000 5.65810 67.60 0.000000000705 ***
## W 0.24974 0.01959 12.75 0.000014306721 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 16 on 6 degrees of freedom
## Multiple R-squared: 0.9644, Adjusted R-squared: 0.9585
## F-statistic: 162.5 on 1 and 6 DF, p-value: 0.00001431
# Criando o gráfico da função ajustada
######################################
plot(W, Vendas,
main = "Gráfico de Dispersão Função Ajustada -> Y = 382,5 +
0,2497W",
xlab = "Variável Auxiliar W",
ylab = "Vendas",
pch = 16, col = "blue")
# Adicionando a reta de regressão
abline(ajuste, col = "red", lwd = 2)
## Exibir os valores observados e Ajustados ^Y = β_0+β_1W pelo
modelo linear
###########################################
Yajustado <- ajuste$[Link] ## ^Y= β_0+β_1W valores
ajustados
Yajustado
## 1 2 3 4 5 6 7
8
## 271.6768 309.1382 334.1124 359.0867 396.5480 434.0094 471.4707
483.9578
[Link](W=W, Observado=Vendas, Modelado=Yajustado)
## W Observado Modelado
## 1 -443.75 280 271.6768
## 2 -293.75 300 309.1382
## 3 -193.75 330 334.1124
## 4 -93.75 350 359.0867
## 5 56.25 420 396.5480
## 6 206.25 430 434.0094
## 7 356.25 450 471.4707
## 8 406.25 500 483.9578
#c)Verificando a suposição da normalidade dos resíduos
# Grafico qq-plot e teste de shapiro Wilk dos resíduos
# Resíduos versus Valores Ajustados da Variável Resposta
# e Resíduos versus Valores da Variável Explicativa
########################################################
# Exibir os valores dos Resíduos
residuo <- ajuste$residuals ## Residuos r= Y - ^Y ajustado
residuo
## 1 2 3 4 5
6 7
## 8.323185 -9.138173 -4.112412 -9.086651 23.451991 -
4.009368 -21.470726
## 8
## 16.042155
# Teste de normalidade dos resíduos de Shapiro Wilk
# H0: os resíduos têm distribuição normal versus
# H1: os resíduos não têm distribuição normal
#############################################
[Link](residuo)
##
## Shapiro-Wilk normality test
##
## data: residuo
## W = 0.94961, p-value = 0.7073
# Com Shapiro-Wilk normality test foi encontrado o p-value =
0,7073
#Se p-valor < 0,05 rejeita-se H0 ao nível de 5% de significância
#Se p-valor > ou = 0,05 não rejeito H_0, isto é aceita-se a
normalidade
# Outliers nos resíduos:
summary(rstandard(ajuste))
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## -1.621275 -0.624026 -0.281074 0.007858 0.828566 1.570871
# Grafico QQ-plot para os residuos
##################################
qqnorm(residuo, main= " qq-plot para os resíduos",
xlab="Quantiles Teoricos", ylab="Quantiles Amostrais")
qqline(residuo)
hist(residuo)
##################################################################
###
par(mfrow=c(1,2))
plot(Yajustado,residuo,xlab="Valores Ajustados",ylab="Resíduos")
abline(h=0)
plot(W,residuo,xlab="W",ylab="Resíduos")
abline(h=0)
par(mfrow=c(1,1))
par(mfrow=c(1,2))
hist(residuo,main="Histograma dos
residuos",xlab="Resíduos",ylab="Freqüência", col="green")
boxplot(residuo,main="Box-Plot dos residuos", col="blue")
par(mfrow=c(1,1))
par(mfrow=c(2,2))
plot (ajuste)
par(mfrow=c(1,1))
#Encontrando os intervalos de confiança para os parâmetros
confint(ajuste, level = 0.95)
## 2.5 % 97.5 %
## (Intercept) 368.6551376 396.3448624
## W 0.2018011 0.2976837
novo_W <- [Link](W = 950) # Exemplo de um novo valor
predict(ajuste, newdata = novo_W)
## 1
## 619.7553
mean (Publicidade)
## [1] 493.75
#e)Pressuposto de linearidade entre as variáveis
par(mfrow=c(2,2))
plot(ajuste)
#h)Intervalos de 95% de confiança para Beta0 e Beta1
confint(ajuste, level = 0.95)
## 2.5 % 97.5 %
## (Intercept) 368.6551376 396.3448624
## W 0.2018011 0.2976837
#i)Venda esperada para uma despensa de 950 mil em propaganda
# Definir os coeficientes do modelo
beta0 <- 382.5 # Intercepto
beta1 <- 0.2497 # Inclinação
# Definir o investimento em publicidade
publicidade <- 950
# Definir a média do investimento em publicidade
media_publicidade <- 493.75
# Calcular W ajustado (desvio da média)
W <- publicidade - media_publicidade
# Calcular a venda esperada
venda_esperada <- beta0 + beta1 * W
print(venda_esperada) # Exibir o resultado
## [1] 496.4256
#Venda estimada de 480 mil
venda_desejada <- 480 # Definir a venda desejada
# Calcular W necessário
W_necessario <- (venda_desejada - beta0) / beta1
print(W_necessario) # Exibir W
## [1] 390.4686
# Ajustar para o valor real de publicidade
media_publicidade <- 493.75 # Média da despesa de publicidade
investimento_publicidade <- W_necessario + media_publicidade
print(investimento_publicidade) # Exibir o investimento
necessário
## [1] 884.2186