Test des rangs signés de Wilcoxon : statistique et valeur p
Le calculateur du test des rangs signés de Wilcoxon compare deux échantillons numériques appariés sans imposer une loi normale à leurs différences.
Lancer gratuitement
Il classe les valeurs absolues des différences non nulles, rétablit leur signe et fournit comme statistique la plus petite somme de rangs signés. Vous obtenez aussi une valeur p bilatérale approchée, les sommes des rangs positifs et négatifs, ainsi que le nombre de paires retenues et de différences nulles. Le résultat reste ainsi facile à contrôler et à reproduire. Le calcul est déterministe et ne nécessite aucun accès au réseau.
Quand choisir le test des rangs signés
Utilisez le test des rangs signés de Wilcoxon lorsque chaque valeur du premier tableau possède une correspondante pertinente dans le second. Il s'applique notamment aux mesures réalisées sur une même personne avant et après une intervention, aux relevés de deux instruments utilisés sur les mêmes spécimens ou aux observations appariées recueillies dans deux conditions. La méthode teste si la distribution des différences appariées est centrée sur zéro. Elle est souvent présentée comme un test de la différence médiane lorsque cette distribution est suffisamment symétrique. Elle ne considère pas les tableaux comme des échantillons indépendants. Leur ordre est donc essentiel : chaque valeur de <code>x</code> est comparée uniquement à la valeur située au même emplacement dans <code>y</code>. Les deux tableaux doivent contenir des nombres finis et avoir exactement la même longueur. Pour des observations sans lien, préférez une méthode destinée aux échantillons indépendants. Si les différences sont fortement asymétriques, envisagez le test des signes ou présentez directement les différences appariées avec ce résultat, sans vous limiter à une interprétation fondée sur la médiane.
Calcul des rangs, ex æquo, zéros et valeur p
Pour chaque paire, le calculateur soustrait <code>y</code> de <code>x</code>. Les différences exactement nulles sont retirées, car elles n'apportent aucun élément positif ou négatif. Les valeurs absolues restantes sont triées par ordre croissant et reçoivent un rang à partir de un. Lorsque plusieurs valeurs absolues sont ex æquo, chacune reçoit la moyenne des positions occupées par le groupe. Les signes d'origine sont ensuite rétablis, puis les rangs positifs et négatifs sont additionnés séparément. La statistique de Wilcoxon fournie correspond à la plus petite de ces deux sommes, selon la convention bilatérale usuelle. La valeur p approchée repose sur une approximation normale de la distribution de la somme des rangs. Sa variance tient compte des ex æquo, et une correction de continuité d'un demi-point est appliquée avant le calcul de la probabilité bilatérale. Puisqu'il s'agit d'une approximation et non d'un calcul exact par permutation, interprétez prudemment les très petits échantillons, surtout en présence de nombreux ex æquo ou de différences nulles.
Interpréter et présenter le résultat avec discernement
Une petite valeur p indique que, sous le modèle nul, les rangs se concentrent de façon inhabituelle d'un côté de zéro, mais elle ne mesure pas l'importance pratique. Consultez <code>positive_rank_sum</code> et <code>negative_rank_sum</code> pour connaître le sens de l'évolution observée : les rangs positifs désignent les paires où <code>x</code> dépasse <code>y</code>, tandis que les rangs négatifs signalent l'inverse. Le champ <code>nonzero_pairs</code> donne l'effectif réellement utilisé par le test et <code>zero_differences</code> indique combien de paires ont été exclues du classement. Présentez ensemble la statistique, la valeur p bilatérale approchée, l'effectif utile et la convention de sens. Il est également recommandé de communiquer une estimation appariée de l'effet, par exemple la médiane des différences entre paires, accompagnée d'un intervalle ou d'un résumé descriptif clair. La significativité statistique ne remplace ni l'expertise métier, ni l'examen du protocole, ni une correction pour comparaisons multiples lorsque de nombreuses hypothèses sont étudiées. Le calcul dans le navigateur est gratuit ; une requête automatisée à l'API utilise le tarif de base affiché de $0.002.
Cas d’usage
Évaluer des mesures avant et après
Comparez des valeurs initiales et finales appariées lorsque la normalité des différences paraît peu plausible.
Comparer des instruments appariés
Vérifiez si deux appareils employés sur les mêmes spécimens présentent un décalage systématique signé.
Analyser des évaluations répétées
Comparez deux conditions notées par les mêmes personnes tout en conservant l'appariement individuel.
Questions fréquentes
Quelle hypothèse ce calculateur teste-t-il ?
Il réalise un test bilatéral selon lequel la distribution des différences appariées est centrée sur zéro. L'interpréter précisément comme un test de médiane suppose une distribution des différences suffisamment symétrique.
Que se passe-t-il si les tableaux n'ont pas la même longueur ?
La requête échoue avec une erreur de saisie, car chaque observation doit posséder exactement une correspondante.
Comment les différences nulles sont-elles traitées ?
Les paires dont la différence vaut exactement zéro sont exclues du classement et comptabilisées dans zero_differences.
Comment classez-vous les valeurs absolues ex æquo ?
Chaque valeur ex æquo reçoit la moyenne des positions occupées par le groupe, et la variance employée pour la valeur p est corrigée en conséquence.
La valeur p est-elle exacte ?
Non. Il s'agit d'une approximation normale bilatérale avec variance corrigée pour les ex æquo et correction de continuité ; les petits effectifs utiles demandent donc de la prudence.
Quel est le coût d'un calcul par API ?
Chaque requête API utilise le tarif de base $0.002. Le même calcul déterministe peut être exécuté gratuitement dans le navigateur.
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/wilcoxon-signed-rank \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"x":[12,15,14,10,18,20],"y":[10,14,15,8,17,16]}'const res = await fetch("https://api.kit.forhosting.com/stat/wilcoxon-signed-rank", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"x": [
12,
15,
14,
10,
18,
20
],
"y": [
10,
14,
15,
8,
17,
16
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/stat/wilcoxon-signed-rank",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"x": [
12,
15,
14,
10,
18,
20
],
"y": [
10,
14,
15,
8,
17,
16
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/stat/wilcoxon-signed-rank", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"x":[12,15,14,10,18,20],"y":[10,14,15,8,17,16]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"x":[12,15,14,10,18,20],"y":[10,14,15,8,17,16]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/stat/wilcoxon-signed-rank", 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
{
"x": [
12,
15,
14,
10,
18,
20
],
"y": [
10,
14,
15,
8,
17,
16
]
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.wilcoxon_signed_rank",
"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.
Limites
max_items | 10000 |
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. |