V de Cramer: Se define como la medida de longitud entre dos variables nominales dadas. Una variable nominal es un tipo de escala de medición de datos que se utiliza para categorizar los diferentes tipos de datos. La V de Cramer se encuentra entre 0 y 1 (ambos inclusive). 0 indica que las dos variables no están unidas por ninguna relación. 1 indica que existe una fuerte asociación entre las dos variables. La V de Cramer se puede calcular utilizando la siguiente fórmula:
√(X 2 /N) / min(C-1, R-1)
Aquí,
- X 2 : Es el estadístico Chi-cuadrado
- N: Representa el tamaño total de la muestra
- R: Es igual al número de filas
- C: Es igual al número de columnas
Ejemplo 1:
Calculemos la V de Cramer para una tabla de 3 × 3.
Python3
# Load necessary packages and functions import scipy.stats as stats import numpy as np # Make a 3 x 3 table dataset = np.array([[13, 17, 11], [4, 6, 9], [20, 31, 42]]) # Finding Chi-squared test statistic, # sample size, and minimum of rows # and columns X2 = stats.chi2_contingency(dataset, correction=False)[0] N = np.sum(dataset) minimum_dimension = min(dataset.shape)-1 # Calculate Cramer's V result = np.sqrt((X2/N) / minimum_dimension) # Print the result print(result)
Producción:
El Cramers V resulta ser igual a 0,121, lo que muestra claramente la débil asociación entre las dos variables en la tabla.
Ejemplo 2:
Ahora calcularemos la V de Cramer para tablas más grandes y que tengan dimensiones desiguales. El Cramers V resulta ser igual a 0,12, lo que muestra claramente la débil asociación entre las dos variables en la tabla.
Python3
# Load necessary packages and functions import scipy.stats as stats import numpy as np # Make a 5 x 4 table dataset = np.array([[4, 13, 17, 11], [4, 6, 9, 12], [2, 7, 4, 2], [5, 13, 10, 12], [5, 6, 14, 12]]) # Finding Chi-squared test statistic, # sample size, and minimum of rows and # columns X2 = stats.chi2_contingency(dataset, correction=False)[0] N = np.sum(dataset) minimum_dimension = min(dataset.shape)-1 # Calculate Cramer's V result = np.sqrt((X2/N) / minimum_dimension) # Print the result print(result)
Producción:
El Cramers V resulta ser igual a 0,146, lo que muestra claramente la débil asociación entre las dos variables en la tabla.