primero importamos la base de datos

PARA PODER HACER ESTE TRABAJO CORRECTAMENTE, LA BASE DE DATOS PRINCIPAL SE DEBE DE LLAMAR

“ola” Y LA BASE DE DATOS MUESTRAL SE DEBE DE LLAMAR “muestra_ola” LA CUAL ADJUNTARE EN LOS

ARCHIVOS Y “ola” ES EL ARCHIVO DE EXCEL PRIMERO EL CUAL EL PROFESOR NOS ADJUNTO EN LA

ACTIVIDAD, DE IGUAL MANERA ADJUNTO LOS DOS “ola” es “Blackfriday” y

“muestra_ola” ES “muestra trabajo final”

library(readxl)

library(writexl)
## Warning: package 'writexl' was built under R version 4.3.3
ola <- read_excel("C:/Users/juand/Downloads/Blackfriday.xlsx") #importamos la base de datos

sembramos la semilla y sacamos la muestra

set.seed(2210)

muestra_ola <- ola[sample(nrow(ola), 200), ]

hacemos un analisis descriptivo de las variables “gender”, “city_category” e “income”

# # Resumen descriptivo para la variable Gender
gender_resumen <- table(muestra_ola$Gender)
gender_resumen <- data.frame(Género = names(gender_resumen), Frecuencia = as.vector(gender_resumen))
gender_resumen$Proporción <- gender_resumen$Frecuencia / sum(gender_resumen$Frecuencia)

View(gender_resumen)

resumen_city <- table(muestra_ola$City_Category)
resumen_city <- data.frame(Categoría_de_ciudad = names(resumen_city), Frecuencia = as.vector(resumen_city))
resumen_city$Proporción <- resumen_city$Frecuencia / sum(resumen_city$Frecuencia)

View(resumen_city)

# Resumen descriptivo para la variable Income (Ingreso)
resumen_income <- summary(muestra_ola$Income)

# Mostrar los resultados
print("Resumen descriptivo para la variable Gender (Género):")
## [1] "Resumen descriptivo para la variable Gender (Género):"
print(gender_resumen)
##   Género Frecuencia Proporción
## 1      F         42       0.21
## 2      M        158       0.79
print("Resumen descriptivo para la variable City_Category (Categoría de ciudad):")
## [1] "Resumen descriptivo para la variable City_Category (Categoría de ciudad):"
print(resumen_city)
##   Categoría_de_ciudad Frecuencia Proporción
## 1                   A         69      0.345
## 2                   B         69      0.345
## 3                   C         62      0.310
print("Resumen descriptivo para la variable Income (Ingreso):")
## [1] "Resumen descriptivo para la variable Income (Ingreso):"
print(resumen_income)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    6094   11452   13064   13072   14735   20347

PUNTO C

# Calcular la media y desviación estándar poblacionales
media_poblacional <- mean(ola$Purchase)
desviacion_poblacional <- sd(ola$Purchase)

media_muestral <- mean(muestra_ola$Purchase)
desviacion_muestral <- sd(muestra_ola$Purchase)

