require(ggplot2)
require(plotly)
require(datarium)
data("marketing")
head(marketing)
## youtube facebook newspaper sales
## 1 276.12 45.36 83.04 26.52
## 2 53.40 47.16 54.12 12.48
## 3 20.64 55.08 83.16 11.16
## 4 181.80 49.56 70.20 22.20
## 5 216.96 12.96 70.08 15.48
## 6 10.44 58.68 90.00 8.64
mean(marketing$sales) # Promedio ventas
## [1] 16.827
sd(marketing$sales) # Desviación Ventas
## [1] 6.260948
G1=ggplot(data = marketing, mapping = aes(x= sales))+geom_histogram(fill="blue")+theme_bw()
G1
ggplotly(G1)
Se observa un promedio mensual de 16 MM en las ventas con una desviacion de 6 MM
G1=ggplot(data=marketing,mapping=aes(x=newspaper,y=sales))+geom_point()+theme_bw()+geom_smooth()
ggplotly(G1)
Se puede observar que no existe una relacion entre la inversion en periodicos con las ventas con un coeficiente de correlacion de 0,22 (Muy Bajo)
G3=ggplot(data=marketing,mapping=aes(x=facebook,y=sales))+geom_point()+geom_point()+theme_bw()+geom_smooth()
ggplotly(G3)
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'
Se observa por otro lado una relacion positiva (Directa) entre la inversion en publicidad en Facebook y las ventas con un coeficiente de 0,6
G4=ggplot(data=marketing,mapping=aes(x=youtube,y=sales))+geom_point()+geom_point()+theme_bw()+geom_smooth()
ggplotly(G4)
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'
Se observa que la relación entre la publicidad en youtube y las ventas es mas fuerte con una correlacion de 0,8, es decir que tiene mucha mas relevancia en la explicacion de las ventas que facebook y newspaper
Se va a realizar un modelo de estimacion de las ventas
mod_You=lm(sales~youtube, data = marketing)
mod_You
##
## Call:
## lm(formula = sales ~ youtube, data = marketing)
##
## Coefficients:
## (Intercept) youtube
## 8.43911 0.04754
El modelo estimado es igual a \(sales = 8.43911 + +(0.04754*youtube)\) en donde \(\beta_0 = 8.43911\) y \(\beta_1 = 0.04754\). Podemos interpretar que las ventas promedio esperadas cuando no se invierte en youtube son de 8.33, millones de dolares y por cada mil dolares adicionales de inversion en mercadeo en youtube se espera un retorno en ventas de 0.04754 millones de dolares
summary(mod_You)
##
## Call:
## lm(formula = sales ~ youtube, data = marketing)
##
## Residuals:
## Min 1Q Median 3Q Max
## -10.0632 -2.3454 -0.2295 2.4805 8.6548
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 8.439112 0.549412 15.36 <2e-16 ***
## youtube 0.047537 0.002691 17.67 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 3.91 on 198 degrees of freedom
## Multiple R-squared: 0.6119, Adjusted R-squared: 0.6099
## F-statistic: 312.1 on 1 and 198 DF, p-value: < 2.2e-16
Se observa en la tabla del modelo que you tube es significativo en el modelo por que el valor de p lo que indica un nivel de confianza del 99% adicionalmente este modelo logra explicar
predict(mod_You, list(youtube=65), interval = "confidence", level = 0.95)
## fit lwr upr
## 1 11.52899 10.72462 12.33337
El promedio esperado de ventas para una eventual inversion en youtube de 65 mil dolares seria de 11.528 millones de dolares. El intervalo de confianza para la prediccion de las ventas nos indica que el promedio de de ventas estaria entre 10.72 y 12.33 millones de dolares con una confianza del 95 %
marketing[10:20,]
## youtube facebook newspaper sales
## 10 239.76 3.12 25.44 12.72
## 11 79.32 6.96 29.04 10.32
## 12 257.64 28.80 4.80 20.88
## 13 28.56 42.12 79.08 11.04
## 14 117.00 9.12 8.64 11.64
## 15 244.92 39.48 55.20 22.80
## 16 234.48 57.24 63.48 26.88
## 17 81.36 43.92 136.80 15.00
## 18 337.68 47.52 66.96 29.28
## 19 83.04 24.60 21.96 13.56
## 20 176.76 28.68 22.92 17.52
Id_Model=sample(1:200, size = 160)
marketing_modelar=marketing[Id_Model,]
marketing_validar=marketing[-Id_Model,]
mod_you_modelar=lm(sales~youtube, data = marketing_modelar)
mod_you_modelar
##
## Call:
## lm(formula = sales ~ youtube, data = marketing_modelar)
##
## Coefficients:
## (Intercept) youtube
## 8.48883 0.04736
sales_pred=predict(mod_you_modelar,list(youtube=marketing_validar$youtube))
sales_real=marketing_validar$sales
error=sales_real-sales_pred
res=data.frame(sales_real,sales_pred,error)
MEA=mean(abs(error))
MEA
## [1] 2.843336
La validacion cruzada en un primer paso dejando un 80% para el modelo y un 20% para el modelo para validar, luego se ajusta el modelo con el 80%, posteriormente predecimos las ventas del 20% y finalmente se compara los resultados del modelo contra los reales, promedio de la metrica MAE, la cual en este caso nos da un promedio de 3 millones de dolares como error de prediccion (Pronostico de Ventas)