data <- NCI60
data1 <- data.frame(t(data$data))
names <- data$labs
colnames(data1) <- names
a <- which(names=="LEUKEMIA")
data.nueva <- data1[,a]

Al importar la base de datos, obtenemos la data que contiene 6830 observaciones y 6 variable diferentes que explican la Leukemia. Más adelante se presentarán diferentes métodos para explicar y realizar diferentes pruebas a estos datos.

#1. Deben presentar por lo menos 2 gráficos que ayuden a explicar un poco su respectiva base de datos.

  1. Gráfica de dispersión y correlación
ggpairs(data.nueva)

En el gráfico de dispersión y correlación podemos determinar mediante los histogramas que la distribución entre las variables parece ser bastante centrada o normalizada. En las gráficas de dispersión los puntos están mayormente distribuidos uniformemente lo que indica que no hay muchos valores atípicos. Sin embargo, resaltan los puntos entre las variables LEUKEMIA 3 y LEUKEMIA 4 ya que tienen una pendiente claramente ascendente donde los puntos tienden a moverse hacia arriba. Por otro lado, en los gráficos entre LEUKEMIA 1 y LEUKEMIA 2 podemos analizar que los datos de las dos variables están cerca de la media, esto ya que los puntos se encuentran bastante agrupados en el centro. Por último, los valores de la correlación varían entre 0.191 y 0.755. La correlación más alta es entre las variables LEUKEMIA 3 y LEUKEMIA 4 mientras que la correlación más baja se encuentra entre LEUKEMIA y LEUKEMIA 5.

  1. Histograma
multi.hist(x = data.nueva, dcol = c("blue", "red"))

Una vez realizamos los histogramas, se puede observar que la mayoría de los mismos tienen una distribucion bastante normal, pero aun asi la normalidad no es tan fluida como debe ser, podemos observar esto en los valores máximos ya que forman un pico más alto de lo habitual para una muestra normal. Al ocurrir esto podemos realizar pruebas a los datos tanto univariados como multivariados.

#2. Deben realizar el análisis univariado y multivariado de las variables correspondientes

#Pruebas de normalidad univariada

  1. Cramer-Von Mises
CVM <- mvn(data.nueva, univariateTest = "CVM",desc=T)
CVM$univariateNormality
##               Test   Variable Statistic   p value Normality
## 1 Cramer-von Mises  LEUKEMIA    19.1558  <0.001      NO    
## 2 Cramer-von Mises LEUKEMIA.1   28.6203  <0.001      NO    
## 3 Cramer-von Mises LEUKEMIA.2   14.8990  <0.001      NO    
## 4 Cramer-von Mises LEUKEMIA.3   24.0805  <0.001      NO    
## 5 Cramer-von Mises LEUKEMIA.4   33.2543  <0.001      NO    
## 6 Cramer-von Mises LEUKEMIA.5   33.9233  <0.001      NO

Con esta prueba podemos observar que ninguna de las variables es normal.

  1. Lilliefors (correccion de Kolmogorov)
L <- mvn(data.nueva, univariateTest = "Lillie",desc=T)
L$univariateNormality
##                              Test   Variable Statistic   p value Normality
## 1 Lilliefors (Kolmogorov-Smirnov)  LEUKEMIA     0.0741  <0.001      NO    
## 2 Lilliefors (Kolmogorov-Smirnov) LEUKEMIA.1    0.0973  <0.001      NO    
## 3 Lilliefors (Kolmogorov-Smirnov) LEUKEMIA.2    0.0688  <0.001      NO    
## 4 Lilliefors (Kolmogorov-Smirnov) LEUKEMIA.3    0.1044  <0.001      NO    
## 5 Lilliefors (Kolmogorov-Smirnov) LEUKEMIA.4    0.1182  <0.001      NO    
## 6 Lilliefors (Kolmogorov-Smirnov) LEUKEMIA.5    0.1070  <0.001      NO

Igual que la prueba anterior, podemos observar que ninguna de las variables cumplen con el supuesto de normalidad.

  1. Anderson Darling
AD <- mvn(data.nueva, univariateTest = "AD",desc=T)
AD$univariateNormality
##               Test   Variable Statistic   p value Normality
## 1 Anderson-Darling  LEUKEMIA   112.6447  <0.001      NO    
## 2 Anderson-Darling LEUKEMIA.1  166.2628  <0.001      NO    
## 3 Anderson-Darling LEUKEMIA.2   90.1016  <0.001      NO    
## 4 Anderson-Darling LEUKEMIA.3  135.3628  <0.001      NO    
## 5 Anderson-Darling LEUKEMIA.4  186.6731  <0.001      NO    
## 6 Anderson-Darling LEUKEMIA.5  188.2191  <0.001      NO

