Mostrando entradas con la etiqueta Moda. Mostrar todas las entradas
Mostrando entradas con la etiqueta Moda. Mostrar todas las entradas

lunes, 3 de noviembre de 2025

Datos. Estadística.


Medidas de tendencia central (II)

Moda




Dentro de las medidas de tendencia central, la más sencilla, pero a su vez la más segura en cuanto representación del conjunto de datos cuando las otras dos se ven alteradas por efecto de las peculiaridades de la distribución, es la moda. No obstante, no nos debemos dejar engañar por su aparente simplicidad, ya que puede resultar mucho más informativa, a costa, eso sí, de prestar atención al cumplimiento de ciertas condiciones no siempre explicitadas en la literatura, pero de relevancia para el uso práctico de este estadístico.


No voy a repetir aquí lo ya visto en la [entrada inicial] sobre esta temática, que para eso está, así que me permito ir a lo que me interesa destacar ahora. Tampoco insistiré en la sencillez con la que podemos apreciar la presencia y relevancia de este estadístico desde la simple observación de un gráfico de barras o de frecuencias. Omito también las debilidades que presenta respecto a la mediana y a la media o promedio cuando éstas son realmente representativas, especialmente  cuando lo es la media.

Me interesa que nos centremos ahora exclusivamente en la moda cuando las demás de centralidad no son representativas, especialmente cuando no lo es el promedio. Podría parecer que, en ese caso, la sola posibilidad de disponer de la moda fuera suficiente, pero no lo es; no en cualquier caso, ni cuando la moda es única (distribución unimodal) ni cuando no lo es (bimodal o polimodal). En todos ellos me parece pertinente analizar lo que la moda destaca respecto al resto de las frecuencias y la posición que ocupa en el recorrido de los valores de la variable.

Empecemos por decir que para entender la distribución, no es lo mismo que moda sea una o sean varias (1), ya que cuantas más modas menos moda son; pero también es relevante (2) cuánto representa respecto al total del sumatorio de las frecuencias la distribución (mejor en porcentaje) y en qué posición del recorrido de los valores se sitúa o sitúa el o los valores identificados como moda.

Si la moda es plural puede que lo sea tanto que se pueda considera que la distribución carece de moda (amodal) o que la distribución sea también plural, especialmente que se pudieran diferenciar (con el tiempo) al menos dos distribuciones (3).

Cuanto menos destaque la moda (especialmente cuando la distribución es unimodal) del resto en términos porcentuales respecto al sumatorio de las frecuencias (4) menos moda es; cuanto más, más significado tiene para explicar la distribución en términos estáticos (cómo se presenta en estos momentos) y dinámico (en qué fase del desarrollo se encuentra el fenómeno en relación al conjunto de implicado).

Algo similar (respecto a la "madurez" del proceso) podemos decir del significado de la posición que ocupe la o las modas en el recorrido de la distribución: suponiendo una distribución unimodal, su interpretación no puede ser la misma si se ubica al inicio (en el valor mínimo o cerca de él), en la zona media del recorrido o próxima al máximo (5).

Realmente este último análisis requiere (o se beneficia al menos) del conocimiento de los valores que analizan la distribución (cuantiles) y de la mediana. Pero queda para otra entrada.

NOTAS

(1) Recuerda que disponemos en Calc de dos funciones diferentes, según sea el caso; pero es suficiente con el análisis de la tabla de frecuencias y/o del gráfico (histograma) para observar la incidencia de la moda, incluyendo esta cuestión. 
(2) Y para esto no hay estadísticos.
(3) Esto puede ser más viable cuando existen dos modas y se encuentran separadas en la distribución.
(4) No me atrevo a decir cuanto, pero la diferencia debe ser clara y suficiente para que la moda sea realmente un valor representativo de la centralidad de la distribución.
(5) El significado concreto de esta posición dependerá de la naturaleza del fenómeno estudiado, incluyendo si el interés es por su naturaleza estática o por su posible dinámica, pero un posicionamiento en los extremos indica distribución sesgada a la izquierda o a la derecha en la que se espera una determinada relación entre moda, mediana y promedio que se debería comprobar empíricamente, pero que no resulta más que confirmatoria; mientras que una posición centrada exige el análisis de estos estadísticos para comprobar el tipo de distribución subyacente, posiblemente de tipo normal o gaussiana, o tendente a ella.

