🥑PRUEBAS DE HIPOTESIS:

🥑Para limpiar el workspace o informacion cargada

 #rm(list = ls())
    # Limpiar espacio gráfico
    #dev.off()
    # Cambiar el directorio de trabajo (Donde se encuentra el archivo)
    setwd(dirname(rstudioapi::getActiveDocumentContext()$path))
    #setwd("D:\2022\2022-2\Pregrado\UNJFSC\Software de aplicación\Sesión 02")
    getwd()
[1] "C:/Users/Jhonn Neira/Desktop/UNJFSC/CICLO 7/CURSOS/SOFTWARE DE APLICACION/TRABAJOOOO/PROYECTO_FINAL"

🥑Importando los datos de excel

library(readxl)
 Caso_Aguacate_xls<-read_excel("avocado.csv..xlsx")

🥑Es conveniente transformarlo a dataFrame

Caso_Aguacate_xls_frame <- as.data.frame(Caso_Aguacate_xls)
    head(Caso_Aguacate_xls_frame)
  INDICE Date           (FECHA DE OBSERVACION)
1      0                            2015-12-27
2      1                            2015-12-20
3      2                            2015-12-13
4      3                            2015-12-06
5      4                            2015-11-29
6      5                            2015-11-22
  AveragePrice       (PRECIO PROMEDIO)
1                                 1.33
2                                 1.35
3                                 0.93
4                                 1.08
5                                 1.28
6                                 1.26
  Total Volume      (NUMERO TOTAL DE AGUACATES VENDIDOS)
1                                                  64237
2                                                  54877
3                                                 118220
4                                                  78992
5                                                  51040
6                                                  55980
  NUMERO TOTAL DE AGUACATE CON PLU 4046-PEQUEÑO VENDIDOS
1                                                   1037
2                                                    674
3                                                    795
4                                                   1132
5                                                    941
6                                                   1184
  NUMERO TOTAL DE AGUACATE CON PLU 4225-LARGO VENDIDOS
1                                                54455
2                                                44639
3                                               109150
4                                                71976
5                                                43838
6                                                48068
  NUMERO TOTAL DE AGUACATE CON PLU 4770-GRANDE VENDIDOS
1                                                    48
2                                                    58
3                                                   131
4                                                    73
5                                                    76
6                                                    44
  Total Bags  (BOLSAS TOTALES) Small Bags (BOLSAS PEQUEÑAS)
1                         8697                         8604
2                         9506                         9408
3                         8145                         8042
4                         5811                         5677
5                         6184                         5986
6                         6684                         6556
  Large Bags  (BOLSAS GRANDES) XLarge Bags (BOLSAS EXTRAGRANDES)  type (TIPO)
1                           93                                 0 conventional
2                           97                                 0 conventional
3                          103                                 0 conventional
4                          134                                 0 conventional
5                          198                                 0 conventional
6                          127                                 0 conventional
  year (AÑO) region (REGION)
