title: “ANALISIS MULTIVARIADO” author: “GRUPO BECADI” date: “1/8/2019”
becadi<- function(datos) {
n<-nrow(datos)
k<-ncol(datos)
v.unos<-matrix(rep(1,n),ncol = 1) # Vector de unos
v.unos
v.medias<-(t (datos)%*% v.unos)/n # Vector de medias
v.medias
matriz.cov <-(t(datos)%*%(datos))/n- v.medias %*% t(v.medias) # Matriz de covarianzas
matriz.cov
D<-diag(c(1/sqrt(diag(matriz.cov))))
D
R<-D%*%matriz.cov%*%D # Matriz de correlacion
R
#Medidas globales de variabilidad :
vme<-(t(log(datos)))%*%v.unos/n #vector de medias estandarizado
vme
mce<-(t(log(datos)))%*%(log(datos))/n-vme%*%t(vme) #matriz de covarianzas estandarizado
mce
V.total<-sum(diag(mce)) # Varianza total
V.total
v.media<-V.total/k # Varianza media
v.media
V.G<-det(mce) # Varianza generalizada
V.G
V.E<-(V.G)^(1/k) # Varianza Efectiva
V.E
#Distancia de mahalanobis
X<-as.matrix(datos)
media<-colMeans(datos)
Inver.cov<-solve(matriz.cov)
Inver.cov
matriz.media<-matrix(media,nrow =n,ncol=k,byrow =TRUE)
dist.mahalanobis<-((X-matriz.media)%*%Inver.cov)%*%t(X-matriz.media)
#TES DE NORMALIDAD MULTIVARIADA
gl<-k*(k+1)*(k+2)/6
AMp<-sum((diag(dist.mahalanobis))^3)/n^2 # asimetria multivariada
KMp<-sum((diag(dist.mahalanobis))^2)/n #Kurtosis multivariada
# TEST multivariado de asimetria de mardia - muestras pequeñas
if(n<30){
c<-(n+1)*(n+3)*(k+1)/(n*((n+1)*(k+1)-6))
TAM<- n*c/6*AMp
valor_p1<-pchisq(TAM,gl,lower.tail = FALSE)
} else {
TAM<-n/6*AMp #TEST multivariado de asimetria de mardia - muestras grandes
valor_p1<-pchisq(TAM,gl,lower.tail = FALSE)
}
if (valor_p1<0.05){
test1<-"No Normalidad"
}else{
test1<-"Normalidad"
}
#TEST MULTIVARIADO DE KURTOSIS DE MARDIA
TKM<-(KMp-k*(k+2))*sqrt(n/(8*k*(k+2)))
TKM2<-TKM^2
valor_p2<-pchisq(TKM2,1,lower.tail = FALSE)
if (valor_p2<0.05){
test2<-"No Normalidad"
}else{
test2<-"Normalidad"
}
cat("------------------------------------------------------------------------------------","\n")
cat("Tratamiento Matricial","\n")
cat("------------------------------------------------------------------------------------","\n")
cat("Vector De Medias =",v.medias, "\n",
"Matriz De Covarianzas=", matriz.cov, "\n",
"Matriz De Correlacion=",R, "\n")
cat("------------------------------------------------------------------------------------","\n")
cat("Medidas Globales De Variabilidad","\n")
cat("------------------------------------------------------------------------------------","\n")
cat("Varianza Total=",V.total,"\n",
"Varianza Media=", v.media,"\n",
"Varianza Generalizada=",V.G,"\n",
"Varianza Especifica=",V.E,"\n")
cat("----------------------------------------------------------------------------------","\n")
cat("Distancia De Mahalanobis","\n")
cat("----------------------------------------------------------------------------------","\n")
cat("Distancia De Mahalanobis=",diag(dist.mahalanobis), "\n")
cat("----------------------------------------------------------------------------------","\n")
cat("TEST DE NORMALIDAD MULTIVARIADA", "\n")
cat("----------------------------------------------------------------------------------","\n")
cat("ASIMETRIA MULTIVARIADA=",AMp, "\n")
cat("KURTOSIS MULTIVARIADA=",KMp, "\n")
cat("----------------------------------------------------------------------------------","\n")
cat("TEST DE MARDIA ASIMETRIA - KURTOSIS", "\n")
cat("----------------------------------------------------------------------------------","\n")
df<-data.frame(Prueba=c("Prueba de Asimetria","Prueba de Kurtosis") ,Medida=c(AMp,KMp) ,Estadistico=c(TAM,TKM2) ,valor_p=c(valor_p1,valor_p2) ,conclusión=c(test1,test2))
df
}
## EJEMPLO :
##La siguiente base de datos contiene la información de una muestra de 14 cereales para consumo:
cereales<-matrix(c(38,1,100,2,34,1,120,2,21,1.5,110,12,23,1.5,110,9,23,1.5,110,8,51,2,180,17,28,2,220,2,28,1.5,140,2,27,1.3,130,8,28,1.25,130,8,19,1.25,110,6,23,1.2,100,3,24,1.5,150,5,16,1.2,100,3),byrow =TRUE,ncol =4)
cereales
## [,1] [,2] [,3] [,4]
## [1,] 38 1.00 100 2
## [2,] 34 1.00 120 2
## [3,] 21 1.50 110 12
## [4,] 23 1.50 110 9
## [5,] 23 1.50 110 8
## [6,] 51 2.00 180 17
## [7,] 28 2.00 220 2
## [8,] 28 1.50 140 2
## [9,] 27 1.30 130 8
## [10,] 28 1.25 130 8
## [11,] 19 1.25 110 6
## [12,] 23 1.20 100 3
## [13,] 24 1.50 150 5
## [14,] 16 1.20 100 3
becadi(cereales)
## ------------------------------------------------------------------------------------
## Tratamiento Matricial
## ------------------------------------------------------------------------------------
## Vector De Medias = 27.35714 1.407143 129.2857 6.214286
## Matriz De Covarianzas= 73.22959 0.7295918 123.8265 12.63776 0.7295918 0.08744898 8.005102 0.619898 123.8265 8.005102 1106.633 18.0102 12.63776 0.619898 18.0102 18.59694
## Matriz De Correlacion= 1 0.2883097 0.4349794 0.3424569 0.2883097 1 0.8137439 0.4860961 0.4349794 0.8137439 1 0.1255441 0.3424569 0.4860961 0.1255441 1
## ------------------------------------------------------------------------------------
## Medidas Globales De Variabilidad
## ------------------------------------------------------------------------------------
## Varianza Total= 0.6849484
## Varianza Media= 0.1712371
## Varianza Generalizada= 1.455937e-05
## Varianza Especifica= 0.06177114
## ----------------------------------------------------------------------------------
## Distancia De Mahalanobis
## ----------------------------------------------------------------------------------
## Distancia De Mahalanobis= 6.535034 4.568847 3.495424 2.21943 2.513294 10.84709 10.03363 3.001701 2.559174 3.791498 1.497059 1.724615 1.19491 2.01829
## ----------------------------------------------------------------------------------
## TEST DE NORMALIDAD MULTIVARIADA
## ----------------------------------------------------------------------------------
## ASIMETRIA MULTIVARIADA= 14.52595
## KURTOSIS MULTIVARIADA= 24.71618
## ----------------------------------------------------------------------------------
## TEST DE MARDIA ASIMETRIA - KURTOSIS
## ----------------------------------------------------------------------------------
## Prueba Medida Estadistico valor_p conclusión
## 1 Prueba de Asimetria 14.52595 44.73571990 0.001198223 No Normalidad
## 2 Prueba de Kurtosis 24.71618 0.03740018 0.846652566 Normalidad