Calculadora de esperanza condicional dado un suceso
La esperanza condicional expresa el valor medio de una variable aleatoria después de saber que ha ocurrido un suceso concreto.
Ejecutar — gratis
Corre en su navegador. Gratis y sin límite: sus datos no salen de esta página.
Esta calculadora admite una lista finita de valores posibles, la probabilidad conjunta asociada a cada resultado y un indicador que señala si dicho resultado pertenece al suceso condicionante. Suma la masa de probabilidad incluida en el suceso, vuelve a normalizar los resultados seleccionados y devuelve la esperanza resultante. Además, muestra la probabilidad intermedia y la suma ponderada para que usted pueda revisar el cálculo o incorporarlo a un análisis más amplio.
Represente los resultados conjuntos y el suceso condicionante
Introduzca una fila por cada resultado conjunto posible del modelo discreto. El campo value contiene el valor que toma la variable aleatoria X, mientras que probability recoge la masa de probabilidad asignada a ese resultado completo. Establezca in_event como true únicamente cuando el resultado pertenezca al suceso A respecto del cual desea condicionar. Se permiten valores repetidos, ya que distintos resultados subyacentes pueden producir el mismo valor de X y, a la vez, diferir en su pertenencia al suceso o en su probabilidad. En conjunto, las filas deben describir una distribución de probabilidad completa: las probabilidades han de ser no negativas y sumar uno. Este formato explícito evita confundir probabilidades marginales, condicionales y conjuntas, pues cada probabilidad corresponde al resultado de su propia fila. Puede incluir resultados con probabilidad cero para documentar el modelo, aunque no cambien el cálculo. No normalice previamente solo las filas seleccionadas; aporte las probabilidades conjuntas originales para que la calculadora determine P(A) y condicione correctamente.
Comprenda cómo se calcula la esperanza condicional
La calculadora suma primero las probabilidades de todas las filas marcadas con in_event y obtiene así la probabilidad condicionante P(A). Por separado, multiplica cada valor seleccionado por su probabilidad conjunta original y suma esos productos. La esperanza condicional es dicha suma ponderada dividida entre P(A): E[X dado A] equivale a la suma de x por P(X igual a x y A), dividida entre P(A). Esta división vuelve a normalizar la masa seleccionada para que se comporte como una distribución completa una vez conocido el suceso. La respuesta incluye conditional_expectation, conditioning_probability y weighted_event_sum, además de los recuentos de filas seleccionadas y totales. Esos datos intermedios facilitan auditar el resultado y localizar errores de modelización. Si P(A) vale cero, la división no está definida; por ello, la capacidad devuelve un error de entrada no válida en lugar de Infinity, NaN o una cifra engañosa. Toda la aritmética es determinista y utiliza directamente los números finitos proporcionados.
Revise los supuestos antes de utilizar el resultado
Una media condicional solo resulta tan significativa como el suceso y la distribución que usted facilite. Compruebe que las filas sean mutuamente excluyentes y conjuntamente exhaustivas: si se solapan, la probabilidad se contabiliza dos veces; si faltan, la distribución queda incompleta. La validación de suma igual a uno detecta muchas omisiones, pero no puede determinar si dos resultados con distinto significado se superponen. Verifique también que in_event refleje la información realmente observada. Condicionar respecto de un suceso relacionado, pero diferente, puede producir una cifra plausible que responda a otra pregunta. Ante valores muy grandes o muy pequeños, examine weighted_event_sum y conditioning_probability como comprobación numérica rápida. Un suceso raro puede hacer que la esperanza dependa mucho de una masa de probabilidad reducida; esa sensibilidad es matemáticamente válida, aunque quizá convenga revisar mejor las probabilidades. Para automatizar el proceso, dispone del mismo cálculo determinista mediante la API por $0.002 por solicitud, con comprobaciones reproducibles en modelos de riesgo, control de calidad, enseñanza y análisis de decisiones.
Qué puede hacer con ella
Pérdida esperada tras un desencadenante
Calcule la pérdida media en escenarios donde se produce una condición de póliza, un impago o un umbral operativo.
Resultado de calidad tras una inspección
Obtenga la medición esperada dado que un artículo haya superado o no un suceso de inspección concreto.
Enseñanza del condicionamiento discreto
Muestre al alumnado la probabilidad del suceso, la suma ponderada elegida y la media condicional normalizada en una tabla clara.
Preguntas frecuentes
¿Qué fórmula utiliza la calculadora?
Utiliza E[X | A] = suma de x por P(X = x y A), dividida entre P(A), sobre las filas indicadas como pertenecientes a A.
¿Qué ocurre si la probabilidad condicionante es cero?
La solicitud devuelve un error de entrada no válida porque, en este cálculo finito, la esperanza condicional respecto de un suceso de probabilidad cero no está definida.
¿Deben sumar uno las probabilidades?
Sí. Las filas aportadas representan toda la distribución conjunta y sus probabilidades deben sumar uno dentro de una pequeña tolerancia de coma flotante.
¿Pueden varias filas contener el mismo valor?
Sí. Las filas representan resultados conjuntos; por eso, un mismo valor de la variable puede aparecer con probabilidades o pertenencias al suceso diferentes.
¿Cuánto cuesta una solicitud a la API?
Cada solicitud a la API cuesta $0.002. El cálculo es determinista y no recurre a modelos ni a servicios externos.
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/conditional-expectation \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"outcomes":[{"value":10,"probability":0.2,"in_event":true},{"value":20,"probability":0.3,"in_event":true},{"value":40,"probability":0.5,"in_event":false}]}'const res = await fetch("https://api.kit.forhosting.com/stat/conditional-expectation", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"outcomes": [
{
"value": 10,
"probability": 0.2,
"in_event": true
},
{
"value": 20,
"probability": 0.3,
"in_event": true
},
{
"value": 40,
"probability": 0.5,
"in_event": false
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/stat/conditional-expectation",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"outcomes": [
{
"value": 10,
"probability": 0.2,
"in_event": true
},
{
"value": 20,
"probability": 0.3,
"in_event": true
},
{
"value": 40,
"probability": 0.5,
"in_event": false
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/stat/conditional-expectation", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"outcomes":[{"value":10,"probability":0.2,"in_event":true},{"value":20,"probability":0.3,"in_event":true},{"value":40,"probability":0.5,"in_event":false}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"outcomes":[{"value":10,"probability":0.2,"in_event":true},{"value":20,"probability":0.3,"in_event":true},{"value":40,"probability":0.5,"in_event":false}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/stat/conditional-expectation", 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
{
"outcomes": [
{
"value": 10,
"probability": 0.2,
"in_event": true
},
{
"value": 20,
"probability": 0.3,
"in_event": true
},
{
"value": 40,
"probability": 0.5,
"in_event": false
}
]
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.conditional_expectation",
"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. |