Validación de datos

Se crea en una lista que contiene el resumen del método DP2 para todos los años

for(i in tablas){
List_DP2 <- mget(paste0("ind_", tablas))
}

Orden de entrada de las variables

Se crea un data.frame de acuerdo al orden de importancia de las variables para todos los años
Dependiendo del proceso, el DP2 adoptará diferentes valores. Por lo tanto, es importante que el método de como resultado un orden de entrada único de los indicadores parciales.

Variables_sort <- NULL
for(i in 1:2){
Variables_sort[i] <- as.data.frame(lapply(List_DP2, function(x) get(paste0("ind_", tablas[i]))$variables_sort))
}

Variables_sort <- do.call(cbind.data.frame, Variables_sort)
colnames(Variables_sort) <- c("2010", "2020")
Variables sort
2010 2020
SBASC SBASC
OVSREF OVSREF
OVHAC OVHAC
OVPT OVSINT
OVSINT OVPT
OVSCEL OVSCEL
P6A14NAE OVSAE
OVSAE OVSDE
OVSDE OVSEE
PSDSS P6A14NAE
OVSEE PSDSS

Coeficiente de correlación

El coeficiente de correlación es una medida que se utiliza para jerarquizar a los indicadores simples de acuerdo con el grado de correlación absoluta con respecto al indicador sintético resultante, es decir, ayuda a visualizar que variable tiene un mejor o peor apego con el fenómeno.

Se crea un data.frame de acuerdo a la correlación de cada variable con el indicador sintético (DP2) para todos los años

cor.coeff <- NULL
cor.coeff <- lapply(1:2, function(i) data.frame(rownames(get(paste0("ind_", tablas[i]))[["cor.coeff"]]),
                                                get(paste0("ind_", tablas[i]))$cor.coeff))
cor.coeff <- do.call(cbind.data.frame, cor.coeff)
colnames(cor.coeff) <- c("Ind_2010", "2010", "Ind_2020", "2020")
Correlation Coefficient
Ind 2010 Ind 2020
P6A14NAE 0.601 P6A14NAE 0.440
SBASC 0.843 SBASC 0.803
PSDSS 0.555 PSDSS 0.423
OVSDE 0.575 OVSDE 0.514
OVSEE 0.513 OVSEE 0.470
OVSAE 0.597 OVSAE 0.524
OVPT 0.736 OVPT 0.703
OVHAC 0.794 OVHAC 0.749
OVSREF 0.817 OVSREF 0.776
OVSINT 0.709 OVSINT 0.742
OVSCEL 0.706 OVSCEL 0.609

Factor de corrector

El factor corrector, como se mencionó anteriormente, indica la proporción de información con la que contribuye el indicador simple al nuevo índice sintético, además, evita la duplicidad e incorpora información útil que retiene cada indicador simple.

Se crea un data.frame de acuerdo al factor corrector de cada indicador parcial para todos los años

correction_factors <- NULL
for(i in 1:2){
correction_factors[i] <- as.data.frame(lapply(List_DP2, function(x) get(paste0("ind_", tablas[i]))$correction_factors))
}
###Intetar de pegar el nombre de la columna 
correction_factors <- do.call(cbind.data.frame, c(Variables_sort, correction_factors)) %>%
                        subset(., select = c(1, 3, 2, 4))
colnames(correction_factors) <- c("Ind_2010", "2010", "Ind_2020", "2020")
Correction Factors
Ind 2010 Ind 2020
SBASC 1.0000 SBASC 1.0000
OVSREF 0.6056 OVSREF 0.6477
OVHAC 0.3875 OVHAC 0.4435
OVPT 0.5929 OVSINT 0.3192
OVSINT 0.2769 OVPT 0.6430
OVSCEL 0.3796 OVSCEL 0.5589
P6A14NAE 0.6595 OVSAE 0.7775
OVSAE 0.7412 OVSDE 0.8251
OVSDE 0.7544 OVSEE 0.8123
PSDSS 0.7398 P6A14NAE 0.8848
OVSEE 0.6849 PSDSS 0.8629

