Herramientas computacionales para la matemática MATLAB: Análisis de datos. Verónica Borja Macías Junio 2012 1 Matlab Análisis de datos Analizar datos estadísticos en MATLAB es sencillo. Máximo y mínimo max(x) si x es vector encuentra el valor más grande, si x es matriz crea un vector que contiene el elemento máximo de cada columna. [a , b]=max (x) encuentra el valor más grande de x y su posición. max(x,y) si x y y tienen las mismas dimensiones devuelve una matriz cada entrada es el máximo de las entradas correspondientes de x y y. De manera análoga ocurre con la función min. Si las entradas son complejas entonces hace uso del módulo para comparar y después el ángulo. Además ignora los NaNs. 2 Matlab Análisis de datos Sumas y productos Con frecuencia es útil sumar todos los elementos en una matriz o multiplicar todos los elementos juntos. MATLAB proporciona algunas funciones para calcular tanto sumas como productos, además de sum y prod que vimos previamente cumsum(x) si x es vector devuelve un vector del mismo tamaño que x con las sumas acumuladas, si x es matriz entonces calcula la suma acumulada de los elementos en cada columna cumprod(x) análoga a cumsum pero para el productro. 3 Matlab Análisis de datos Ordenamientos sort(x) Ordena los elementos de un vector x en orden ascendente u ordena los elementos en cada columna de una matriz x en orden ascendente. sort (x, 'descend') Ordena en forma descendente y funciona de manera análoga a sort. sortrows(x) Ordena las filas en una matriz sobre la base de los valores en la primera columna. sortrows(x,n) Ordena las filas en una matriz sobre la base de los valores en la n-ésima columna. Determinación del tamaño de matriz Para determinar el tamaño de una matriz usamos : size y length. 4 Matlab Análisis de datos Media, moda y mediana Existen muchas formas de encontrar el valor “Medio” en un conjunto de datos. En estadística, la media de un grupo de valores probablemente es lo que la mayoría llamaría el promedio: la suma de todos los valores, divididos por el número total de valores. Otro tipo de promedio es la mediana, o el valor medio. Existe un número igual de valores tanto más grandes como más pequeños que la mediana. Por último tenemos a la moda que es el dato que mas se repite. MATLAB proporciona funciones para encontrar tanto la media, la moda así como para la mediana. 5 Matlab Análisis de datos mean(x) Calcula el valor medio (o valor promedio) median(x) Encuentra la mediana del conjunto de datos. mode(x) Encuentra la moda del conjunto de datos. Observaciones: Si x es un vector devuelve la media, mediana o moda del vector. Si x es matriz regresa un vector fila que contiene el valor medio, mediana o moda de cada columna de una matriz x. Si x es una hipermatriz nos devuleve una matriz con las operaciones aplicadas por columna. O podemos especificar en que dimensión queremos que realice el análisis. 6 Matlab Análisis de datos Varianza y desviación estándar La desviación estándar y la varianza son medidas de cuánto varían los elementos de un conjunto de datos unos con respecto a otros. Dos conjuntos de datos pueden tener el mismo valor promedio (media) , sin embargo, las variaciones pueden ser muy distintas. Por lo general, mediciones como la desviación estándar y la varianza son significativas sólo con grandes conjuntos de datos. Para definir la desviación media y la varianza hacemos uso de la media: 1 media= µ= N N ∑x k =1 k 7 Matlab Análisis de datos Formalmente definimos la varianza de la siguiente forma: N 2 = σ= varianza 2 − x µ ( ) ∑ k k =1 N −1 La desviación estándar (la raíz cuadrada de la varianza) se usa con más frecuencia que la varianza . N desviación estandar= σ= 2 ( x µ ) − ∑ k k =1 N −1 La función, MATLAB que se usa para encontrar la desviación estándar es std y para la varianza var. 8 Matlab Análisis de datos Existen definiciones alternativas para la varianza y la desviación estándar: N σ2 = ∑ ( xk − µ ) k =1 N N 2 σ= 2 − µ ( x ) ∑ k k =1 N MATLAB puede hacer uso de estas definiciones colocando un argumento extra std (X,1) para desviación estándar y para la varianza var(X,1). 9 Matlab Ejercicio Ejemplo: load count.dat [n,p] = size(count); t = 1:n; plot(t,count) legend('Caseta 1','Caseta 2','Caseta 3','Ubicación','norte') xlabel('Tiempo'), ylabel('Número de vehiculos') 10 Matlab Ejercicios 11