1       2015          Albany
2       2015          Albany
3       2015          Albany
4       2015          Albany
5       2015          Albany
6       2015          Albany
    summary(Caso_Aguacate_xls_frame)
     INDICE      Date           (FECHA DE OBSERVACION)
 Min.   : 0.00   Min.   :2015-01-04 00:00:00.0        
 1st Qu.:10.00   1st Qu.:2015-10-25 00:00:00.0        
 Median :24.00   Median :2016-08-14 00:00:00.0        
 Mean   :24.23   Mean   :2016-08-13 23:30:43.5        
 3rd Qu.:38.00   3rd Qu.:2017-06-04 00:00:00.0        
 Max.   :52.00   Max.   :2018-03-25 00:00:00.0        
 AveragePrice       (PRECIO PROMEDIO)
 Min.   :0.440                       
 1st Qu.:1.100                       
 Median :1.370                       
 Mean   :1.406                       
 3rd Qu.:1.660                       
 Max.   :3.250                       
 Total Volume      (NUMERO TOTAL DE AGUACATES VENDIDOS)
 Min.   :      85                                      
 1st Qu.:   10839                                      
 Median :  107377                                      
 Mean   :  850644                                      
 3rd Qu.:  432962                                      
 Max.   :62505647                                      
 NUMERO TOTAL DE AGUACATE CON PLU 4046-PEQUEÑO VENDIDOS
 Min.   :       0                                      
 1st Qu.:     854                                      
 Median :    8645                                      
 Mean   :  293008                                      
 3rd Qu.:  111020                                      
 Max.   :22743616                                      
 NUMERO TOTAL DE AGUACATE CON PLU 4225-LARGO VENDIDOS
 Min.   :       0                                    
 1st Qu.:    3009                                    
 Median :   29061                                    
 Mean   :  295155                                    
 3rd Qu.:  150207                                    
 Max.   :20470573                                    
 NUMERO TOTAL DE AGUACATE CON PLU 4770-GRANDE VENDIDOS
 Min.   :      0                                      
 1st Qu.:      0                                      
 Median :    185                                      
 Mean   :  22840                                      
 3rd Qu.:   6243                                      
 Max.   :2546439                                      
 Total Bags  (BOLSAS TOTALES) Small Bags (BOLSAS PEQUEÑAS)
 Min.   :       0             Min.   :       0            
 1st Qu.:    5089             1st Qu.:    2849            
 Median :   39744             Median :   26363            
 Mean   :  239639             Mean   :  182195            
 3rd Qu.:  110783             3rd Qu.:   83338            
 Max.   :19373134             Max.   :13384587            
 Large Bags  (BOLSAS GRANDES) XLarge Bags (BOLSAS EXTRAGRANDES)
 Min.   :      0              Min.   :     0.0                 
 1st Qu.:    127              1st Qu.:     0.0                 
 Median :   2648              Median :     0.0                 
 Mean   :  54338              Mean   :  3106.4                 
 3rd Qu.:  22029              3rd Qu.:   132.5                 
 Max.   :5719097              Max.   :551693.7                 
 type (TIPO)          year (AÑO)   region (REGION)   
 Length:18249       Min.   :2015   Length:18249      
 Class :character   1st Qu.:2015   Class :character  
 Mode  :character   Median :2016   Mode  :character  
                    Mean   :2016                     
                    3rd Qu.:2017                     
                    Max.   :2018                     
    str(Caso_Aguacate_xls_frame)
'data.frame':   18249 obs. of  14 variables:
 $ INDICE                                                : num  0 1 2 3 4 5 6 7 8 9 ...
 $ Date           (FECHA DE OBSERVACION)                 : POSIXct, format: "2015-12-27" "2015-12-20" ...
 $ AveragePrice       (PRECIO PROMEDIO)                  : num  1.33 1.35 0.93 1.08 1.28 1.26 0.99 0.98 1.02 1.07 ...
 $ Total Volume      (NUMERO TOTAL DE AGUACATES VENDIDOS): num  64237 54877 118220 78992 51040 ...
 $ NUMERO TOTAL DE AGUACATE CON PLU 4046-PEQUEÑO VENDIDOS: num  1037 674 795 1132 941 ...
 $ NUMERO TOTAL DE AGUACATE CON PLU 4225-LARGO VENDIDOS  : num  54455 44639 109150 71976 43838 ...
 $ NUMERO TOTAL DE AGUACATE CON PLU 4770-GRANDE VENDIDOS : num  48 58 131 73 76 44 93 80 85 113 ...
 $ Total Bags  (BOLSAS TOTALES)                          : num  8697 9506 8145 5811 6184 ...
 $ Small Bags (BOLSAS PEQUEÑAS)                          : num  8604 9408 8042 5677 5986 ...
 $ Large Bags  (BOLSAS GRANDES)                          : num  93 97 103 134 198 127 122 562 284 564 ...
 $ XLarge Bags (BOLSAS EXTRAGRANDES)                     : num  0 0 0 0 0 0 0 0 0 0 ...
 $ type (TIPO)                                           : chr  "conventional" "conventional" "conventional" "conventional" ...
 $ year (AÑO)                                            : num  2015 2015 2015 2015 2015 ...
 $ region (REGION)                                       : chr  "Albany" "Albany" "Albany" "Albany" ...