Igual que las pruebas anteriores, podemos observar que ninguna de las variables cumplen con el supuesto de normalidad.

#Evaluación de la normal multivariada

  1. Mardia
Mardia <- mvn(data.nueva, mvnTest = "mardia")
Mardia$multivariateNormality
##              Test        Statistic p value Result
## 1 Mardia Skewness  7834.9408078001       0     NO
## 2 Mardia Kurtosis 348.731100353133       0     NO
## 3             MVN             <NA>    <NA>     NO

Comenzando las pruebas de normalidad multivariadas podemos observar que no es considerada normal en esta prueba.

  1. Henze-Zirkler
HZ <- mvn(data.nueva, mvnTest = "hz")
HZ$multivariateNormality
##            Test       HZ p value MVN
## 1 Henze-Zirkler 53.18434       0  NO

En esta segunda prueba, de igual manera, llegamos a la conclusion que los datos no son normales.

Al finalizar todas las pruebas de normalidad tanto univariada como multivariada podemos concluir que hay los datos no cumplen con el supuesto de normalidad en las pruebas. Por el tamaño de los datos hay ciertas pruebas que no se pueden realizar ya que los mismos se exceden del requisito necesario para poder llevar a cabo las pruebas de manera eficiente.

#3.Deben proponer por lo menos 3 pruebas de hipótesis de las trabajadas en clase

#1. Esfericidad

Prueba

  1. H0: Variables son independientes Ha: Variables no son independientes

  2. α = 0.05

Información del problema

n        <- 6830
p        <- 6

Matriz de covarianza muestral

S <- cov(data.nueva)
S
##             LEUKEMIA LEUKEMIA.1 LEUKEMIA.2 LEUKEMIA.3 LEUKEMIA.4 LEUKEMIA.5
## LEUKEMIA   0.6665271  0.2275691  0.2687147  0.2032585  0.2096526  0.1524974
## LEUKEMIA.1 0.2275691  0.9357423  0.3855018  0.3644464  0.3374698  0.2179712
## LEUKEMIA.2 0.2687147  0.3855018  0.8116926  0.4906354  0.4596969  0.2507030
## LEUKEMIA.3 0.2032585  0.3644464  0.4906354  1.1813108  0.8500895  0.3407668
## LEUKEMIA.4 0.2096526  0.3374698  0.4596969  0.8500895  1.0728122  0.3170256
## LEUKEMIA.5 0.1524974  0.2179712  0.2507030  0.3407668  0.3170256  0.9576000
round(S,2)
##            LEUKEMIA LEUKEMIA.1 LEUKEMIA.2 LEUKEMIA.3 LEUKEMIA.4 LEUKEMIA.5
## LEUKEMIA       0.67       0.23       0.27       0.20       0.21       0.15
## LEUKEMIA.1     0.23       0.94       0.39       0.36       0.34       0.22
## LEUKEMIA.2     0.27       0.39       0.81       0.49       0.46       0.25
## LEUKEMIA.3     0.20       0.36       0.49       1.18       0.85       0.34
## LEUKEMIA.4     0.21       0.34       0.46       0.85       1.07       0.32
## LEUKEMIA.5     0.15       0.22       0.25       0.34       0.32       0.96
  1. Calculamos el estadístico de prueba
sigma_est  <- sum(diag(S))/p
lambda_0   <- (n-1)*(log(sigma_est)-log(det(S)))
lambda_0 
## [1] 14799.47

Calculamos el valor crítico

a          <-  0.05
gl         <- (1/2)*(p+2)*(p-1)
lambda_c   <- qchisq(1-a,gl)
lambda_c
## [1] 31.41043
  1. Decisión: Como lambda_0 es mayor que lambda_c, se rechaza la hipótesis nula, es decir que las variables no son independientes y no tienen una varianza común.

#2. Prueba de hipótesis para un vector de medias

Prueba: 1. H0: μ = (0.50,0.1,0.1,0.2,0.2,0.1) = μ0 Ha: μ no es igual a μ0

  1. alpha = 0.05. Como la matriz de covarianza de sigma es desconocida, se utilizará el caso 2, con la ayuda de la distribución T^2 de Hotelling

Información del problema

N        <- 6830
p        <- 6
mu       <- apply(data.nueva,2,mean)

# muestra
n            <- 500
set.seed(1234)
muestra      <- sample(1:N,n,replace = F)
data_muestra <- data.nueva[muestra,]
xbar          <- apply(data_muestra,2,mean)      

Vector de medias específico a probar

mu0   <- as.vector(c(0.50,0.8,0.7,1,1,0.9))

Vector de medias muestral

xbar  <- as.vector(apply(data.nueva,2,mean))

Matriz de covarianza muestral

