Starbucks disfrutó de considerable éxito con sus tarjetas de prepago, que se venden entre $5 y $500 dólares. Desde que la tarjeta fue introducida en noviembre del 2001,aumentaron los ingresos por ventas. Suponga que la gerencia de Starbucks desea conocer las razones por las que algunas personas compran tarjetas con cantidades prepagadas más altas que otras personas, suponga que hace un estudio de 25 compradores de tarjetas prepagadas. A quienes respondieron el estudio se les preguntó la cantidad de tarjetas prepagadas, edad del cliente, número de días al mes que el cliente hace una compra en Starbucks, número de tazas de café que el cliente toma por día y los ingresos del cliente. Con los datos, se quiere evaluar si existe relación entre la cantidad de tarjetas prepagadas, por medio de otras variables y cuáles de estas pueden ser más útiles para hacer el pronósticos (mayor relación). La descripción de las variables tenemos:
Cantidad de tarjetas prepagadas (cantidad)
Número de tazas de café que el cliente toma por día (tazas)
Ingresos del cliente (miles de $) (ingresos)
# Crear un conjunto de datos de ejemplo para Starbucks
starbucks_data <- data.frame(
cantidad = c(10, 15, 20, 18, 25, 12, 22, 17, 30, 28, 35, 24, 16, 19, 27, 33, 21, 26, 31, 29, 14, 23, 32, 37, 40),
ingresos = c(50, 60, 55, 70, 80, 45, 65, 75, 90, 100, 58, 68, 72, 62, 85, 95, 60, 78, 88, 98, 52, 82, 92, 110, 120)
)
starbucks_data
Paso 1: Determinar las variables X,Y
Variable independiente (X): Ingresos
Variable dependiente (y): Cantidad
Paso 2: Evaluar la relación entre variables (Correlación) graficamente
# Gráfico con plot
plot(x=starbucks_data$ingresos,y=starbucks_data$cantidad)
* Interpretación: Según los resultados, hay relación lineal positiva o
directa entre la inversión y la ganancia.
pairs(starbucks_data)
* Interpretación: Según los resultados se observa que hay correlación
directa o positiva entre ingresos en investigación y desarrollo y la
cantidad.
La covarianza mide la relación lineal entre dos variables, es la media aritmética de los productos de las desviaciones de cada una de las variables respecto a sus medias respectivas. El signo de la covarianza nos dice si el aspecto de la nube de puntos es creciente o no, pero no nos dice nada sobre el grado de relación entre las variables.
# Calculamos el promedio de x
promedio_x<-mean(starbucks_data$ingresos)
# Calculamos el promedio de y
promedio_y<-mean(starbucks_data$cantidad)
# Calculamos la dimensión de los datos
n<-dim(starbucks_data)[1]
# Calculamos la covarianza
covarianza<-sum((starbucks_data$ingresos-promedio_x)*(starbucks_data$cantidad-promedio_y))/(n-1)
covarianza
## [1] 127.8083
#Calculamos con función
cov(starbucks_data)
## cantidad ingresos
## cantidad 64.80667 127.8083
## ingresos 127.80833 381.9167
# Mediante la función cor
cor(starbucks_data) # Matriz de correlaciones
## cantidad ingresos
## cantidad 1.0000000 0.8123909
## ingresos 0.8123909 1.0000000
r = 0.8123909
(Recordar: Si el r en menor que 0.35 para algunos autores, no es viable la regresión, para otros autores se debe probar hipótesis)
Como en este caso el coeficiente de correlación es superior a 0.35, es viable la regresión.
Modelo general $ = b_o + b_1X $
Modelo para el caso: \(\hat{cantidad} = b_0 + b_1 ingresos\)
Para obtener el modelo, se va a utilizar una función de R > lm
# lm, notación: Y ~ X, data=
modelo1 <- lm(cantidad ~ ingresos, data=starbucks_data)
# Resumen de resultados
summary(modelo1)
##
## Call:
## lm(formula = cantidad ~ ingresos, data = starbucks_data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -6.691 -3.034 -0.038 2.328 16.998
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -1.40724 3.94490 -0.357 0.725
## ingresos 0.33465 0.05009 6.682 8.13e-07 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 4.795 on 23 degrees of freedom
## Multiple R-squared: 0.66, Adjusted R-squared: 0.6452
## F-statistic: 44.64 on 1 and 23 DF, p-value: 8.135e-07
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 15.1982 2.1254 7.151 3.10e-05 ***
## ingresos 3.2162 0.3792 8.482 7.03e-06 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2.579 on 10 degrees of freedom
## Multiple R-squared: 0.878, Adjusted R-squared: 0.8658
## F-statistic: 71.94 on 1 and 10 DF, p-value: 7.032e-06
##calculamos el coeficiente de correlación
# Calculamos la desviación estándar de X
desv_stand_x<-sd(starbucks_data$ingresos)
# Calculamos la desviación estándar de y
desv_stand_y<-sd(starbucks_data$cantidad)
# Calculamos el coeficiente de correlación
correlacion<-covarianza/(desv_stand_x*desv_stand_y)
Mostramos los resultados
correlacion
## [1] 0.8123909
cor(starbucks_data)
## cantidad ingresos
## cantidad 1.0000000 0.8123909
## ingresos 0.8123909 1.0000000
Se puede generar gráficos adicionales para evaluar la relación entre variables
library(PerformanceAnalytics)
## Loading required package: xts
## Loading required package: zoo
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
##
## Attaching package: 'PerformanceAnalytics'
## The following object is masked from 'package:graphics':
##
## legend
chart.Correlation(starbucks_data)
## Warning in par(usr): argument 1 does not name a graphical parameter
- Los resultados muestran en la diagonal los histogramas de cada
variable, en la grafica de la parte inferior izquierda muestra el
diagrama de dispersión y en la esquina superior derecha el valor el
coeficiente de correlación. ## Modelo final con los resultados:
$ = 15.1982 +3.2162 X $
\(\hat{cantidad} = 15.1982 + 3.2162 Ingresos\)
Paso 3: Modelo Regresión lineal simple