correlación

Calculando el Coeficiente de correlación con Visual Basic

En esta entrada se va a mostrar cómo podemos calcular el coeficiente de correlación con Visual Basic. Hemos visto que podemos calcular el coeficiente de correlación de Excel con una función o bien a través de una de las opciones de la herramienta de análisis de datos. Podemos utilizar Visual Basic para calcularlo de ambas maneras.

Empezaremos con la función de Excel COEF.DE.CORREL(), para poderla representar en Visual Basic debemos escribir lo siguiente:

ActiveCell.FormulaR1C1 = _»=CORREL(R[-32]C[-2]:R[-13]C[-2],R[-32]C[-1]:R[-13]C[-1])»

La función a utilizar es CORREL() y en el interior tenemos que introducir la matriz de datos de cada variable separadas por una coma. La función nos calculará el coeficiente de correlación que hay entre ambas variables.

La otra forma de calcular el coeficiente de correlación es seleccionando a través de la herramienta de Análisis de datos, la matriz de correlación. Para programar estos cálculos con Visual Basic debemos introducir las siguientes instrucciones:

   Application.Run «ATPVBAEN.XLAM!Mcorrel», ActiveSheet.Range(«$A$32:$E$51»), _

        ActiveSheet.Range(«$O$47»), «C», False

Vemos que debemos ejecutar una aplicación, por lo que es necesario tener activado el Análisis de datos en VBA para poder utilizarla en Visual Basic. Se activa siguiendo el mismo proceso que para activar la Herramienta de análisis de datos para Excel, o el Solver.

La aplicación a utilizar es Mcorrel y nos calculará la matriz de correlaciones de un conjunto de variables:   Application.Run «ATPVBAEN.XLAM!Mcorrel»,

A continuación debemos introducir los parámetros necesarios para utilizar Mcorrel. En primer lugar introduciremos el conjunto de datos de las variables que queremos analizar.

ActiveSheet.Range(«$A$32:$E$51»),

El siguiente bloque se corresponde al lugar donde queremos que coloque los resultados. Puede tratarse de una celda de la misma hoja de donde se recogen los datos:

ActiveSheet.Range(«$O$47»),

O bien una nueva hoja con un nombre concreto: , «A1»,   o bien sin nombre predefinido: ,””,

O incluso un nuevo libro: , ,

A continuación debemos indicar si las variables se distribuyen por columnas o por filas. Si se trata de columnas escribiremos “C”, y si se trata de filas “R”,

En último lugar debemos indicar si la primera fila contiene títulos o no, si contiene el nombre de las variables escribiremos TRUE, si no hay fila de títulos debemos escribir FALSE.

Una vez completada toda la información la orden de Visual Basic nos devolverá la matriz de correlaciones con la correlación entre cada par de variables.

Calculando el coeficiente de correlación

Puede ser que nos encontremos el caso que tenemos varias variables y deseamos trabajar con ellas. Tal vez nos interese ver que correlación hay entre esas variables. Para poder saber esa información necesitamos calcular el coeficiente de correlación de las variables.

(más…)