Coeficiente de Discriminación

El coeficiente de discriminación de Ivanovic mide el poder discriminante de la variable \(j\) en el conjunto de observaciones \(i\).

\[CD_{j}=\frac{2}{m\left(m-1\right)}\sum_{i,l>i}^{k_{j}}m_{ij}m_{lj}\left|\frac{x_{ij}-x_{lj}}{{\overline{X}}_{i}}\right|\]

donde:

\(\circ\:m_{ij}\): El número de observaciones de la variable \(x_{j}\)
\(\circ\:k_{j}\): El número de diferentes valores que toma \(x_{i}\) en el conjunto \(j\).

Esta medida está comprendida entre \([0, 2]\). Si una variable toma el mismo valor para todos los estados, el CD vale cero, indicando que posee un valor nulo de poder discriminante. Por el contrario, si una variable toma el valor teórico de máximo poder discriminante, el discriminante de la variable es total.

Se crea un data.frame de acuerdo al Coeficiente de discriminación (CD) de cada indicador parcial para todos los años

discrimination_coefficient <- NULL
discrimination_coefficient <- lapply(1:2, function(i) data.frame(names(get(paste0("ind_",  tablas[i]))[["discrimination.coefficient"]]),
                                                                 get(paste0("ind_", tablas[i]))$discrimination.coefficient))

discrimination_coefficient <- do.call(cbind.data.frame, discrimination_coefficient)
colnames(discrimination_coefficient) <- c("Ind_2010", "2010", "Ind_2020", "2020")
Discrimination Coefficient
Ind 2010 Ind 2020
P6A14NAE 0.831 P6A14NAE 0.832
SBASC 0.532 SBASC 0.610
PSDSS 0.492 PSDSS 0.505
OVSDE 1.697 OVSDE 1.779
OVSEE 1.705 OVSEE 1.755
OVSAE 1.605 OVSAE 1.776
OVPT 1.347 OVPT 1.486
OVHAC 0.602 OVHAC 0.644
OVSREF 1.147 OVSREF 1.180
OVSINT 0.307 OVSINT 0.650
OVSCEL 0.757 OVSCEL 0.879

“Cantidad de Información Global de Ivanovic Pena Relativa Individual”

\[\alpha_{i}=\frac{CD_{i}\left(1-R^{2}_{i,i-1,...,1} \right)}{\sum_{i=1}^{n}CD_{i} \left(1-R^{2}_{i,i-1,...,1} \right)}\] Esta medida, comprendida entre 0 y 1, combina la información útil y el poder discriminante de cada indicador simple y mide la cantidad de información (combinada) relativa que aporta individualmente cada indicador simple, cuando entra de forma ordenada a formar parte del indicador sintético DP2. La suma de todos los valores de \(\alpha_{i}\) es la unidad. [Zarsosa 1996, págs 158-174]

alpha <- NULL
for(i in 1:2){
alpha[[i]] <- sapply(1:length(Indicadores), function(x)(get(paste0("ind_", tablas[i]))[["correction_factors"]][x] * get(paste0("ind_", tablas[i]))[["discrimination.coefficient"]][x]) /                                                         sum(get(paste0("ind_", tablas[i]))[["correction_factors"]] * get(paste0("ind_", tablas[i]))[["discrimination.coefficient"]]))
}
Cantidad de Información Global de Ivanovic Pena Relativa Individual
Ind 2010 Ind 2020
SBASC 0.130 SBASC 0.102
OVSREF 0.051 OVSREF 0.049
OVHAC 0.030 OVHAC 0.028
OVPT 0.158 OVSINT 0.070
OVSINT 0.074 OVPT 0.139
OVSCEL 0.096 OVSCEL 0.122
P6A14NAE 0.139 OVSAE 0.142
OVSAE 0.070 OVSDE 0.065
OVSDE 0.136 OVSEE 0.118
PSDSS 0.036 P6A14NAE 0.071
OVSEE 0.081 PSDSS 0.093