viernes, 9 de mayo de 2025

Datos. Estadística

Medidas de tendencia central en Python


Existe una biblioteca Python integrada en el lenguaje por defecto que nos permite calcular los estadísticos vistos ya en OOo Basic en una entrada anterior. No es la única biblioteca que veremos, pero sí la primera, por su simplicidad y por no exigir procesos de instalación previa. Me refiero a stadistics.



De esta biblioteca [ya hablamos] en otro lugar y momento en términos muy generales. Corresponde aquí y ahora concretar su uso para el cálculo de los estadísticos de tendencia central: moda, mediana y promedio. Se trata de una breve presentación de sus funciones, a fin de ampliar la información aportada sobre la misma temática en OOo Basic. De ahí la brevedad y simplicidad de esta entrada.

import statistics as st

datos = (1,1,3,4,4,4,5,5,6,7,7,9)

moda = st.mode(datos)
mediana = st.median(datos)
promedio = st.mean(datos)

print("Colección de datos")
print (datos)

print("Medidas de tendencia central de los datos precedentes")
print("Moda " + str(moda))
print("Mediana " + str(mediana))
print("Promedio " + str(promedio))

En este sencillo script recojo las funciones Python pertenecientes a stadistics que nos sirven para calcular los estadísticos moda, mediana y promedio.

  • En primer lugar cargamos en memoria la biblioteca (import statistics as st), paso necesario para poder usar sus funciones.
  • Seguidamente creamos el conjunto de datos numéricos sobre los que trabajar. En este caso se trata de una tupla (datos = (1,1,3,4,4,4,5,5,6,7,7,9)
  • A partir de este momento, siguiendo la sintaxis correspondiente, vamos aplicando las funciones de cálculo de la moda (st.mode(datos)), de la mediana (st.median(datos)) y de la media aritmética o promedio (st.mean(datos)). 
  • Las asociamos a variables para facilitar su visualización posterior mediante la función print(), cosa que hacemos para finalizar el script (vg. print("Moda " + str(moda))
Documento. Si te parece útil, puedes descargar el script visto en la entrada desde este enlace.

Datos. Estadística

Medidas de tendencia central (I)








Las medidas de tendencia central son tres: moda, mediana y media (aritmética) o promedio. Todas ellas, y más aun las tres juntas, permiten resumir en un valor la característica principal de un conjunto de datos. Cada una de ellas lo hace de modo diferentes, de ahí que sea la similitud y proximidad que mantengan las tres entre sí lo que mejor defina o resuma al conjunto de datos al que pertenecen. Esto es especialmente válido para una distribución normal (la famosa campana de Gauss), en la que canónicamente las tres deben coincidir, esto es, tener el mismo valor.


El más sencillo y universal de estos tres estadísticos es la moda, que se relaciona directamente con el análisis de frecuencia y es posible utilizarla con cualquier escala de medida. Como contrapartida, es la medida de tendencia central que menor capacidad tiene para resumir las características de un conjunto de datos, aunque a veces es la única que podemos usar.

La moda indica el dato con mayor presencia en el conjunto de valores (frecuencias). Se designa como Mo y se define como el valor de la variable que presenta mayor frecuencia absoluta. 

Es posible calcular la moda de cualquier tipo de variable (con independencia de la escala de medida a la que pertenezca), pero es posible que un conjunto de datos carezca de moda o, si se prefiere que presente tantas modas (multimodal) que la moda en sí no cumpla la función que se espera. No obstante, lo más frecuente es que un conjunto de datos presente una moda (unimodal) o dos modas (bimodal).

Normalmente en los análisis univariados, el cálculo de la moda es tan sencillo que es suficiente la mera observación de la tabla de frecuencias, cuando disponemos de una tablas de tipo II. Así que la recomendación es obvia: siempre que te sea posible deberemos crea una tabla de frecuencias de tipo II.

Crear este tipo de tabla, partiendo de una mera recopilación de datos, resulta sencillo mediante una hoja de cálculo y el uso reiterado de la función CONTAR.SI(), que requiere la previa identificación de las diferentes opciones de "respuesta" de la variable.

Aunque el caso que voy a presentar es tan sencillo que resulta más costoso usar las fórmulas que realizar el cálculo "a mano", lo utilizaré como ejemplo del modo de proceder: parto del ejemplo de tabla de tipo I creada en LO-Calc que mostré [en esta entrada] y que ahora desarrollo en dos direcciones:
  • Creando una tabla de frecuencias tipo II haciendo uso de la función CONTAR.SI()
  • Y calculando directamente la moda (MODA.UNO()) a partir de la tabla de frecuencias de tipo I
Recuerda que la variable es de tipo nominal (sexo del alumnado) y que, por tanto, sólo existen dos opciones de respuesta (optamos por niño (H) vs. niña(M)).

Crear tabla tipo II. Sobre la columna Dato (sexo) aplico la fórmula CONTAR.SI() con valores de identificación "H" (en D23) y "M" (en D24), creando la tabla tipo II Frecuencias. Por observación, la moda resultante es M(0), dado que su frecuencia es 6, superior al valor de H(1).

Calcular Mo directamente. Tengamos en cuenta, como punto de partida, que las funciones de cálculo de Mo en Calc utilizan como referencia valores numéricos, no string, de ahí que sea necesario, en su caso, realizar una transformación previa. Y eso es lo primero que vamos a hacer.
  • A partir de la columna Dato (sexo) creo la columna Cod num transformado H en 1 y M en 0 mediante la función lógica SI() (vg. =SI(C10 = "H";1;0))
  • Sobre la columna Cod num aplico la fórmula MODA.UNO() (=MODA.UNO(D$10:D$19)) que posiciono en D21.
  • Aclaración: Podría usar la función MODO() con el mismo resultado. Cuando existen dudas sobre la posibilidad de que la muestra no sea unimodal, es preferible utilizar la fórmula MODA.VARIOS().
En cualquier caso, queda demostrado que es posible calcular la moda de esta distribución de la variable sexo (nominal dicotómica); lo que no resulta tan evidente es que conocer la moda nos sea aquí de gran utilidad, dado que realmente no se puede decir que resuma significativamente los datos disponibles. Primero por que son tan pocos que no hace falta resumir nada (de hecho por eso es una distribución de tipo I), y segundo porque siendo como es una variable dicotómica, el conocimiento de la proporción o del porcentaje es posiblemente más informativo.

Veamos ahora otra distribución. En este caso se trata de la variable también nominal, pero no dicotómica (politómica) categoría NEE de un conjunto de 38 sucesos/casos (niños y niñas suena mejor). En principio contamos con una mera lista de sujetos con su categoría NEE (tabla tipo I se podría decir, aunque no es muy apropiado en este caso).

En este caso sí es necesario realizar una previa tabulación de frecuencias en formato tabla II, ya que el número de sujetos/observaciones es suficientemente amplio como para que el mero listado no resulte manejable. 
  • Crearemos entonces nuestra tabla-resumen (tipo II) identificando el total de opciones de respuesta (5) y usando la función CONTAR.SI() (vg. =CONTAR.SI(F$5:F$42;"da") de forma reiterada.
  • Pero para saber cual es la categoría Mo (NEE de mayor frecuencia) no es necesario crear esa tabla tipo II previamente (cierto es que ya nos ofrece la información que necesitamos: Mo es TEA); deberemos asociar un valor numérico a cada categoría mediante un uso anidado de la función SI() (vg. =SI(F5="da";1;SI(F5="df";2;SI(F5="dp";3;SI(F5="tea";4;SI(F5="pd";5)))))) y aplicar la función MODA.VARIOS() (podría ser MODO() o MODA.UNO()) sobre ese listado de valores numéricos (=MODA.VARIOS(G$5:G$42))
  • Observación. Observa como a poco que se complica la opción de respuesta (los posibles valores de la variable) la creación de los valores numéricos que requiere la función MODA.UNO() / MODA.VARIOS() se hace sumamente compleja. En estos casos debemos valorar si es conveniente generar una función mediante OOo Basic, por ejemplo.
En este segundo ejemplo resulta evidente la necesidad de crear una tabla-resumen (tabla tipo II), y es a partir de ella que resulta sencillo conocer el valor de Mo. Lo que puede que siga sin estar claro es lo que aporta Mo que no aporte el cálculo del porcentaje de cada opción/categoría de la variable nominal Tipo de NEE.

La mediana es el estadístico que divide una distribución o colección de datos en dos partes iguales, de modo que a su izquierda (por debajo de...) queda el 50% de los valores y a su derecha (por encima de...) queda el otro 50%.

El cálculo manual de la mediana requiere la previa ordenación de los valores de menor a mayor. Así para calcular la mediana del array [1,4,1,6,4,5,3] este deberá ser reordenado previamente de menor a mayor, resultando [1,1,3,4,4,5,6].

Cuando el número total de observaciones o datos es impar, la mediana es el valor que ocupa la posición intermedia del conjunto. En el array anterior, ese valor es [1,1,3,4,4,5,6], ya que es el que ocupa la posición central (en nuestro ejemplo, la 4ª de un total de 7). En este caso la mediana es 4.

Cuando el número total de observaciones o datos es par, la mediana es el resultados de dividir entre dos los valores que ocupan las posiciones intermedias. Por ejemplo, en la matriz de datos [1,1,3,4,4,5], los valores de las observaciones que ocupan las posiciones centrales son [1,1,3,4,4,5], por lo que sumamos 3 + 4 y dividimos el resultado entre dos ((3+4)/2), obteniendo como resultado el valor 3,5.

En LO-Calc contamos con una función para el cálculo de la mediana; se trata de la función MEDIANA(), que recibe como parámetros la posición inicio y final de la lista de datos (vg MEDIANA(C$5:C$43)) y que no necesita que los datos estén previamente ordenados.

Finalmente, la media aritmética o promedio es el estadístico que resulta de sumar todos los valores de una distribución o muestra y dividir este sumatorio entre en número de observaciones o casos. En este array (1,1,3,4,4,5,6), el cálculo del promedio manual  se realiza como sigue:

(1+1+3+4+4+5+6)/7 = 3,429

Aunque en este caso los valores están ordenados (de menor a mayor), al contrario del cálculo de la mediana, para calcular el promedio no es necesario que sea así ni siquiera para el cálculo manual, aunque la visualización de los datos (y más aun la representación gráfica) se beneficia mucho de este orden.

Existen otras casuísticas en las que la forma de calcular la media (y su propia denominación) varía, pero la media aritmética, promedio o simplemente media es el caso más común y la la explicada la forma más común de calcularla.

El promedio es el estadístico de posición central más usado por las posibilidades que ofrece para la representación del conjunto y para el cálculo de otros estadísticos; no obstante presenta dos limitaciones serias: no es posible calcularlo en los casos (no con variables nominales no con variables ordinales) y se ve muy influenciado (distorsionado) por los valores extremos.

También disponemos en LO-Calc de una fórmula para el cálculo del promedio (PROMEDIO(B$2:B$8)), siendo la expresión-parámetro el inicio y final del intervalo de celdas sobre las que se calcula este estadístico.

Documento. Desde este enlace puedes descargar una hoja de cálculo donde se presenta un ejemplo de cálculo de los estadísticos moda, mediana y promedio.