install.packages("datarium")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
## (as 'lib' is unspecified)
install.packages("ggplot2")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
## (as 'lib' is unspecified)
install.packages("plotly")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
## (as 'lib' is unspecified)
# Carga las librerías
library(ggplot2)
library(plotly)
## 
## Attaching package: 'plotly'
## The following object is masked from 'package:ggplot2':
## 
##     last_plot
## The following object is masked from 'package:stats':
## 
##     filter
## The following object is masked from 'package:graphics':
## 
##     layout
library(datarium)
library(plotly)

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
promedio=mean(marketing$sales)
desviación=sd(marketing$sales)
data.frame(promedio, desviación)
##   promedio desviación
## 1   16.827   6.260948
g1=ggplot(data=marketing, mapping = aes(x=sales))+geom_histogram(fill="purple")+theme_bw()
ggplotly(g1)
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
g2=ggplot(data=marketing, mapping = aes(x=newspaper, y=sales))+geom_point()+theme_bw()+geom_smooth()
ggplotly(g2)
## `geom_smooth()` using method = 'loess' and formula = 'y ~ x'
cor(marketing$newspaper, marketing$sales)
## [1] 0.228299
g3=ggplot(data=marketing, mapping = aes(x=facebook, y=sales))+geom_point()+theme_bw()+geom_smooth()
ggplotly(g3)
## `geom_smooth()` using method = 'loess' and formula = 'y ~ x'
cor(marketing$facebook, marketing$sales)
## [1] 0.5762226
g4=ggplot(data=marketing, mapping = aes(x=youtube, y=sales))+geom_point()+theme_bw()+geom_smooth()
ggplotly(g4)
## `geom_smooth()` using method = 'loess' and formula = 'y ~ x'
cor(marketing$youtube, marketing$sales)
## [1] 0.7822244
mod_you=lm(sales~youtube, data=marketing)
mod_you
## 
## Call:
## lm(formula = sales ~ youtube, data = marketing)
## 
## Coefficients:
## (Intercept)      youtube  
##     8.43911      0.04754
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

El modelo de regresión lineal muestra que existe una relación positiva y estadísticamente significativa entre el gasto en publicidad en YouTube y las ventas, con un coeficiente de 0.0475, lo que indica que por cada unidad adicional invertida en YouTube, las ventas aumentan en promedio 0.0475 unidades. El modelo tiene un buen ajuste, explicando aproximadamente el 61% de la variabilidad en las ventas (R² = 0.6119), y tanto los coeficientes como el modelo en su conjunto son altamente significativos (p < 0.001). Esto sugiere que la inversión en publicidad en YouTube tiene un impacto relevante en las ventas de la empresa.

mod_you=lm(sales~facebook, data=marketing)
mod_you
## 
## Call:
## lm(formula = sales ~ facebook, data = marketing)
## 
## Coefficients:
## (Intercept)     facebook  
##     11.1740       0.2025
mod_you=lm(sales~newspaper, data=marketing)
mod_you
## 
## Call:
## lm(formula = sales ~ newspaper, data = marketing)
## 
## Coefficients:
## (Intercept)    newspaper  
##    14.82169      0.05469
summary(mod_you)
## 
## Call:
## lm(formula = sales ~ newspaper, data = marketing)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -13.473  -4.065  -1.007   4.207  15.330 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 14.82169    0.74570   19.88  < 2e-16 ***
## newspaper    0.05469    0.01658    3.30  0.00115 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 6.111 on 198 degrees of freedom
## Multiple R-squared:  0.05212,    Adjusted R-squared:  0.04733 
## F-statistic: 10.89 on 1 and 198 DF,  p-value: 0.001148

El modelo de regresión lineal indica que el gasto en publicidad en periódicos tiene una relación positiva y significativa con las ventas, con un coeficiente de 0.0547, lo que implica que por cada unidad adicional invertida en este medio, las ventas aumentan en promedio 0.0547 unidades. Aunque el coeficiente es estadísticamente significativo (p = 0.00115), el poder explicativo del modelo es bajo, ya que solo el 5.2% de la variación en las ventas se explica por esta variable (R² = 0.052). Esto sugiere que, si bien la publicidad en periódicos tiene cierto efecto sobre las ventas, su impacto es limitado en comparación con otros posibles factores.

mod_you=lm(sales~youtube,data=marketing)
mod_you
## 
## Call:
## lm(formula = sales ~ youtube, data = marketing)
## 
## Coefficients:
## (Intercept)      youtube  
##     8.43911      0.04754
##Predecir con el Modelo
#Estimar las ventas para un mes en el cual se invierta en mercadeo en youtube 65 mil dólares.

predict(mod_you,list(youtube=65),interval = "confidence",level = 0.95)
##        fit      lwr      upr
## 1 11.52899 10.72462 12.33337
##Paso 1 - Segmentar los Datos
id_modelar=sample(1:200,size = 160)
marketing_modelar=marketing[id_modelar,]
marketing_validar=marketing[-id_modelar,]

##Paso 2 - Estimar el Modelo Set de Modelar
mod_you_modelar=lm(sales~youtube,data=marketing_modelar)

##Paso 3 - Predeccir Set de Validación
sales_pred=predict(mod_you_modelar,list(youtube=marketing_validar$youtube))

##Paso 4 - Comparar Ventas del Modelo y Reales
sales_real=marketing_validar$sales
error=sales_real-sales_pred
res=data.frame(sales_real,sales_pred,error)

##Paso 5 - Calcular Indicador de Evaluación de la Predicción
MAE=mean(abs(error)) #Mean Absolut Error (Error Medio Absoluto)
MAE
## [1] 3.057865

Se realizó una validación del modelo de regresión lineal que predice las ventas a partir del gasto en YouTube, dividiendo aleatoriamente los datos en un conjunto de entrenamiento (80%) y uno de validación (20%). El modelo se ajustó con el conjunto de entrenamiento y luego se utilizó para predecir las ventas del conjunto de validación. Comparando estas predicciones con las ventas reales, se calculó el error absoluto medio (MAE) como medida de precisión del modelo. Este indicador refleja el promedio de los errores absolutos cometidos al predecir, y mientras más bajo sea, mejor será el desempeño del modelo sobre datos nuevos.