Estadística Básica con Mathematica

En este post mostraré el uso de los estadísticos mas básicos y las funciones para llamarlos en Mathematica.

Para esto he creado dos variables sencillas, bSales y bPrice, suponiendo que se trata de ventas en MXN o USD (es irrelevante) o bien podrían ser unidades vendidas al precio bPrice, que definitivamente si tiene que estar en unidades monetarias.

bSales = {100, 80, 63, 45, 21};
 bPrice = {1, 2, 3, 4, 5};

Estos dos vectores muy sencillos nos ayudarán a dar un ejemplo de las funciones incluidas en Mathematica para estadística. Lo que haré será usarlas todas y luego usaré las fórmulas para verificar su veracidad (no es que dude de lo que los de Wolfram hayan programado, simplemente es buena idea y puede resultar bastante didáctico).

Mean[bSales] // N
 Variance[bSales] // N
 StandardDeviation[bSales] // N
 Covariance[bSales, bPrice] // N
 Correlation[bSales, bPrice] // N

Y sus respectivos outputs:

61.8
934.7
30.5729
-48.25
-0.998139

Hay que notar que he puesto al final de todas las funciones N, para poder mostrar el dato en modo numérico. Y bien, primero comprobamos la media, esto es bastante sencillo:

mean = Sum[bSales[[i]], {i, 1, Length[bSales]}]/Length[bSales] // N

Que es la suma de las Xi de 1 a n (mido las unidades del vector con Lenght) todo esto sobre n. La función Sum hace super fácil hacer este programita, sin tener que llegar a usar un For o algo por el estilo, simplemente hay que saberle indicar el tamaño de la suma, lo cual se hace en el segundo argumento de la función. Note que he usado bSales[[i]], que es lo mismo que Part[bSales,i] o el iésimo elemento del vector.

Uso una forma similar para la varianza:

variance = 
  Sum[(bSales[[i]] - mean)^2, {i, 1, Length[bSales]}]/(Length[bSales] - 1)

Y hay que notar que aquí se usa n-1, es decir, es la varianza muestral.

Para la desviación estándar la pereza me ha invadido y simplemente le he sacado raíz cuadrada a la varianza:

sd = Sqrt[variance]

La covarianza usa un proceso similar, hay que recordar que la fórmula de la covarianza es, en palabras, la suma de 1 a n de los productos de las diferencias entre el iésimo elemento y su media, todo esto sobre n-1:

covariance = 
  Sum[(bSales[[i]] - mean)*(bPrice[[i]] - Mean[bPrice]), {i, 1, 
     Length[bSales]}]/(Length[bPrice] - 1)

Como no he realizado la fórmula de la media del precio he usado la función de Mathematica, ya que ya comprobamos que si da lo mismo. Hice lo mismo para la desviación estándar del precio al sacar la correlación:

correlation = covariance/(sd*StandardDeviation[bPrice])
Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s