ANOVA depuis résumés de groupes
Réalisez une ANOVA à un facteur avec les seules moyennes, écarts types et effectifs : trois groupes de 4 aux moyennes 3, 5 et 7 et d'écart type 1 donnent un F de 16 et une valeur p de 0,001087837278. Inutile d'avoir les données brutes. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Articles, manuels et tableaux de bord publient souvent uniquement les moyennes de groupe, écarts-types et effectifs — pas les vecteurs complets d'observations. Vous avez pourtant besoin d'une analyse de variance à un facteur : la statistique F qui compare le carré moyen entre groupes au carré moyen intra-groupes, et la p-valeur de queue supérieure sous la loi F centrale. Ce calculateur d'ANOVA à partir de résumés de groupes accepte deux groupes ou plus, chacun avec moyenne, écart-type d'échantillon et taille, reconstruit le tableau classique d'ANOVA et renvoie F et p sans exiger de lignes brutes.
Ce que signifie l'ANOVA à un facteur à partir de résumés
L'analyse de variance à un facteur teste si au moins une des k moyennes de groupe diffère des autres sous le modèle usuel de normalité et d'indépendance à variances égales. Les manuels partent d'observations brutes, mais le même rapport F se récupère lorsque chaque groupe ne fournit que sa moyenne d'échantillon, son écart-type d'échantillon et sa taille. La grande moyenne est la moyenne pondérée par la taille des moyennes de groupe.
La somme des carrés entre groupes SSB accumule chaque taille multipliée par le carré de l'écart entre la moyenne du groupe et la grande moyenne. La somme des carrés intra-groupes SSW accumule chaque (n moins un) multiplié par le carré de l'écart-type d'échantillon, ce qui coïncide avec la somme des résidus au carré si l'écart est l'écart-type d'échantillon ordinaire. Les degrés de liberté sont k moins un entre groupes et N moins k intra-groupes.
Les carrés moyens divisent ces sommes par leurs degrés de liberté, et F est le rapport du carré moyen entre au carré moyen intra. La p-valeur est la probabilité qu'une variable F centrale avec ces degrés de liberté dépasse la statistique observée. La taille d'effet η² vaut SSB sur la SS totale lorsque la SS totale est positive.
Cette voie par résumés est essentielle lorsque les données brutes ne peuvent pas quitter une frontière de confidentialité, lorsque vous ne disposez que d'un tableau publié, ou lorsqu'un tableur a déjà réduit les réplicats en moyennes et écarts-types. La reconstruction manuelle échoue si l'on confond n et n moins un, si l'on mélange écart-type de population et d'échantillon, si l'on ignore des tailles inégales dans la grande moyenne, ou si la queue F se lit sur la mauvaise ligne critique.
Automatiser la reconstruction à partir des champs explicites mean, deviation et size supprime ces glissements tout en exposant les colonnes intermédiaires SS et MS qu'attend la rédaction d'une solution.
Où l'utiliser et ce qu'elle coûte
Utilisez l'outil gratuit du navigateur lorsqu'un exercice ou un tableau d'article liste déjà moyennes de groupe, écarts-types et n et que vous avez besoin du F et du p correspondants sans retaper les scores bruts.
Les usages typiques incluent la vérification des réponses d'ANOVA de manuel à partir de tableaux réduits, le filtrage de résumés d'expériences publiées avant de demander les données brutes, l'enseignement du lien entre le tableau d'ANOVA et la queue F, et l'injection de F et p dans des rapports qui ne stockent que des agrégats de groupe pour la confidentialité. Le chemin navigateur s'exécute en local et n'exige aucun compte.
Conservez au moins deux groupes avec n au moins égal à deux chacun pour des degrés de liberté intra-groupes positifs, préférez l'écart-type d'échantillon comme deviation, et traitez le résultat comme un test global à un facteur plutôt que comme substitut au contrôle d'indépendance ou de variance résiduelle à peu près comparable. Comme l'algorithme est une mathématique pure déterministe, vous pouvez tester en or vos pipelines sur des lignes de résumé fixes sans seuils Monte-Carlo instables ni bruit dépendant du temps.
Cas d’usage
Clés de devoirs et d'examens
Avec seulement les moyennes de groupe publiées, écarts-types d'échantillon et tailles, vérifiez la statistique F de l'ANOVA à un facteur et la p-valeur sur une table canonique unique.
Tableaux d'articles et de rapports
Reconstruisez F et p à partir de statistiques de résumé dans des revues ou des tableaux de bord internes lorsque les vecteurs d'observation bruts ne sont pas disponibles.
Questions fréquentes
Peut-on faire une ANOVA sans les données brutes ?
Oui. Quand un article ou un tableau ne donne que la moyenne, l'écart type et l'effectif de chaque groupe, ces trois nombres suffisent pour reconstruire les sommes des carrés, la statistique F et sa valeur p.
Comment calcule-t-on les degrés de liberté ?
Entre les groupes, c'est le nombre de groupes moins un ; à l'intérieur des groupes, l'effectif total moins le nombre de groupes. Trois groupes de 4 donnent 2 et 9.
Que mesure l'êta carré ?
C'est la part de la variation totale expliquée par les écarts entre les moyennes des groupes : la somme des carrés intergroupes divisée par la somme totale. Dans l'exemple, 32 sur 41 donne 0,780487804878.
Que se passe-t-il si tous les écarts types sont nuls ?
Si les moyennes sont aussi égales, F vaut zéro et la valeur p vaut un. Si les moyennes diffèrent, F est considéré comme infini et la valeur p vaut zéro, faute de dispersion dans les groupes.
Outils associés
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/anova-summary \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"groups":[{"mean":3,"deviation":1,"size":4,"label":"A"},{"mean":5,"deviation":1,"size":4,"label":"B"},{"mean":7,"deviation":1,"size":4,"label":"C"}]}'const res = await fetch("https://api.kit.forhosting.com/stat/anova-summary", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"groups": [
{
"mean": 3,
"deviation": 1,
"size": 4,
"label": "A"
},
{
"mean": 5,
"deviation": 1,
"size": 4,
"label": "B"
},
{
"mean": 7,
"deviation": 1,
"size": 4,
"label": "C"
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/stat/anova-summary",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"groups": [
{
"mean": 3,
"deviation": 1,
"size": 4,
"label": "A"
},
{
"mean": 5,
"deviation": 1,
"size": 4,
"label": "B"
},
{
"mean": 7,
"deviation": 1,
"size": 4,
"label": "C"
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/stat/anova-summary", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"groups":[{"mean":3,"deviation":1,"size":4,"label":"A"},{"mean":5,"deviation":1,"size":4,"label":"B"},{"mean":7,"deviation":1,"size":4,"label":"C"}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"groups":[{"mean":3,"deviation":1,"size":4,"label":"A"},{"mean":5,"deviation":1,"size":4,"label":"B"},{"mean":7,"deviation":1,"size":4,"label":"C"}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/stat/anova-summary", 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
{
"groups": [
{
"mean": 3,
"deviation": 1,
"size": 4,
"label": "A"
},
{
"mean": 5,
"deviation": 1,
"size": 4,
"label": "B"
},
{
"mean": 7,
"deviation": 1,
"size": 4,
"label": "C"
}
]
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.anova_summary",
"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. |
Notes techniques
Comment cette capacité calcule F et p
Chaque objet doit inclure mean (nombre fini), deviation (écart-type d'échantillon non négatif) et size (entier n au moins égal à deux). Le label optionnel nomme le groupe dans le tableau de réponse ; s'il est omis, les groupes sont étiquetés G1, G2, et ainsi de suite. Il forme ensuite N comme somme des tailles, la grande moyenne comme moyenne pondérée par la taille, SSB et SSW comme ci-dessus, les degrés de liberté, les carrés moyens, F égal à MSB sur MSW lorsque MSW est positif, et la p-valeur de queue supérieure via l'identité de la beta incomplète régularisée de la loi F. Lorsque tout écart est nul et que toutes les moyennes coïncident, F vaut zéro et p vaut un. Vous envoyez un corps JSON avec un tableau groups obligatoire d'au moins deux objets. Des alias tels que sd, std, n et summaries sont acceptés par commodité, mais le contrat canonique est mean, deviation et size. Le moteur rejette moins de deux groupes, les nombres non finis, les écarts négatifs, les tailles non entières ou trop petites et les lignes mal formées avec invalid_input et sans facturation. Lorsque les écarts sont tous nuls mais que les moyennes diffèrent encore, F est traité comme infini, p vaut zéro et f_statistic est null avec f_statistic_infinite true afin que le JSON reste fini. La réponse renvoie aussi k, n_total, grand_mean, df_between, df_within, ss_between, ss_within, ss_total, ms_between, ms_within, eta_squared, les groupes en écho et une courte chaîne de formule. Il n'y a ni aléa, ni horloge, ni réseau ; des résumés identiques produisent toujours le même JSON. Le travail est validation plus arithmétique O de k plus une évaluation bornée de fraction continue de la beta incomplète, dans le modèle de coût analytique de cette capacité parse de tier A au prix de $0.002 par requête réussie.
Où l'utiliser et ce qu'elle coûte
Appelez l'API lorsqu'un carnet, un journal de notes, un pipeline de méta-analyse ou un job d'analytique produit doit résoudre de nombreux tableaux-résumés multi-groupes de la même façon à chaque fois. L'usage de l'API débite le solde prépayé KIT au prix de base publié de $0.002 par requête réussie ; une validation échouée ne consomme pas de solde.
Cas d'intégration
Analytique préservant la confidentialité
Traitez par lots des agrégats au niveau du groupe via l'API pour tester des expériences multi-bras sans expédier de données individuelles.
Questions techniques
Comment lancer une ANOVA à partir de résumés de groupes avec cette API ?
Envoyez en POST un JSON avec groups comme tableau d'objets, chacun avec mean, deviation (écart-type d'échantillon) et size (n ≥ 2). La réponse inclut ss_between, ss_within, ms_between, ms_within, f_statistic et p_value.
La deviation est-elle l'écart-type d'échantillon ou de population ?
Utilisez l'écart-type d'échantillon ordinaire (diviseur n−1). La SS intra-groupes est reconstruite comme Σ (n_i − 1) · deviation_i², ce qui correspond à cette convention.
Quelle erreur obtient-on avec moins de deux groupes ?
La validation échoue avec invalid_input indiquant que l'ANOVA à un facteur à partir de résumés exige au moins deux groupes. Cet échec n'est pas facturé.
Le calculateur d'ANOVA à partir de résumés de groupes est-il gratuit ?
Le widget du navigateur est gratuit et s'exécute en local. Les appels API utilisent le solde prépayé KIT au prix de base publié de $0.002 ; une entrée invalide n'est pas facturée.
Le résultat est-il toujours le même pour les mêmes entrées ?
Oui. L'algorithme est une arithmétique analytique pure avec un chemin fixe de p-valeur par beta incomplète, sans aléa ni horodatage, de sorte que des résumés identiques produisent le même JSON.