♔CREAMOS TABLAS DE ENTRENAMIENTO Y DE PRUEBA

filas_para_entrenar <- sample(1:18249, 18200)
    ENTRENAMIENTO1 <- Caso_Aguacate_xls_frame[filas_para_entrenar,]
    PRUEBA1 <- Caso_Aguacate_xls_frame[-filas_para_entrenar,]
    
    dim(Caso_Aguacate_xls_frame)
[1] 18249    14
   dim(ENTRENAMIENTO1) 
[1] 18200    14
   dim(PRUEBA1) 
[1] 49 14

♔GENERAMOS FORMATO DE PRUEBA

Note
Important
  • ¿QUIERES GUARDAR TU BASE DE DATOS Y NO SABES COMO?

    Important
    • Important

      write.csv nos permite guardar en un formato csv la base de datos de prueba creada anteriormente.

      dentro del write.csv colocamos el nombre que se le asigno a la base de datos y seguido de una "," la direccion de la carpeta donde quieres guardar.

#write.csv(PRUEBA1,"C:/Users/–/Desktop/TRABAJO FINAL SOFTWARE/PRUEBA1.csv")

🥑Prueba de hipótesis - T-Student▼

NORMALIDAD:

#Antes de utilizar prueba t-student (probar la normalidad)
   
   # Prueba de Normalidad
   # H0 : El precio promedio del aguacate  tiene una Distribución Normal.
   # H1 : El precio promedio del aguacate no tiene una Distribución Normal.
   
   library(dplyr)
   # Shapiro-Wilk
   shapiro.test(PRUEBA1$`AveragePrice       (PRECIO PROMEDIO)`)

    Shapiro-Wilk normality test

data:  PRUEBA1$`AveragePrice       (PRECIO PROMEDIO)`
W = 0.91486, p-value = 0.001743
   #_______________________________________________________
   # Regla:
   # P-valor < alfa (si se cumple), entonces rechazamos Ho
   #_______________________________________________________

🥑Prueba de Kolmogov-Smirnov

ks.test(PRUEBA1$`AveragePrice       (PRECIO PROMEDIO)`, "pnorm", mean(PRUEBA1$`AveragePrice       (PRECIO PROMEDIO)`,sd(PRUEBA1$`AveragePrice       (PRECIO PROMEDIO)`)))

    Asymptotic one-sample Kolmogorov-Smirnov test

data:  PRUEBA1$`AveragePrice       (PRECIO PROMEDIO)`
D = 0.30873, p-value = 0.0001756
alternative hypothesis: two-sided

🥑Prueba de Lilliefors

 library(nortest)
   lillie.test(ENTRENAMIENTO1$`AveragePrice       (PRECIO PROMEDIO)`)

    Lilliefors (Kolmogorov-Smirnov) normality test

data:  ENTRENAMIENTO1$`AveragePrice       (PRECIO PROMEDIO)`
D = 0.051688, p-value < 2.2e-16

🥑Prueba de Anderson Darling

# library(nortest)
   ad.test(ENTRENAMIENTO1$`AveragePrice       (PRECIO PROMEDIO)`)

    Anderson-Darling normality test

data:  ENTRENAMIENTO1$`AveragePrice       (PRECIO PROMEDIO)`
A = 79.39, p-value < 2.2e-16

🥑Prueba de D'Agostino

 library(moments)
   agostino.test(ENTRENAMIENTO1$`AveragePrice       (PRECIO PROMEDIO)`)

    D'Agostino skewness test

data:  ENTRENAMIENTO1$`AveragePrice       (PRECIO PROMEDIO)`
skew = 0.57955, z = 29.72460, p-value < 2.2e-16
alternative hypothesis: data have a skewness

🥑Prueba de Cramer Von Mises

library(nortest)
   cvm.test(ENTRENAMIENTO1$`AveragePrice       (PRECIO PROMEDIO)`)
Warning in cvm.test(ENTRENAMIENTO1$`AveragePrice (PRECIO PROMEDIO)`): p-value is
smaller than 7.37e-10, cannot be computed more accurately

    Cramer-von Mises normality test

