Validez de distribución de probabilidad
Cuatro masas de 0,25 superan la comprobación con una suma exacta de 1. Pegue una lista de probabilidades y sabrá al momento si es una distribución válida, qué valores son negativos o mayores que uno y cuánto se aleja el total de 1. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Probabilidades
- 0,25, 0,25, 0,25, 0,25
- Cantidad
- 4
- Sum
- 1
- Error absoluto de la suma
- 0
- Tolerancia
- 0,000000001
Una función de masa de probabilidad discreta solo es una distribución válida cuando cada masa es no negativa y la lista completa suma uno. Estudiantes, tutores, científicos de datos y diseñadores de juegos necesitan a menudo una comprobación rápida y determinista antes de enviar un vector a código de muestreo, fórmulas de entropía o claves de examen. Este comprobador de validez de distribuciones acepta un arreglo de números finitos, opcionalmente una tolerancia numérica por deriva de coma flotante, y devuelve un veredicto estructurado: si la lista es válida, la suma calculada, el error absoluto de la suma, los índices de entradas negativas o mayores que uno, y motivos legibles cuando falla la comprobación. Un arreglo vacío se rechaza como entrada inválida en lugar de un falso hueco.
Qué hace válida una FMP discreta
En teoría de la probabilidad, una distribución discreta de soporte finito es una lista de masas p cero hasta p n menos uno tales que cada masa es mayor o igual que cero y la suma de todas las masas es exactamente uno. Esos dos axiomas bastan: una vez que cada masa es no negativa y el total es uno, ninguna masa puede superar uno, porque una sola entrada mayor que uno obligaría al resto de términos no negativos a pasarse o a volverse negativos.
En la práctica los axiomas se comprueban por separado para que el diagnóstico nombre ambos problemas: un error de signo que dejó un peso negativo, y un fallo de normalización que dejó la suma en cero coma nueve cinco o uno coma cero dos. Recorre la lista una vez, acumula la suma, registra cada índice con masa negativa y cada índice con masa mayor que uno para el informe opcional.
Después compara la diferencia absoluta entre la suma y uno con una tolerancia épsilon que por defecto es uno por diez a la menos nueve, lo bastante estricta para aritmética de doble precisión tras divisiones simples y lo bastante amplia para el redondeo binario benigno de fracciones como un tercio repetido. Cuando superan las pruebas de no negatividad y de suma a uno, la respuesta pone valid en true y deja el arreglo reasons vacío.
Si alguna falla, valid es false y reasons enumera frases concretas en español que usted puede mostrar junto a un formulario o una línea de registro sin rederivar el fallo. La herramienta no inventa categorías, no muestrea las masas ni estima densidades continuas: solo certifica o rechaza los axiomas de la FMP finita sobre los números que usted envía.
Contrato de entrada, forma de respuesta y errores de arreglo vacío
Un arreglo vacío, un campo ausente o una cadena que se parte en cero tokens se rechazan con un mensaje claro de que una FMP válida necesita al menos una masa; esos fallos estructurales se facturan como errores de validación, no como éxitos con valid false. Ejemplo: cuatro cuartos iguales cero punto dos cinco cada uno dan valid true con suma uno. Ejemplo: cero punto cinco, cero punto cinco, cero punto uno dan valid false con un error de suma de unos cero punto uno.
Ejemplo: cero punto seis y menos cero punto uno es inválido con índice negativo y mala suma. Combine la respuesta con su propio código de muestreo o entropía si necesita más estadística; este extremo solo valida el contrato de la distribución.
Quién revisa una lista de probabilidades antes de usarla
Los equipos de juegos y simulación validan tablas de botín, pesos de caras de dados y tablas de aparición procedural antes de publicar, capturando el clásico error por épsilon en el que cinco filas suman cero punto nueve nueve nueve por divisiones repetidas. Las tuberías de aprendizaje automático que estiman distribuciones categóricas a partir de histogramas necesitan una puerta determinista antes de que el código de log-verosimilitud o entropía cruzada asuma masas no negativas normalizadas.
Ingenieros de calidad y analistas de fiabilidad convierten conteos empíricos de modos de fallo en vectores de probabilidad y quieren una comprobación pura de suma y signo antes de informar el riesgo a no estadísticos. La validación fallida de entrada vacía o malformada no consume saldo. Mantenga las listas bajo el techo de tamaño publicado, fije en pruebas los campos de suma limpios y obtendrá comprobaciones de FMP reproducibles para deberes, plugins LMS y workers de borde sin montar su propia biblioteca estadística.
Qué puede hacer con ella
Aula y comprobación de deberes
Permita que los estudiantes peguen un vector de probabilidad candidato y vean de inmediato si las masas son no negativas y suman uno dentro de la tolerancia.
Tablas de juego y simulación
Valide tablas de botín, filas aleatorias ponderadas y distribuciones de aparición antes de publicar, para que el muestreo en tiempo de ejecución no reciba pesos negativos o sin normalizar.
Tuberías de ML y datos
Intercepte histogramas categóricos estimados antes de pasos de entropía, divergencia KL o muestreo que asumen una FMP discreta legal.
Preguntas frecuentes
¿Cómo compruebo si un arreglo de probabilidades es una FMP válida?
Envíe un arreglo probabilities no vacío de números finitos.
¿Qué ocurre si el arreglo está vacío?
Una lista vacía no puede ser una distribución de probabilidad, así que la entrada vacía se rechaza en lugar de devolverse como valid false.
¿Pueden las probabilidades individuales ser mayores que uno?
Combinado con la no negatividad, eso suele hacer fallar también la prueba de suma igual a uno, de modo que valid es false.
¿Qué tan estricta es la prueba de suma a uno?
Por defecto |sum − 1| debe ser a lo sumo 1e-9.
¿Por qué falla una lista que suma 0,999?
Porque la tolerancia por defecto es de una milmillonésima y una diferencia de una milésima es mucho mayor. Suele deberse a divisiones repetidas; reescale las masas para que sumen 1 o amplíe la tolerancia a propósito.
Herramientas relacionadas
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/stat/pmf-validity \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"probabilities":[0.25,0.25,0.25,0.25]}'const res = await fetch("https://api.kit.forhosting.com/stat/pmf-validity", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"probabilities": [
0.25,
0.25,
0.25,
0.25
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/stat/pmf-validity",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"probabilities": [
0.25,
0.25,
0.25,
0.25
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/stat/pmf-validity", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"probabilities":[0.25,0.25,0.25,0.25]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"probabilities":[0.25,0.25,0.25,0.25]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/stat/pmf-validity", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"probabilities": [
0.25,
0.25,
0.25,
0.25
]
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.pmf_validity",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
El mismo camino analítico puro alimenta la herramienta gratuita del navegador y la API de prepago, de modo que oráculos de deberes y tuberías de producción no discrepan por un redondeo de medio punto porcentual.
Qué hace válida una FMP discreta
Este comprobador aplica esa definición de aula sobre un arreglo JSON simple.
Contrato de entrada, forma de respuesta y errores de arreglo vacío
Envíe un cuerpo JSON con el campo obligatorio probabilities, un arreglo no vacío de números finitos. Se aceptan los alias probs, values, pmf y distribution cuando omite probabilities, para que widgets y scripts reutilicen nombres familiares. Cada entrada puede ser un número JSON o una cadena numérica; valores no finitos, cadenas en blanco y tokens no numéricos fallan con invalid_input nombrando el índice. Opcionalmente envíe tolerance (alias tol, eps, epsilon), una tolerancia absoluta finita no negativa limitada a uno, para ampliar o estrechar la prueba de suma a uno en tuberías de coma flotante conocidas; omítala para usar el valor por defecto de uno por diez a la menos nueve. En el éxito el cuerpo devuelve valid como booleano; count como longitud de la lista; probabilities como los números finitos coercidos; sum y abs_sum_error limpios para JSON estable; la tolerancia usada; las banderas sum_equals_one, has_negative y has_above_one; los arreglos negative_indices y above_one_indices; un arreglo reasons de explicaciones; y una cadena formula que reexpresa el axioma: válido si y solo si cada p_i es al menos cero y el error absoluto de la suma es a lo sumo épsilon.
Dónde aporta valor una API de validez de FMP
Los cursos introductorios de estadística y matemática discreta piden normalizar conteos de frecuencia en probabilidades y demostrar que el vector resultante es una distribución legal; un oráculo de confianza que devuelve JSON estructurado acelera la calificación, las demos y el diseño de lecciones interactivas sin confiar en redondeos opacos de hojas de cálculo. Como la implementación es parse de nivel A puro, cada llamada exitosa cuesta el precio base publicado $0.002 sin tokens de modelo ni red saliente.
Preguntas técnicas
¿Cuánto cuesta el comprobador de validez de distribuciones de probabilidad?
La herramienta del navegador es gratuita. Las peticiones API usan saldo prepago KIT a $0.002 por llamada exitosa; la entrada inválida como un arreglo vacío no se factura.