Calculateur d'espérance conditionnelle selon un événement
L'espérance conditionnelle indique la valeur moyenne d'une variable aléatoire lorsque vous savez qu'un événement précis s'est produit.
Lancer gratuitement
Tout se passe dans votre navigateur : gratuit, sans envoi de vos données.
Ce calculateur reçoit une liste finie de valeurs possibles, la probabilité conjointe associée à chaque issue et un indicateur précisant si cette issue appartient à l'événement conditionnant. Il additionne la masse de probabilité comprise dans l'événement, renormalise les issues retenues et renvoie l'espérance obtenue. Il fournit également la probabilité intermédiaire et la somme pondérée, afin que vous puissiez contrôler le calcul ou l'intégrer à une analyse plus vaste.
Représentez les issues conjointes et l'événement conditionnant
Saisissez une ligne pour chaque issue conjointe possible du modèle discret. Le champ value contient la valeur prise par la variable aléatoire X, tandis que probability correspond à la masse de probabilité attribuée à cette issue complète. Définissez in_event sur true uniquement lorsque l'issue appartient à l'événement A sur lequel vous souhaitez conditionner le calcul. Les valeurs répétées sont admises, car plusieurs issues sous-jacentes peuvent donner la même valeur de X tout en différant par leur appartenance à l'événement ou leur probabilité. Ensemble, les lignes doivent décrire une distribution complète : leurs probabilités doivent être positives ou nulles et totaliser un. Ce format explicite évite toute confusion entre probabilités marginales, conditionnelles et conjointes, puisque chaque probabilité se rapporte à l'issue de sa propre ligne. Vous pouvez inclure des issues de probabilité nulle pour documenter le modèle, même si elles ne modifient pas le résultat. Ne normalisez pas à l'avance les seules lignes retenues ; fournissez les probabilités conjointes initiales afin que le calculateur détermine P(A) et effectue correctement le conditionnement.
Comprenez le calcul de l'espérance conditionnelle
Le calculateur additionne d'abord les probabilités de toutes les lignes marquées in_event afin d'obtenir la probabilité conditionnante P(A). Séparément, il multiplie chaque valeur retenue par sa probabilité conjointe initiale, puis additionne ces produits. L'espérance conditionnelle est cette somme pondérée divisée par P(A) : E[X sachant A] est égale à la somme de x multiplié par P(X égal à x et A), divisée par P(A). Cette division renormalise la masse sélectionnée pour qu'elle constitue une distribution complète une fois l'événement connu. La réponse contient conditional_expectation, conditioning_probability et weighted_event_sum, ainsi que le nombre de lignes retenues et le nombre total. Ces résultats intermédiaires facilitent l'audit et la détection des erreurs de modélisation. Si P(A) vaut zéro, la division est indéfinie ; la capacité renvoie donc une erreur de saisie plutôt que Infinity, NaN ou une valeur trompeuse. Tous les calculs sont déterministes et utilisent directement les nombres finis fournis.
Vérifiez les hypothèses avant d'utiliser le résultat
Une moyenne conditionnelle n'a de sens qu'à la mesure de l'événement et de la distribution que vous fournissez. Vérifiez que les lignes sont mutuellement exclusives et collectivement exhaustives : un chevauchement compterait deux fois une probabilité, tandis qu'une omission rendrait la distribution incomplète. Le contrôle de la somme égale à un repère de nombreux oublis, mais ne peut pas déterminer si deux issues sémantiquement distinctes se recouvrent. Assurez-vous aussi que in_event traduit bien l'information réellement observée. Conditionner sur un événement proche mais différent peut produire un chiffre plausible qui répond à une autre question. Pour des valeurs très grandes ou très petites, examinez weighted_event_sum et conditioning_probability comme contrôle numérique rapide. Un événement rare peut rendre l'espérance très sensible à une faible masse de probabilité ; cette sensibilité est mathématiquement légitime, mais les probabilités saisies méritent alors une attention accrue. Pour automatiser vos traitements, le même calcul déterministe est accessible par l'API au tarif de $0.002 par requête, avec des contrôles reproductibles pour les risques, la qualité, l'enseignement et l'aide à la décision.
Cas d’usage
Perte attendue après un déclencheur
Calculez la perte moyenne dans les scénarios où survient un déclencheur contractuel, un défaut ou un seuil opérationnel.
Résultat qualité après contrôle
Déterminez la mesure attendue sachant qu'un article a réussi ou échoué à un contrôle précis.
Enseignement du conditionnement discret
Présentez la probabilité de l'événement, la somme pondérée retenue et la moyenne conditionnelle normalisée dans un tableau transparent.
Questions fréquentes
Quelle formule le calculateur applique-t-il ?
Il applique E[X | A] = somme de x multiplié par P(X = x et A), divisée par P(A), sur les lignes indiquées comme appartenant à A.
Que se passe-t-il si la probabilité conditionnante est nulle ?
La requête renvoie une erreur de saisie, car l'espérance conditionnelle d'un événement de probabilité nulle est indéfinie dans ce calcul fini.
Les probabilités doivent-elles totaliser un ?
Oui. Les lignes fournies représentent toute la distribution conjointe et leurs probabilités doivent totaliser un, à une faible tolérance numérique près.
Plusieurs lignes peuvent-elles avoir la même valeur ?
Oui. Les lignes représentent des issues conjointes ; une même valeur de la variable peut donc apparaître avec des probabilités ou des appartenances différentes.
Quel est le prix d'une requête API ?
Chaque requête API coûte $0.002. Le calcul est déterministe et ne fait appel à aucun modèle ni service externe.
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre 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)Exemple de requête
{
"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
}
]
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.conditional_expectation",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |