Teste exato de Fisher
A tabela 2x2 com 8, 2, 1 e 5 dá um valor p bilateral de 5/143, abaixo do nível usual de 0,05. O teste exato de Fisher continua exato com amostras pequenas e células quase vazias, onde o qui-quadrado gera alertas. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- A
- 8
- B
- 2
- C
- 1
- D
- 5
- N
- 16
- Total da linha 1
- 10
- Total da linha 2
- 6
- Total da coluna 1
- 9
O teste exato de Fisher responde a uma única pergunta bem formulada: dada uma tabela de contingência 2x2 com quatro contagens inteiras não negativas, quão surpreendente é a associação observada se os totais de linha e de coluna estivessem fixos e a tabela tivesse sido extraída da distribuição hipergeométrica? Diferente de um teste qui-quadrado de independência, o procedimento de Fisher é exato para amostras pequenas e células esparsas; enumera todas as tabelas que compartilham essas margens e soma as probabilidades hipergeométricas das tabelas pelo menos tão extremas quanto a que você observou. Esta calculadora aceita as quatro contagens de célula a, b, c e d, rejeita valores negativos ou não inteiros em vez de arredondá-los em silêncio e devolve o p-valor bilateral segundo a definição de mínima verossimilhança do teste exato de Fisher clássico.
Como o teste exato de Fisher se define em uma tabela 2x2
Escreva as quatro contagens observadas no arranjo usual de livro: a na célula superior esquerda, b acima à direita, c abaixo à esquerda e d abaixo à direita. Os totais de linha são a mais b e c mais d; os de coluna são a mais c e b mais d; o total geral é n igual a a mais b mais c mais d. O argumento de Fisher condiciona nessas quatro margens.
Sob esse condicionamento a contagem superior esquerda é uma variável aleatória hipergeométrica: a probabilidade de qualquer valor admissível k é o produto dos dois coeficientes binomiais por linha C(a+b, k) e C(c+d, total-da-coluna-um menos k), dividido por C(n, total-da-coluna-um). De forma equivalente, a probabilidade de uma tabela completa é (a+b)! (c+d)! (a+c)!
(b+d)! dividido por n! a! b! c! d!. A faixa admissível de k vai de max(0, linha-um mais coluna-um menos n) até min(linha-um, coluna-um).
O p-valor bilateral informado aqui é a soma de mínima verossimilhança usada pelo teste exato de Fisher clássico e pela opção bilateral padrão das bibliotecas estatísticas habituais: soma-se a probabilidade hipergeométrica de cada tabela cuja probabilidade é menor ou igual à da tabela que você observou. Isso não é o mesmo que dobrar uma cauda unilateral, e é a quantidade que as pessoas procuram ao buscar uma calculadora do teste exato de Fisher.
O motor calcula os pesos binomiais sem normalizar com aritmética BigInt exata e só converte a razão final em um p-valor flutuante, de modo que tabelas pequenas de sala como oito, dois, um, cinco reproduzem a fração do livro em vez de uma aproximação qui-quadrado.
O que você envia e o que recebe de volta
Envie quatro contagens de célula inteiras não negativas obrigatórias chamadas a, b, c e d. Uma contagem negativa é rejeitada porque uma tabela de contingência não pode guardar uma frequência negativa. Uma contagem não inteira é rejeitada porque o teste exato de Fisher se define sobre tabelas discretas, não sobre medições arredondadas em silêncio.
O total geral n é limitado para que a enumeração hipergeométrica permaneça limitada no worker. Quando b e c são ambos positivos inclui-se a razão de chances amostral a vezes d sobre b vezes c; quando b ou c é zero a razão de chances é indefinida e essa chave é omitida em vez de fingida como null. Verificações clássicas incluem a tabela esparsa oito, dois, um, cinco, cujo p-valor bilateral é cinco sobre cento e quarenta e três, e uma célula negativa deliberada que deve falhar.
Onde um p-valor exato de Fisher 2x2 aparece no trabalho real
Cursos introdutórios de bioestatística e de estatística do ensino médio atribuem sem cessar exercícios de independência 2x2 com contagens pequenas—tratamento versus controle, exposto versus não exposto, recuperado versus falecido—em que as frequências esperadas de célula caem abaixo de cinco e em cada livro aparece um aviso qui-quadrado.
Equipes clínicas e de epidemiologia ainda relatam o p-valor exato de Fisher em tabelas esparsas de eventos adversos, 2x2 de caso-controle e desfechos binários de fase inicial quando a amostra é pequena demais para um qui-quadrado ou um teste z de proporções ser honesto. Engenheiros de qualidade e confiabilidade comparam contagens de aprovado ou reprovado antes e depois de uma mudança de processo no mesmo esquema dois por dois e precisam de um p-valor exato em vez de uma aproximação assintótica que superestima a evidência.
Analistas A/B e pesquisadores de produto às vezes têm tabelas de conversão minúsculas em um recorte de retenção e querem o mesmo número bilateral de Fisher que um estatístico citaria em um apêndice de métodos.
Se mais adiante você precisar de um teste qui-quadrado de independência, uma correlação de Matthews nas mesmas quatro células, o h de Cohen para duas proporções ou um teste t pareado de medidas antes e depois, trate-os como intenções de busca e landings distintas em vez de sobrecarregar esta página da calculadora do teste exato de Fisher.
Casos de uso
Conferências de tarefa 2x2 com amostra pequena
Alunos e corretores verificam o p-valor bilateral de Fisher a partir de quatro células inteiras sem consultar tabelas hipergeométricas nem arredondar contagens à mão.
Tabelas clínicas e epidemiológicas esparsas
Analistas testam associação em 2x2 de tratamento por desfecho quando as contagens esperadas são pequenas e uma aproximação qui-quadrado induziria a erro.
Aprovado ou reprovado de processo antes e depois de uma mudança
Engenheiros comparam duas classificações binárias em um esquema 2x2 e publicam o p-valor bilateral exato da razão de chances observada.
Perguntas frequentes
Como se dispõem as quatro células a, b, c e d?
Formam uma tabela 2x2: a é linha 1 coluna 1, b é linha 1 coluna 2, c é linha 2 coluna 1 e d é linha 2 coluna 2. Os totais de linha e de coluna são calculados a partir dessas quatro contagens.
O p-valor é unilateral ou bilateral?
Bilateral, com o método de mínima verossimilhança: o motor soma a probabilidade hipergeométrica de cada tabela com as mesmas margens cuja probabilidade é no máximo a da tabela observada.
O que acontece se uma célula é negativa ou não é um inteiro?
O teste exato de Fisher se define sobre contagens inteiras não negativas; frações e frequências negativas são rejeitadas em vez de arredondadas.
Em que difere de um teste qui-quadrado de independência?
O qui-quadrado é uma aproximação assintótica que precisa de contagens esperadas grandes. O teste exato de Fisher condiciona nas margens e é exato para tabelas 2x2 pequenas e esparsas.
Quanto custa?
A ferramenta do navegador é gratuita e executa localmente.
Ferramentas relacionadas
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/fishers-exact-test \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"a":8,"b":2,"c":1,"d":5}'const res = await fetch("https://api.kit.forhosting.com/stat/fishers-exact-test", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"a": 8,
"b": 2,
"c": 1,
"d": 5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/stat/fishers-exact-test",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"a": 8,
"b": 2,
"c": 1,
"d": 5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/stat/fishers-exact-test", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"a":8,"b":2,"c":1,"d":5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"a":8,"b":2,"c":1,"d":5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/stat/fishers-exact-test", 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
{
"a": 8,
"b": 2,
"c": 1,
"d": 5
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.fishers_exact_test",
"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_n | 2000 |
max_cell | 2000 |
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. |
Notas técnicas
Chamadas API bem-sucedidas são cobradas na base publicada de US$ 0,002 por item; entrada inválida não é cobrada.
Como o teste exato de Fisher se define em uma tabela 2x2
Cada passo é determinístico: sem sementes aleatórias, sem carimbos de relógio e sem chamadas de rede, assim quádruplas idênticas produzem sempre o mesmo JSON para corretores automáticos e fixações de integração contínua.
O que você envia e o que recebe de volta
O motor também aceita os aliases de matriz n11, n12, n21, n22 e a11, a12, a21, a22 para que um script que já guarda uma matriz numérica não precise renomear campos. Cada contagem pode chegar como inteiro JSON ou como cadeia de dígitos; frações, booleanos, NaN, Infinity, cadeias vazias e campos ausentes falham com invalid_input que nomeia a célula culpada. Em caso de sucesso, a resposta ecoa as quatro células e n, informa os dois totais de linha e os dois de coluna, devolve o p_value bilateral arredondado a doze casas decimais, marca significant_at_05 no alfa convencional de 0.05, nomeia o método como mínima verossimilhança bilateral e reafirma a fórmula. Conecte o formulário gratuito do navegador para tarefas e demonstrações e depois chame o mesmo contrato a partir de scripts quando precisar de muitos testes 2x2 sob uma só forma JSON. O preço API das chamadas bem-sucedidas é a base publicada de US$ 0,002 por item; falhas de validação não consomem saldo e nunca inventam um substituto qui-quadrado para forçar um número.
Onde um p-valor exato de Fisher 2x2 aparece no trabalho real
Um único oráculo confiável que devolve JSON limpo acelera a correção sem consultar caudas hipergeométricas à mão. Como esta capacidade é um motor parse puro, o preço API é a base publicada de US$ 0,002 por item bem-sucedido e a validação falha não consome saldo.