data:  ENTRENAMIENTO1$`AveragePrice       (PRECIO PROMEDIO)`
W = 11.966, p-value = 7.37e-10

🥑Prueba de Jarque Bera

library(moments)
   jarque.test(ENTRENAMIENTO1$`AveragePrice       (PRECIO PROMEDIO)`)

    Jarque-Bera Normality Test

data:  ENTRENAMIENTO1$`AveragePrice       (PRECIO PROMEDIO)`
JB = 1095.4, p-value < 2.2e-16
alternative hypothesis: greater

🥑Como se comprobó la normalidad entonces utilizamos t-student

# tiene que comprobarse primero la normalidad en este caso no es normal
   
   # Paso 3:
   # Prueba t-student
   t.test(ENTRENAMIENTO1$`AveragePrice       (PRECIO PROMEDIO)`, alternative = "two.sided", mu = 2)

    One Sample t-test

data:  ENTRENAMIENTO1$`AveragePrice       (PRECIO PROMEDIO)`
t = -198.99, df = 18199, p-value < 2.2e-16
alternative hypothesis: true mean is not equal to 2
95 percent confidence interval:
 1.400048 1.411751
sample estimates:
mean of x 
 1.405899 
   # data:  caso
   #  p-value < 2.2e-16 , por lo tanto
   # SE RECHAZA LA HIPÓTESIS NULA
   # Según evidencia estadística, la media de los precios promedios no ha cambiado

MANUALMENTE

 t_calc <- (mean(ENTRENAMIENTO1$`AveragePrice       (PRECIO PROMEDIO)`)-2)/(sd(ENTRENAMIENTO1$`AveragePrice       (PRECIO PROMEDIO)`)/sqrt(length(ENTRENAMIENTO1$`AveragePrice       (PRECIO PROMEDIO)`)))
   t_calc
[1] -198.9927
   # Valor crítico
   qt(0.025,length(ENTRENAMIENTO1$`AveragePrice       (PRECIO PROMEDIO)`)-1)
[1] -1.960094

—-T-Student muestras relacionadas—-

# Importando los datos de excel
   #library(readxl)
   #Caso_Aguacate_xls<-read_excel("avocado.csv..xlsx")
   
   # Es conveniente transformarlo a dataFrame
   #Caso_Aguacate_xls_frame <- as.data.frame(Caso_Aguacate_xls)
   #head(Caso_Aguacate_xls_frame)

🥑Generar las diferencias

 PRUEBA1$Direfencia <- PRUEBA1$`Total Volume      (NUMERO TOTAL DE AGUACATES VENDIDOS)`- PRUEBA1$`NUMERO TOTAL DE AGUACATE CON PLU 4046-PEQUEÑO VENDIDOS`
   
  
   # diferencias <- caso1$Después-caso1$Antes
   # Prueba de normalidad para las diferencias
   
   # H0 : Las diferencias de ventas tiene una Distribución Normal.
   # H1 : Las diferencias de ventas no tiene una Distribución Normal.
   library(dplyr)
   # Shapiro-Wilk
   shapiro.test(PRUEBA1$Direfencia)

    Shapiro-Wilk normality test

data:  PRUEBA1$Direfencia
W = 0.49173, p-value = 8.652e-12
   # si es  < 0.05,  se rechaza Ho
   # Las diferencias de puntajes no tiene una Distribución Normal.
   
   # Hipótesis
   # Ho: mu_dif <= 0
   # H1: mu_dif > 0
   
   # Nivel de sig. = 0.05
   
   # Estadístico t para muestras relacionadas ("two.sided", "less", "greater")
   # Forma 1
   t.test(PRUEBA1$Direfencia, alternative = "greater", mu= 0)

    One Sample t-test

data:  PRUEBA1$Direfencia
t = 3.5307, df = 48, p-value = 0.0004631
alternative hypothesis: true mean is greater than 0
95 percent confidence interval:
 159962.5      Inf
sample estimates:
mean of x 
 304715.4 
   # si es  < 0.05, por lo tanto
   # Se rechaza la hipótesis nula