S <- cov(data.nueva)
S
##             LEUKEMIA LEUKEMIA.1 LEUKEMIA.2 LEUKEMIA.3 LEUKEMIA.4 LEUKEMIA.5
## LEUKEMIA   0.6665271  0.2275691  0.2687147  0.2032585  0.2096526  0.1524974
## LEUKEMIA.1 0.2275691  0.9357423  0.3855018  0.3644464  0.3374698  0.2179712
## LEUKEMIA.2 0.2687147  0.3855018  0.8116926  0.4906354  0.4596969  0.2507030
## LEUKEMIA.3 0.2032585  0.3644464  0.4906354  1.1813108  0.8500895  0.3407668
## LEUKEMIA.4 0.2096526  0.3374698  0.4596969  0.8500895  1.0728122  0.3170256
## LEUKEMIA.5 0.1524974  0.2179712  0.2507030  0.3407668  0.3170256  0.9576000
round(S,2)
##            LEUKEMIA LEUKEMIA.1 LEUKEMIA.2 LEUKEMIA.3 LEUKEMIA.4 LEUKEMIA.5
## LEUKEMIA       0.67       0.23       0.27       0.20       0.21       0.15
## LEUKEMIA.1     0.23       0.94       0.39       0.36       0.34       0.22
## LEUKEMIA.2     0.27       0.39       0.81       0.49       0.46       0.25
## LEUKEMIA.3     0.20       0.36       0.49       1.18       0.85       0.34
## LEUKEMIA.4     0.21       0.34       0.46       0.85       1.07       0.32
## LEUKEMIA.5     0.15       0.22       0.25       0.34       0.32       0.96
  1. Encontrar valor crítico
X0   <- n*t((xbar-mu0)) %*% solve(S) %*% (xbar-mu0)
round(X0,2)
##        [,1]
## [1,] 973.43
a     <- 0.05
Xc    <- qchisq(1-a,2)
round(Xc,2)
## [1] 5.99
p_value <- 1-pchisq(X0,2)
p_value
##      [,1]
## [1,]    0
  1. Decisión: Como α = 0.05 > p-value, rechazamos la hipótesis nula, es decir, no podemos probar que el vector de medias muestrales es similar a μ = (0.50,0.1,0.1,0.2,0.2,0.1) = μ0.

#3. Independencia

Prueba:

  1. H0: Variables son independientes Ha: Variables no son independientes

  2. α = 0.05

Información del problema

n        <- 6830
p        <- 6

Matriz de covarianza muestral

Sigma <- cov(data.nueva)
S     <- cov(data_muestra)

round(S,2)
##            LEUKEMIA LEUKEMIA.1 LEUKEMIA.2 LEUKEMIA.3 LEUKEMIA.4 LEUKEMIA.5
## LEUKEMIA       0.62       0.18       0.21       0.17       0.12       0.09
## LEUKEMIA.1     0.18       1.02       0.34       0.27       0.28       0.08
## LEUKEMIA.2     0.21       0.34       0.74       0.48       0.43       0.19
## LEUKEMIA.3     0.17       0.27       0.48       1.16       0.77       0.28
## LEUKEMIA.4     0.12       0.28       0.43       0.77       0.99       0.22
## LEUKEMIA.5     0.09       0.08       0.19       0.28       0.22       0.84

Matriz de covarianza fija

valores_diagonales <- c(0.67, 0.94, 0.81, 1.18, 1.07, 0.96)

Sigma0 <- diag(valores_diagonales)
Sigma0
##      [,1] [,2] [,3] [,4] [,5] [,6]
## [1,] 0.67 0.00 0.00 0.00 0.00 0.00
## [2,] 0.00 0.94 0.00 0.00 0.00 0.00
## [3,] 0.00 0.00 0.81 0.00 0.00 0.00
## [4,] 0.00 0.00 0.00 1.18 0.00 0.00
## [5,] 0.00 0.00 0.00 0.00 1.07 0.00
## [6,] 0.00 0.00 0.00 0.00 0.00 0.96
  1. Calculamos el estadístico de prueba
Propios    <- eigen(S%*%solve(Sigma0))
val_prop   <- Propios$values
val_prop 
## [1] 2.5002933 0.9826598 0.8044264 0.7032216 0.4510180 0.2665968
lambda_0   <- -(n-1)*sum(log(val_prop))
lambda_0 
## [1] 12217.49

Calculamos el valor crítico

a          <-  0.05
gl         <- (1/2)*p*(p-1)
lambda_c   <- qchisq(1-a,gl)
lambda_c
## [1] 24.99579
  1. Decisión: Como lambda_0 es mayor que lambda_c, se rechaza la hipótesis nula, es decir que las variables no son independientes.