# Mostrar los resultados
print("Estadísticas poblacionales:")
## [1] "Estadísticas poblacionales:"
print(paste("Media poblacional:", media_poblacional))
## [1] "Media poblacional: 9344.56586500188"
print(paste("Desviación estándar poblacional:", desviacion_poblacional))
## [1] "Desviación estándar poblacional: 4986.59322618605"
print("Estadísticas muestrales:")
## [1] "Estadísticas muestrales:"
print(paste("Media muestral:", media_muestral))
## [1] "Media muestral: 9498.36"
print(paste("Desviación estándar muestral:", desviacion_muestral))
## [1] "Desviación estándar muestral: 4901.00672874216"
cat("La media muestral (9498.36) es un estimador de la media poblacional (9344.56586500188). La media muestral proporciona una estimación del valor medio de la población basada en los datos de la muestra.

La desviación estándar muestral (4901.00672874216) es un estimador de la desviación estándar poblacional (4986.59322618605). La desviación estándar muestral proporciona una estimación de la variabilidad de la población basada en los datos de la muestra.

Por lo tanto, en este caso:

La media muestral es el estimador de la media poblacional.
La desviación estándar muestral es el estimador de la desviación estándar poblacional.")
## La media muestral (9498.36) es un estimador de la media poblacional (9344.56586500188). La media muestral proporciona una estimación del valor medio de la población basada en los datos de la muestra.
## 
## La desviación estándar muestral (4901.00672874216) es un estimador de la desviación estándar poblacional (4986.59322618605). La desviación estándar muestral proporciona una estimación de la variabilidad de la población basada en los datos de la muestra.
## 
## Por lo tanto, en este caso:
## 
## La media muestral es el estimador de la media poblacional.
## La desviación estándar muestral es el estimador de la desviación estándar poblacional.

PUNTO D

valor_dividido <- media_poblacional / 2

# Tamaño de la muestra
n <- 200

# Grados de libertad
grados_libertad <- n - 1

# Calcular el error estándar de la media muestral
error_estandar <- desviacion_muestral / sqrt(n)

# Calcular la t de Student
t_valor <- (media_muestral - valor_dividido) / error_estandar

# Calcular la probabilidad usando la función de distribución acumulativa (pt) de la distribución t de Student
probabilidad <- pt(t_valor, df = grados_libertad, lower.tail = FALSE)

# Mostrar el resultado
print(paste("La probabilidad de que la media muestral sea mayor o igual que el valor de la poblacional dividido entre 2 es:", probabilidad))
## [1] "La probabilidad de que la media muestral sea mayor o igual que el valor de la poblacional dividido entre 2 es: 1.59756888744953e-31"

PUNTO E

library(ggplot2)

# Crear el histograma de la variable Purchase
ggplot(muestra_ola, aes(x = Purchase)) +
  geom_histogram(binwidth = 500, fill = "skyblue", color = "black") +
  labs(title = "Histograma de la variable Purchase",
       x = "Compra",
       y = "Frecuencia") +
  theme_minimal()

# Calcular el sesgo y la curtosis
sesgo <- mean((muestra_ola$Purchase - mean(muestra_ola$Purchase))^3) / (sd(muestra_ola$Purchase))^3
curtosis <- mean((muestra_ola$Purchase - mean(muestra_ola$Purchase))^4) / (sd(muestra_ola$Purchase))^4 - 3

# Mostrar el sesgo y la curtosis
print(paste("Sesgo:", sesgo))
## [1] "Sesgo: 0.646019385102363"
print(paste("Curtosis:", curtosis))
## [1] "Curtosis: -0.437836040712601"

Actividad 2

PUNTO A

n <- length(muestra_ola$Purchase)

# Valor crítico de la distribución normal estándar para un nivel de confianza del 90%
valor_critico <- qnorm(0.95)

# Calcular el error estándar
error_estandar <- desviacion_muestral / sqrt(n)

# Calcular el intervalo de confianza
intervalo_confianza <- c(media_muestral - valor_critico * error_estandar,
                         media_muestral + valor_critico * error_estandar)

# Mostrar el intervalo de confianza
print("Intervalo de confianza del 90% para la media de Purchase:")
## [1] "Intervalo de confianza del 90% para la media de Purchase:"
print(intervalo_confianza)
## [1]  8928.33 10068.39
# Verificar si la media poblacional cae dentro del intervalo de confianza
if (media_poblacional >= intervalo_confianza[1] && media_poblacional <= intervalo_confianza[2]) {
  print("La media poblacional cae dentro del intervalo de confianza.")
} else {
  print("La media poblacional no cae dentro del intervalo de confianza.")
}
## [1] "La media poblacional cae dentro del intervalo de confianza."
cat("está dentro del intervalo de confianza, lo que sugiere que la media poblacional de las compras podría estar bien representada por la media muestral.")
## está dentro del intervalo de confianza, lo que sugiere que la media poblacional de las compras podría estar bien representada por la media muestral.

PUNTO B

# Separar las muestras de hombres y mujeres
muestra_hombres <- muestra_ola[muestra_ola$Gender == "M", "Purchase"]
muestra_mujeres <- muestra_ola[muestra_ola$Gender == "F", "Purchase"]

# Estadísticas muestrales para hombres
media_hombres <- mean(muestra_hombres$Purchase)
desviacion_hombres <- sd(muestra_hombres$Purchase)
n_hombres <- length(muestra_hombres$Purchase)

# Estadísticas muestrales para mujeres
media_mujeres <- mean(muestra_mujeres$Purchase)
desviacion_mujeres <- sd(muestra_mujeres$Purchase)
n_mujeres <- length(muestra_mujeres$Purchase)

# Grados de libertad
grados_libertad <- n_hombres + n_mujeres - 2

# Valor crítico de la distribución t de Student para un nivel de confianza del 90%
valor_critico <- qt(0.95, df = grados_libertad)

# Calcular la diferencia de medias
diferencia_medias <- media_hombres - media_mujeres

# Calcular el error estándar de la diferencia de medias
error_estandar_diferencia <- sqrt((desviacion_hombres^2 / n_hombres) + (desviacion_mujeres^2 / n_mujeres))

# Calcular el intervalo de confianza para la diferencia de medias
intervalo_confianza_diferencia <- c(diferencia_medias - valor_critico * error_estandar_diferencia,
                                    diferencia_medias + valor_critico * error_estandar_diferencia)

# Mostrar el intervalo de confianza
print("Intervalo de confianza del 90% para la diferencia de medias de las compras:")
## [1] "Intervalo de confianza del 90% para la diferencia de medias de las compras:"
print(intervalo_confianza_diferencia)
## [1] -484.2615 2118.8679
cat("Esto significa que estamos 90% seguros de que la verdadera diferencia media entre las compras realizadas por hombres y mujeres está contenida en este intervalo.

Dado que el intervalo incluye tanto valores negativos como positivos, no podemos afirmar con certeza que exista una diferencia significativa entre las medias de las compras realizadas por hombres y mujeres a un nivel de confianza del 90%. Esto sugiere que, en este caso, no podemos concluir que haya una diferencia estadísticamente significativa en las compras entre hombres y mujeres basándonos en la muestra proporcionada.")
## Esto significa que estamos 90% seguros de que la verdadera diferencia media entre las compras realizadas por hombres y mujeres está contenida en este intervalo.
## 
## Dado que el intervalo incluye tanto valores negativos como positivos, no podemos afirmar con certeza que exista una diferencia significativa entre las medias de las compras realizadas por hombres y mujeres a un nivel de confianza del 90%. Esto sugiere que, en este caso, no podemos concluir que haya una diferencia estadísticamente significativa en las compras entre hombres y mujeres basándonos en la muestra proporcionada.

PUNTO C

varianza_mujeres <- var(muestra_mujeres$Purchase)
n_mujeres <- length(muestra_mujeres$Purchase)

# Grados de libertad
grados_libertad <- n_mujeres - 1

# Cuantil de la distribución chi-cuadrado para un nivel de confianza del 90%
cuantil_chi_cuadrado <- qchisq(0.95, df = grados_libertad)

# Calcular los límites del intervalo de confianza
limite_inferior <- (n_mujeres - 1) * varianza_mujeres / cuantil_chi_cuadrado
limite_superior <- (n_mujeres - 1) * varianza_mujeres / qchisq(0.05, df = grados_libertad)

# Mostrar el intervalo de confianza
print("Intervalo de confianza del 90% para la varianza de las compras de mujeres:")
## [1] "Intervalo de confianza del 90% para la varianza de las compras de mujeres:"
print(c(limite_inferior, limite_superior))
## [1] 13925041 29017715

PUNTO D

cat("La hipótesis nula (H) será que la media poblacional es igual a la media obtenida en la actividad 1, es decir, 
𝐻:𝜇=9344.56586500188. La hipótesis alternativa (𝐻1) será que la media poblacional es mayor que la media obtenida en la actividad 1, es decir, 
𝐻1:𝜇>9344.56586500188")
## La hipótesis nula (H) será que la media poblacional es igual a la media obtenida en la actividad 1, es decir, 
## 𝐻:𝜇=9344.56586500188. La hipótesis alternativa (𝐻1) será que la media poblacional es mayor que la media obtenida en la actividad 1, es decir, 
## 𝐻1:𝜇>9344.56586500188
# Estadísticas muestrales
media_muestral <- mean(muestra_ola$Purchase)
n <- length(muestra_ola$Purchase)

# Nivel de significancia
nivel_significancia <- 0.05

# Calcular el estadístico de prueba (Z-score) bajo la hipótesis nula
z_score <- (media_muestral - media_poblacional) / (sd(muestra_ola$Purchase) / sqrt(n))

# Calcular el valor crítico de la distribución normal estándar para un nivel de significancia de 0.05
valor_critico <- qnorm(1 - nivel_significancia)

# Realizar la prueba de hipótesis
if (z_score > valor_critico) {
  print("Rechazamos la hipótesis nula.")
} else {
  print("No rechazamos la hipótesis nula.")
}
## [1] "No rechazamos la hipótesis nula."
cat("Calculamos el z-score como la diferencia entre la media muestral y la media poblacional dividida por el error estándar de la media muestral.
Comparamos el z-score calculado con el valor crítico de la distribución normal estándar para un nivel de significancia de 0.05.
Si el z-score calculado es mayor que el valor crítico, rechazamos la hipótesis nula. Esto significa que hay suficiente evidencia para concluir que la media poblacional es mayor que la media obtenida en la muestra. En caso contrario, no rechazamos la hipótesis nula.
Conclusión:
Dado que el valor del z-score es negativo, no rechazamos la hipótesis nula. Esto sugiere que no hay suficiente evidencia para concluir que la media poblacional es mayor que la media obtenida en la muestra, al nivel de significancia del 5%. En otras palabras, no podemos afirmar con certeza que las ventas promedio en la población sean mayores que las observadas en la muestra durante el Black Friday.")
## Calculamos el z-score como la diferencia entre la media muestral y la media poblacional dividida por el error estándar de la media muestral.
## Comparamos el z-score calculado con el valor crítico de la distribución normal estándar para un nivel de significancia de 0.05.
## Si el z-score calculado es mayor que el valor crítico, rechazamos la hipótesis nula. Esto significa que hay suficiente evidencia para concluir que la media poblacional es mayor que la media obtenida en la muestra. En caso contrario, no rechazamos la hipótesis nula.
## Conclusión:
## Dado que el valor del z-score es negativo, no rechazamos la hipótesis nula. Esto sugiere que no hay suficiente evidencia para concluir que la media poblacional es mayor que la media obtenida en la muestra, al nivel de significancia del 5%. En otras palabras, no podemos afirmar con certeza que las ventas promedio en la población sean mayores que las observadas en la muestra durante el Black Friday.

Actividad 3

PUNTO A

  1. Formulación de Hipótesis:

Hipótesis nula (𝐻0): La media poblacional es igual al valor real encontrado en la población. Hipótesis alternativa (𝐻1): La media poblacional es mayor que el valor real encontrado en la población.

  1. Selección del Nivel de Significancia (𝛼):

El nivel de significancia es 0.05, lo que significa que estamos dispuestos a aceptar un riesgo del 5% de cometer un error de tipo I, es decir, rechazar incorrectamente la hipótesis nula cuando es verdadera.

  1. Elección de la Prueba Estadística:

Dado que conocemos la desviación estándar poblacional, podemos utilizar la prueba Z.

  1. Cálculo del Estadístico de Prueba:

Calculamos el valor Z utilizando la fórmula: 𝑍= (X−μ0)/𝜎/sqrt(𝑛) donde 𝑋es la media muestral, 𝜇0 es el valor real encontrado en la población, σ es la desviación estándar poblacional y 𝑛 es el tamaño de la muestra.

  1. Regla de Decisión:

Rechazamos la hipótesis nula si el valor Z calculado es mayor que el valor crítico correspondiente al nivel de significancia (𝛼).

  1. Conclusión:

Si rechazamos la hipótesis nula, concluimos que hay evidencia suficiente para sugerir que la media poblacional es mayor que el valor real encontrado en la población. De lo contrario, no tenemos suficiente evidencia para concluir que la media poblacional es mayor.

# Estadísticas muestrales
media_muestral <- mean(muestra_ola$Purchase)
desviacion_poblacional <- sd(ola$Purchase)
n <- length(muestra_ola$Purchase)

# Nivel de significancia
nivel_significancia <- 0.05

# Calcular el valor Z
z_value <- (media_muestral - media_poblacional) / (desviacion_poblacional / sqrt(n))

# Calcular el valor crítico Z para un nivel de significancia de 0.05 (cola derecha)
valor_critico <- qnorm(1 - nivel_significancia)

# Realizar la prueba de hipótesis
if (z_value > valor_critico) {
  print("Rechazamos la hipótesis nula.")
} else {
  print("No rechazamos la hipótesis nula.")
}
## [1] "No rechazamos la hipótesis nula."

no rechazamos la hipótesis nula, significa que no hay suficiente evidencia para sugerir que la media poblacional es mayor que el valor real encontrado en la población. En otras palabras, basado en la muestra proporcionada y con un nivel de significancia del 5%, no podemos concluir que las ventas promedio durante el Black Friday sean mayores que el valor real encontrado en la población en la actividad anterior.

PUNTO B

Para llevar a cabo una prueba de hipótesis para determinar si hay diferencia entre las compras promedio de hombres y mujeres con un nivel de significancia de 0.05, utilizaremos una prueba t de Student para muestras independientes. Aquí está el proceso:

  1. Formulación de Hipótesis:

Hipótesis nula (𝐻0): No hay diferencia entre las compras promedio de hombres y mujeres (𝜇hombres=𝜇mujeres). Hipótesis alternativa (𝐻1): Hay diferencia entre las compras promedio de hombres y mujeres (𝜇hombres≠𝜇mujeres).

  1. Selección del Nivel de Significancia (𝛼):

El nivel de significancia es 0.05.

  1. Elección de la Prueba Estadística:

Usaremos una prueba t de Student para muestras independientes, ya que estamos comparando las medias de dos grupos diferentes.

  1. Cálculo del Estadístico de Prueba:

Calcularemos el valor t utilizando la fórmula adecuada para muestras independientes.

  1. Regla de Decisión:

Rechazaremos la hipótesis nula si el valor p asociado al estadístico t es menor que el nivel de significancia (𝛼).

  1. Conclusión: Si rechazamos la hipótesis nula, concluimos que hay evidencia suficiente para sugerir que hay una diferencia significativa entre las compras promedio de hombres y mujeres. De lo contrario, no hay suficiente evidencia para afirmar que existe tal diferencia.
muestra_hombres <- muestra_ola[muestra_ola$Gender == "M", "Purchase"]

# Estadísticas muestrales para mujeres
muestra_mujeres <- muestra_ola[muestra_ola$Gender == "F", "Purchase"]

# Realizar la prueba t de Student
prueba_t <- t.test(muestra_hombres, muestra_mujeres)

# Mostrar el resultado de la prueba
print(prueba_t)
## 
##  Welch Two Sample t-test
## 
## data:  muestra_hombres and muestra_mujeres
## t = 1.0377, df = 72.134, p-value = 0.3029
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  -752.6847 2387.2910
## sample estimates:
## mean of x mean of y 
##  9669.994  8852.690

Dado que el valor p es 0.3029 y es mayor que el nivel de significancia𝛼 de 0.05, no rechazamos la hipótesis nula. Esto significa que no hay suficiente evidencia para sugerir que hay una diferencia significativa entre las compras promedio de hombres y mujeres a un nivel de significancia del 5%. En otras palabras, no podemos afirmar con certeza que exista una diferencia en las compras promedio entre hombres y mujeres basándonos en la muestra proporcionada.

PUNTO C

Para realizar una prueba de hipótesis para determinar si hay diferencia entre las compras promedio de hombres y mujeres con un nivel de significancia de 0.05, utilizaremos una prueba t de Student para muestras independientes. Aquí está el proceso:

Formulación de Hipótesis:

Hipótesis nula (𝐻0): No hay diferencia entre las compras promedio de hombres y mujeres (𝜇hombres=𝜇mujeres). Hipótesis alternativa (𝐻1): Hay diferencia entre las compras promedio de hombres y mujeres (𝜇hombres≠𝜇mujeres).

  1. Selección del Nivel de Significancia (𝛼): El nivel de significancia es 0.05.

  2. Elección de la Prueba Estadística:

Usaremos una prueba t de Student para muestras independientes, ya que estamos comparando las medias de dos grupos diferentes.

  1. Cálculo del Estadístico de Prueba:

Calcularemos el valor t utilizando la fórmula adecuada para muestras independientes.

  1. Valor Crítico:

Determinaremos el valor crítico t para un nivel de significancia de 0.05 y los grados de libertad correspondientes.

  1. Regla de Decisión:

Rechazaremos la hipótesis nula si el valor t calculado está fuera del intervalo definido por los valores críticos t.

  1. Conclusión:

Si rechazamos la hipótesis nula, concluimos que hay evidencia suficiente para sugerir que hay una diferencia significativa entre las compras promedio de hombres y mujeres. De lo contrario, no hay suficiente evidencia para afirmar que existe tal diferencia.

# Estadísticas muestrales para hombres
muestra_hombres <- muestra_ola[muestra_ola$Gender == "M", "Purchase"]

# Estadísticas muestrales para mujeres
muestra_mujeres <- muestra_ola[muestra_ola$Gender == "F", "Purchase"]

# Realizar la prueba t de Student
prueba_t <- t.test(muestra_hombres, muestra_mujeres)

# Mostrar el resultado de la prueba
print(prueba_t)
## 
##  Welch Two Sample t-test
## 
## data:  muestra_hombres and muestra_mujeres
## t = 1.0377, df = 72.134, p-value = 0.3029
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  -752.6847 2387.2910
## sample estimates:
## mean of x mean of y 
##  9669.994  8852.690

Dado que el valor p asociado al estadístico t es 0.3029 y es mayor que el nivel de significancia 𝛼 de 0.05, no tenemos suficiente evidencia para rechazar la hipótesis nula. En otras palabras, no hay diferencia significativa entre las compras promedio de hombres y mujeres a un nivel de significancia del 5%.