IMPORTAR ARCHIVO EXCEL

library(readxl)
   
   c_t1 <- read_excel("cantidad_typo(1).xlsx")
   
    
   # Forma 2
   t.test(c_t1$conventional,c_t1$organic, paired = TRUE, alternative = "g", mu=0)

    Paired t-test

data:  c_t1$conventional and c_t1$organic
t = 2.3663, df = 17, p-value = 0.01505
alternative hypothesis: true mean difference is greater than 0
95 percent confidence interval:
 234352.6      Inf
sample estimates:
mean difference 
       884858.5 

Prueba de normalidad para los grupos

 # H0 : Los puntajes tiene una Distribución Normal.
   # H1 : Los puntajes no tiene una Distribución Normal.
   
   # Grupo A
   library(dplyr)
   # Shapiro-Wilk
   shapiro.test(c_t1$conventional)

    Shapiro-Wilk normality test

data:  c_t1$conventional
W = 0.5386, p-value = 1.767e-06
   # W = 0.5386, p-value = 1.767e-06
   # Los puntajes no tiene una Distribución Normal.
   # Grupo B
   shapiro.test(c_t1$organic)

    Shapiro-Wilk normality test

data:  c_t1$organic
W = 0.37072, p-value = 1.952e-10
   # W = 0.37072, p-value = 1.952e-10
   # Los puntajes no tiene una Distribución Normal.

Homogeneidad de varianzas

c_t <- read_excel("cantidad_typo.xlsx")
   # Pasar a un data frame
   c_tF<-as.data.frame(c_t)
   head(c_tF)
   type (TIPO) Total Volume      (NUMERO TOTAL DE AGUACATES VENDIDOS)
1 conventional                                                 747841
2 conventional                                                 450603
3 conventional                                                 191078
4 conventional                                                 841724
5 conventional                                                 466120
6 conventional                                                 289680
   # Prueba de Levenne
   library(car)
   head(c_tF)
   type (TIPO) Total Volume      (NUMERO TOTAL DE AGUACATES VENDIDOS)
1 conventional                                                 747841
2 conventional                                                 450603
3 conventional                                                 191078
4 conventional                                                 841724
5 conventional                                                 466120
6 conventional                                                 289680
   leveneTest(y=c_tF$`Total Volume      (NUMERO TOTAL DE AGUACATES VENDIDOS)`, group=c_tF$`type (TIPO)`, center="mean")
Levene's Test for Homogeneity of Variance (center = "mean")
      Df F value   Pr(>F)    
group  1  13.704 0.000561 ***
      47                     
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
   #group  1  13.704 0.000561 < 0.05

Prueba de Bartlett

bartlett.test(c_tF$`Total Volume      (NUMERO TOTAL DE AGUACATES VENDIDOS)` ~ c_tF$`type (TIPO)`)

    Bartlett test of homogeneity of variances

data:  c_tF$`Total Volume      (NUMERO TOTAL DE AGUACATES VENDIDOS)` by c_tF$`type (TIPO)`
Bartlett's K-squared = 104.93, df = 1, p-value < 2.2e-16
   # Bartlett's K-squared = 104.93, df = 1, p-value < 2.2e-16
   # Las varianzas no son iguales
   
   # Queremos saber con un nivel de significancia de 0,05 si existe 
   # diferencia entre la media de los dos grupos.
   
   # Hipótesis
   # Ho: mu_A = mu_B
   # H1: mu_A != mu_B
   
   # Nivel de significancia = 0.05

Estadistico t para muestras independientes

t.test(c_t1$conventional,c_t1$organic, paired = FALSE, mu=0, var.equal = TRUE,
          alternative = "two.sided")

    Two Sample t-test

data:  c_t1$conventional and c_t1$organic
t = 3.185, df = 47, p-value = 0.002571
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
  329322.5 1458696.8
sample estimates:
mean of x mean of y 
939254.50  45244.84 
   # t = 3.185, df = 47, p-value = 0.002571 < 0.05, por lo tanto rechazo Ho
   # Hay evidencia estadística suficiente para decir que las medias son diferentes