Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado

La Desviación Estándar en VBA

| Sin comentarios

La desviación estándar o típica es una medida de dispersión de gran utilidad en la estadística. Se puede definir como la raíz cuadrada de la varianza.

Para conocer con detalle un conjunto de datos, no basta con conocer las medidas de tendencia central, sino que necesitamos conocer también la desviación que presentan los datos en su distribución respecto de la media aritmética de dicha distribución, con objeto de tener una visión de los mismos más acorde con la realidad al momento de describirlos e interpretarlos para la toma de decisiones.

Imaginemos que a dos grupos de personas le encomienden realizar encuestas independientes, pero sobre la misma variable , por ejemplo,  numero de hijos por personas, pero en la misma zona.
Ambos grupos traen sus datos, digamos 100 datos. La desviación  estándar permite determinar cual de los dos grupos de datos es más confiable o cual es el que mejor representa a la variable analizada.
El que posea la menor desviación estándar (algo dice el nombre verdad?..."desvío") es mejor o más confiable.

Ahora pondremos la fórmula para hallar la desviación estándar en VBA:

Function Media(Arr() As Single)
     Dim Sum As Single
     Dim i As Integer
  Sum = 0

    For i = 1 To UBound(Arr)
        Sum = Sum + Arr(i)
    Next i

  Media = Sum / UBound(Arr)
End Function
Primero, hallamos la media de una matriz de datos(single para que sea matriz de una dimensión), la función for es para ir sumando los valores de esta matriz unidimensional, al final la variable media  es la división de la suma entre el número de entradas.(En este caso se usa la función Ubound que devuelve el mayor subíndice disponible para la dimensión indicada en una matriz).

Function DevStd(Arr() As Single)
     Dim i As Integer
     Dim avg As Single, SumSq As Single
    avg = Mean(Arr)
     For i = 1 To UBound(Arr)
          SumSq = SumSq + (Arr(i) - avg) ^ 2
     Next i
  DevStd = Sqr(SumSq / (UBound(Arr) - 1))
End Function

Ahora, hallamos la desviación estándar:
Desviación Estándar

esto es la sumatoria del cuadrado de la diferencia de cada valor de la variable y la media aritmética de la distribución dividida entre el número de la muestra de la población menos 1.(Correción de Bessel). Podemos ver que la variable avg toma el valor de la media obtenida en la función anterior y Arr(i) es el valor de cada variable de la matriz mientras pasa la función For. Al final la variable SumSq tendrá el valor de la sumatoria de los cuadrados y para obtener el valor de la desviación estándar se usa la variable DevStd.

Se dejará una hoja de excel para que vean la función y el procedimiento que llama a esta función.  Un MsgBox dará la respuesta.

Nota: Excel provee estas funciones como AVERAGE() para la media y STDEV() para la desviación estándar.

DESVIACION STANDAR

Deja una respuesta

Los campos requeridos estan marcados con *.