El presente análisis tiene como objetivo explorar la relación entre dos variables cuantitativas mediante un modelo de regresión lineal simple. Este tipo de modelo permite predecir el comportamiento de una variable dependiente (respuesta) a partir de una variable independiente (predictora), asumiendo una relación lineal entre ambas.
La regresión lineal es una herramienta estadística fundamental en diversos campos como la economía, la biología, la ingeniería y las ciencias sociales, ya que permite entender tendencias, realizar predicciones y cuantificar el efecto de una variable sobre otra.
Para este análisis se utiliza un conjunto de datos que contiene 200 observaciones. Cada observación representa una medición correspondiente a las dos variables de interés. La variable Publicidad representa la variable independiente, mientras que la variable Ventas representa la variable dependiente que se desea predecir.
Antes de ajustar el modelo, es fundamental observar la distribución conjunta de las variables mediante un gráfico de dispersión, lo cual nos permitirá tener una idea preliminar sobre la dirección y la forma de la relación entre ellas.
Librerias
library(readr)
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(ggplot2)
library(broom)
library(lmtest)
## Loading required package: zoo
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
Datos
#Leer los datos
publicidad <- data.frame( read_csv("publicidad-vs-ventas (2).csv"))
## Rows: 200 Columns: 2
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## dbl (2): Publicidad, Ventas
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
head(publicidad)
## Publicidad Ventas
## 1 374540 143
## 2 950714 383
## 3 731994 296
## 4 598658 232
## 5 156019 81
## 6 155995 67
# Estructura de los datos
str(publicidad)
## 'data.frame': 200 obs. of 2 variables:
## $ Publicidad: num 374540 950714 731994 598658 156019 ...
## $ Ventas : num 143 383 296 232 81 67 11 353 231 291 ...
A continuación se presenta el gráfico de dispersión entre las variables X y Y:
ggplot(publicidad, aes(x = Publicidad, y = Ventas)) + geom_point(color = "skyblue") + ggtitle("Publicidad vs Ventas")
Como se observa en el gráfico anterior, existe una relación positiva entre las variables. Es decir, a medida que los valores de la variable independiente X aumentan, también tienden a aumentar los valores de la variable dependiente Y. Esto sugiere que un modelo de regresión lineal podría ser adecuado para describir esta relación.
Sabiando esto podemos decir que el modelo estadístico que se propone es:
\[ y_1 - B_0 + B_1 * x_1 ϵ N(0,σ^2) \]
Donde \(y_1\) son las ventas registradas y \(x_1\) los gastos de publicidad.
regresion <- lm(Ventas ~ Publicidad, data = publicidad)
summary(regresion)
##
## Call:
## lm(formula = Ventas ~ Publicidad, data = publicidad)
##
## Residuals:
## Min 1Q Median 3Q Max
## -33.788 -7.389 0.244 6.007 37.645
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.118e+00 1.325e+00 0.844 0.4
## Publicidad 3.992e-04 2.340e-06 170.601 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 9.734 on 198 degrees of freedom
## Multiple R-squared: 0.9932, Adjusted R-squared: 0.9932
## F-statistic: 2.91e+04 on 1 and 198 DF, p-value: < 2.2e-16
B_0=coef(regresion)[1]
B_0
## (Intercept)
## 1.11836
B_1=coef(regresion)[2]
B_1
## Publicidad
## 0.0003992028
El modelo ajustado quedaría de la siguiente forma: \[ y_1 - 1.11836 + 0.0003992 * x_1 \]
graf1 <- ggplot(publicidad, aes(x = Publicidad, y = Ventas)) +
geom_point(color = "green") +
labs(x = "Gastos en Publicidad", y = "Ventas")
# Agregar una línea de tendencia
graf1 + geom_smooth(method = 'lm', se = FALSE, color = "blue")
## `geom_smooth()` using formula = 'y ~ x'
El modelo de regresión lineal simple muestra que existe una relación positiva y altamente significativa entre el gasto en publicidad y las ventas. Específicamente, por cada unidad monetaria adicional invertida en publicidad, las ventas aumentan en promedio en 0.0003992 unidades. Aunque el intercepto no es estadísticamente significativo, el modelo en su conjunto presenta un ajuste excelente, con un R² de 0.9932, lo que indica que el 99.32% de la variabilidad en las ventas puede explicarse por el gasto en publicidad. Además, el modelo tiene un error estándar bajo y un valor p muy pequeño, lo que refuerza su validez estadística. En conjunto, estos resultados sugieren que invertir en publicidad tiene un impacto claro y positivo sobre las ventas, y que el modelo puede utilizarse con confianza para hacer predicciones dentro del rango observado.
Linealidad
pairs(publicidad)
plot(Ventas ~ Publicidad, data=publicidad)
El supuesto de linealidad se cumple claramente.
La relación entre la variable independiente Publicidad y la dependiente Ventas es aproximadamente lineal, tal como lo exige un modelo de regresión lineal simple.
Homocedasticidad
A continuación, se evalúa si los residuos del modelo presentan varianza constante (supuesto de homocedasticidad).
Residuos <- rstandard(regresion)
Valores_ajustados <- fitted(regresion)
plot(Valores_ajustados, Residuos)
Los residuos se distribuyen aleatoriamente alrededor de 0 y mantienen una dispersión constante a lo largo de los valores ajustados. Esto indica que el modelo cumple con el supuesto de homocedasticidad.
Normalidad
Para verificar si los residuos del modelo se distribuyen normalmente, se presentan el gráfico QQ y la prueba de Shapiro-Wilk.
qqnorm(Residuos)
qqline(Residuos, col = "red")
shapiro.test(Residuos)
##
## Shapiro-Wilk normality test
##
## data: Residuos
## W = 0.98768, p-value = 0.08062
El gráfico Q-Q muestra que los residuos se alinean aproximadamente con la línea teórica de normalidad, aunque se observan leves desviaciones en los extremos. Por otro lado, la prueba de Shapiro-Wilk arrojó un valor p = 0.08062, lo que indica que, estadísticamente, no se rechaza la hipótesis de normalidad.
Independencia
Para verificar la independencia de los residuos, se generó un gráfico de los residuos ordenados por el índice de observación. Además, se aplicó la prueba de Durbin-Watson.
plot(regresion$residuals, type = "o",
main = "Residuos vs índice de observación",
xlab = "Índice de observación",
ylab = "Residuos")
abline(h = 0, col = "red")
dwtest(regresion)
##
## Durbin-Watson test
##
## data: regresion
## DW = 2.1259, p-value = 0.8137
## alternative hypothesis: true autocorrelation is greater than 0
No hay evidencia de autocorrelación en los residuos. Por tanto, se cumple el supuesto de independencia.
anova(regresion)
## Analysis of Variance Table
##
## Response: Ventas
## Df Sum Sq Mean Sq F value Pr(>F)
## Publicidad 1 2757811 2757811 29105 < 2.2e-16 ***
## Residuals 198 18761 95
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
El análisis ANOVA muestra que el modelo de regresión lineal simple es altamente significativo (F = 29,105; p < 2.2e-16). Esto indica que existe evidencia estadística suficiente para afirmar que el gasto en publicidad explica una proporción significativa de la variabilidad en las ventas. Por tanto, se rechaza la hipótesis nula H0:β1=0, concluyendo que el efecto de la publicidad sobre las ventas no es nulo.
En este trabajo se encontró que existe una relación positiva y significativa entre el gasto en publicidad y las ventas, es decir, a mayor inversión en publicidad, se espera que las ventas aumenten. El modelo explica el 99.3% de la variabilidad en las ventas, lo que indica que se ajusta muy bien a los datos.
Los resultados estadísticos muestran que el gasto en publicidad tiene un efecto real sobre las ventas, ya que los coeficientes son significativos. Además, al revisar los supuestos del modelo, como la linealidad, la homocedasticidad, la normalidad y la independencia de los residuos, se cumple todo correctamente.
Por lo tanto, podemos decir que el gasto en publicidad es un buen predictor para las ventas y que este modelo puede usarse con confianza para hacer pronósticos o tomar decisiones relacionadas con la estrategia comercial.