Teste de postos sinalizados de Wilcoxon: estatística e p
A calculadora do teste de postos sinalizados de Wilcoxon compara duas amostras numéricas pareadas sem exigir distribuição normal das diferenças.
Executar grátis
Ela classifica as magnitudes das diferenças não nulas, recupera seus sinais e informa como estatística a menor soma de postos sinalizados. Você também recebe um valor p bilateral aproximado, as somas dos postos positivos e negativos e as contagens de pares usados e diferenças nulas. Assim, o resultado pode ser conferido e reproduzido com clareza. O cálculo é determinístico e não depende de acesso à rede.
Quando o teste de postos sinalizados é adequado
Use o teste de postos sinalizados de Wilcoxon quando cada valor do primeiro array tiver um par significativo no segundo. Exemplos comuns incluem medições da mesma pessoa antes e depois de uma intervenção, leituras de dois instrumentos aplicados às mesmas amostras ou observações pareadas coletadas em duas condições. O método testa se a distribuição das diferenças pareadas está centrada em zero e costuma ser interpretado como um teste da diferença mediana quando essa distribuição é razoavelmente simétrica. Ele não trata os arrays como amostras independentes. Portanto, a ordem importa: o valor em cada posição de <code>x</code> é comparado somente com o valor na mesma posição de <code>y</code>. Os dois arrays precisam conter números finitos e ter exatamente o mesmo comprimento. Se as observações não forem relacionadas, um procedimento para amostras independentes será mais adequado. Se as diferenças pareadas forem muito assimétricas, considere o teste dos sinais ou apresente as próprias diferenças ao lado deste resultado, em vez de depender apenas de uma interpretação da mediana.
Como postos, empates, zeros e valor p são calculados
Para cada par, a calculadora subtrai <code>y</code> de <code>x</code>. Diferenças exatamente iguais a zero são removidas porque não fornecem evidência positiva nem negativa. As diferenças absolutas restantes são ordenadas da menor para a maior e recebem postos a partir de um. Quando várias diferenças absolutas empatam, cada uma recebe a média das posições ocupadas pelo grupo empatado. Em seguida, os sinais originais são restaurados e os postos positivos e negativos são somados separadamente. A estatística de Wilcoxon informada é a menor dessas duas somas, conforme a convenção bilateral usual. O valor p aproximado vem de uma aproximação normal da distribuição da soma dos postos. A variância é ajustada para empates nas diferenças absolutas, e uma correção de continuidade de meio ponto é aplicada antes do cálculo da probabilidade bilateral de cauda. Como se trata de uma aproximação, e não de um cálculo exato por permutação, amostras muito pequenas exigem cautela, especialmente quando há muitos empates ou diferenças nulas.
Como interpretar e relatar o resultado com responsabilidade
Um valor p pequeno indica que a massa dos postos está concentrada de forma incomum em um lado de zero sob o modelo nulo, mas não mede importância prática. Consulte <code>positive_rank_sum</code> e <code>negative_rank_sum</code> para entender a direção da mudança observada: postos positivos correspondem aos pares em que <code>x</code> é maior que <code>y</code>, enquanto os negativos indicam o contrário. O campo <code>nonzero_pairs</code> mostra o tamanho efetivo da amostra usado no teste, e <code>zero_differences</code> informa quantos dados foram excluídos da classificação. Relate juntos a estatística, o valor p bilateral aproximado, o tamanho efetivo da amostra e a convenção de direção. Também é recomendável apresentar uma estimativa pareada do efeito, como a mediana das diferenças entre pares, com um intervalo ou resumo descritivo claro. Significância estatística não substitui avaliação especializada, revisão do desenho do estudo nem correção para múltiplos testes quando muitas hipóteses são examinadas. O cálculo no navegador é gratuito; uma solicitação automatizada à API usa o preço-base exibido de US$ 0,002.
Casos de uso
Avaliar medições antes e depois
Compare valores pareados iniciais e posteriores quando a normalidade das diferenças não for uma suposição confortável.
Comparar instrumentos pareados
Teste se dois dispositivos aplicados às mesmas amostras apresentam um deslocamento sistemático com sinal.
Analisar avaliações repetidas
Compare duas condições avaliadas pelas mesmas pessoas preservando o pareamento de cada participante.
Perguntas frequentes
Qual hipótese esta calculadora testa?
Ela realiza um teste bilateral de que a distribuição das diferenças pareadas está centrada em zero. Interpretá-lo especificamente como teste da mediana pressupõe uma distribuição de diferenças razoavelmente simétrica.
O que acontece quando os arrays têm comprimentos diferentes?
A solicitação falha com um erro de entrada inválida, pois cada observação precisa ter exatamente um par.
Como as diferenças nulas são tratadas?
Pares com diferença exatamente igual a zero são excluídos da classificação e contabilizados em zero_differences.
Como diferenças absolutas empatadas recebem postos?
Cada elemento empatado recebe a média das posições ocupadas pelo empate, e a variância do valor p é ajustada para esses empates.
O valor p é exato?
Não. Ele é uma aproximação normal bilateral com variância ajustada para empates e correção de continuidade; amostras efetivas pequenas exigem cautela.
Quanto custa um cálculo pela API?
Cada solicitação à API usa o preço-base US$ 0,002. O mesmo cálculo determinístico pode ser executado gratuitamente no navegador.
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
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)Exemplo de requisição
{
"x": [
12,
15,
14,
10,
18,
20
],
"y": [
10,
14,
15,
8,
17,
16
]
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.wilcoxon_signed_rank",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
max_items | 10000 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |