( Esto se relaciona con mi pregunta de programación sobre Stack Overflow : Algoritmo gaussiano de curva de campana (Python y / o C #)) .
En Answers.com, encontré este simple ejemplo:
- Encuentre la media aritmética (promedio) => Suma de todos los valores en el conjunto, dividido por el número de elementos en el conjunto
- Encuentra la suma de los cuadrados de todos los valores en el conjunto
- Divida la salida de (2) sobre el número de elementos en el conjunto
- Resta el cuadrado de la media (1) de la salida de (3)
- Saca la raíz cuadrada del resultado de (4)
Ejemplo: Conjunto A = {1,3,4,5,7}
- (1 + 3 + 4 + 5 + 7) / 5 = 4
- (1 * 1 + 3 * 3 + 4 * 4 + 5 * 5 + 7 * 7) = 1 + 9 + 16 + 25 + 49 = 100
- 100/5 = 20
- 20 - 4 * 4 = 20-16 = 4
- SQRT (4) = 2
(Esto proviene de una publicación en wiki.answers.com ).
Ahora dado todo eso, ¿cómo puedo ajustar los datos anteriores a una curva de campana (como un puntaje de crédito) que oscila entre 200 y 800. Obviamente, el número 5 en el conjunto anterior sería 500. Pero entonces, ¿cuál es la fórmula para determinar qué 3 deben estar en la misma escala. Aunque el conjunto original Set A = {1,3,4,5,7} no es una curva de campana, quiero forzarlo a una curva de campana.
Imagina que son decenas de 5 personas. El próximo mes, los puntajes pueden cambiar de la siguiente manera: Establecido A2={1,2,4,5,9}
(uno pierde un punto y el mejor gana dos puntos más: los ricos se enriquecen y los pobres se empobrecen). Entonces tal vez un nuevo chico entra en el set: Set A3={1,2,4,5,8,9}
.
fuente
Respuestas:
Un rango escalado , como 200 a 800 (para SAT, por ejemplo ), es solo un cambio de unidades de medida . (Funciona exactamente como el cambio de temperaturas en Fahrenheit a las de Celsius).
El valor medio de 500 está destinado a corresponder con el promedio de los datos. Se pretende que el rango corresponda a aproximadamente el 99.7% de los datos cuando los datos siguen una distribución Normal ("curva de Bell"). Se garantiza que incluye 8/9 de los datos ( Desigualdad de Chebyshev ).
En este caso, la fórmula 1-5 calcula la desviación estándar de los datos. Esto es simplemente una nueva unidad de medida para los datos originales. Debe corresponder a 100 unidades en la nueva escala. Por lo tanto, para convertir un valor original al valor escalado,
Resta el promedio.
Dividir por la desviación estándar.
Multiplica por 100.
Añadir 500.
Este enfoque de " puntaje normal " siempre dará puntajes entre 200 y 800 cuando tenga 370 o menos valores. Cuando tiene 1111 o menos valores, todos menos los más altos y más bajos tendrán puntajes entre 200 y 800.
fuente
Al hacer referencia a su pregunta original sobre SO y el tema de la escalabilidad, la ventaja de este enfoque es que siempre que un nuevo punto de datos no sea en sí mismo un nuevo máximo o mínimo para el conjunto de datos en su conjunto, puede aplicar los cálculos anteriores al nuevo punto de datos para obtener su puntaje entre 200 y 800 sin afectar ninguno de los puntajes existentes del conjunto de datos original. Si un nuevo punto de datos es un nuevo máximo o mínimo, tendrá que volver a calcular las puntuaciones para todo el conjunto de datos con este nuevo valor máximo o mínimo de "normalización".
fuente