Cómo seleccionar un elemento aleatorio con una distribución determinada
No todos los datos son numéricos, por lo que al crear conjuntos aleatorios de datos de muestra puede ser muy útil saber cómo seleccionar aleatoriamente algunos datos de texto de una lista .
En esa publicación, le mostré una forma de seleccionar aleatoriamente de una lista usando la función ALEATORIO ENTRE . Este método produjo la misma oportunidad de seleccionar cada elemento de la lista. Pero, ¿qué pasa si queremos ponderar esas probabilidades de selección para que algunos elementos se seleccionen con más frecuencia que otros?
Con este método podemos crear la distribución de probabilidad de un elemento seleccionado.
En este ejemplo, vamos a seleccionar de una lista con 4 elementos. Esto es lo que hay en nuestras columnas Distribución y Lista en la tabla anterior.
- Rojo : queremos que se seleccione el 10 % de las veces.
- Naranja : queremos que se seleccione el 15 % de las veces.
- Azul : queremos que se seleccione el 45 % de las veces.
- Verde : queremos que se seleccione el 30 % de las veces.
¡ Tenga en cuenta que nuestras probabilidades de selección deben sumar 100% ! Nuestra columna de búsqueda es solo el total acumulado de la columna de distribución . Esta será la clave de nuestra selección aleatoria.
Fórmula genérica para la selección aleatoria
Usaremos BUSCARV con una coincidencia aproximada para buscar un elemento de nuestra lista.
=VLOOKUP(RAND(),DistTable,3,TRUE)
- DistTable : esta es nuestra tabla que se muestra arriba, que contiene nuestra distribución y la lista de elementos para seleccionar.
- 3 – Queremos devolver el resultado de la tercera columna de DistTable que contiene los elementos de la lista.
- VERDADERO : esto le dice a Excel que use una coincidencia aproximada para BUSCARV.
¿Cómo funciona esto?
RAND() es una función de Excel sin parámetros de entrada que devolverá un número aleatorio distribuido uniformemente entre 0 y 1. Usamos este número aleatorio entre 0 y 1 como el valor para buscar en nuestra DistTable . Dado que este valor de búsqueda es aleatorio, el resultado devuelto por la columna Lista también será aleatorio.
Por ejemplo, si RAND() devuelve 0,1156 , la coincidencia aproximada sería el 10 % en la columna de búsqueda porque 10 % = 0,1156 25 % . VLOOKUP luego devolvería Orange ya que esta es la tercera columna en la fila del 10% .
¡Veamos si funciona!
¡Veamos si funciona! Si usamos esta fórmula 100 veces, deberíamos ver aproximadamente 10 resultados rojos, 15 naranjas, 45 azules y 30 verdes.
Podemos crear fácilmente una tabla dinámica para contar la cantidad de elementos de cada uno de la lista, e incluso podemos crear un gráfico dinámico atractivo para mostrar los resultados. Nuestros resultados se parecen bastante a la distribución que creamos. De acuerdo con la ley de los grandes números , cuanto mayor sea el número de selecciones que hagamos, más nos acercaremos a nuestra distribución deseada.
Deja una respuesta