Métodos e exatidão
Qual fórmula, qual variante e como sabemos que está certa. Escrito para professores, revisores e para quem compara um resultado com SPSS, R, JASP ou jamovi.
Como o motor é verificado
O ExplainStats é um complemento do Google Sheets, mas seu motor estatístico é JavaScript puro, que também roda fora do Google Sheets. Isso nos permite compará-lo, automaticamente, com implementações de referência em centenas de conjuntos de dados aleatórios. Cada build executa essas comparações; uma versão só é publicada quando todas passam.
| Script de comparação | O que verifica | Referência | Verificações |
|---|---|---|---|
| Núcleo | Funções de distribuição (t, F, χ²: caudas e inversas), estatística descritiva, histograma, matriz de correlação de Pearson, testes t (três tipos, com o intervalo de confiança da diferença e o d de Cohen), teste F, ANOVA de um fator, regressão linear com resíduos, teste qui-quadrado e correção de Yates | SciPy, statsmodels | 912 |
| Avançado | Shapiro-Wilk, Levene e Brown-Forsythe, Mann-Whitney (exato e normal, com e sem empates), Wilcoxon de postos sinalizados, Kruskal-Wallis, Spearman, teste exato de Fisher, distribuição da amplitude estudentizada, Tukey HSD, Games-Howell, ANOVA de dois fatores com e sem repetição, teste z, covariância, alfa de Cronbach, posto e percentil | SciPy, statsmodels, referências calculadas à mão | 431 |
| ANOVA de Welch e Friedman | F de Welch, graus de liberdade e valor-p; χ² de Friedman | statsmodels, SciPy | 22 |
| Ferramentas Pro | Distribuição t não central, tamanho de amostra e poder (testes t, duas proporções, correlação), teste A/B, gráficos de controle (I-MR, X-barra/R), média móvel, suavização exponencial, momentos de números aleatórios | SciPy, statsmodels | 50 |
| Total | Tolerância: relativa de 10-8 nas estatísticas e de 10-7 nos valores-p (mais estrita que qualquer saída impressa) | 1.415 | |
Além dessas, 248 cenários de ponta a ponta executam o complemento inteiro em uma planilha simulada, nos quatro idiomas (todas as ferramentas, o modo prova, as abas de passos, as mensagens de erro), e um revisor independente refez à mão os resultados de Welch, ANOVA, Tukey, Games-Howell, Shapiro-Wilk, Levene, Mann-Whitney e Kruskal-Wallis, comparando-os com o SciPy 1.17 e o statsmodels 0.15, com concordância melhor que 10-9.
Encontrou uma discrepância? Escreva para [email protected] com um pequeno exemplo. Um erro confirmado é corrigido em até sete dias e listado nesta página.
Variantes e convenções, teste a teste
Cada software faz escolhas padrão diferentes. Estas são as nossas, para que você possa explicar por que um número difere do de outro programa.
| Teste | O que o ExplainStats calcula | Igual a |
|---|---|---|
| Estatística descritiva | Variância e desvio padrão amostrais (n − 1). Assimetria e curtose com as fórmulas ajustadas para amostra do Excel (SKEW, KURT, curtose em excesso). Quartis por interpolação linear entre estatísticas de ordem (QUARTILE.INC, tipo 7 do R). Outliers: além de 1,5 × IQR (amplitude interquartil) a partir dos quartis. Intervalo de confiança da média com a distribuição t. | Excel, Google Sheets, R (tipo 7) |
| Testes t | Pareado, variâncias iguais (combinada, pooled) e Welch (variâncias desiguais, graus de liberdade de Welch–Satterthwaite). Valor-p bilateral; o unilateral também é mostrado. Intervalo de confiança da diferença: diferença ± tα/2, gl × EP, com o mesmo EP do teste. O Assistente usa Welch por padrão, como recomendado desde Delacre et al. (2017). | SciPy ttest_ind, ttest_rel; R t.test |
| d de Cohen | Variâncias iguais: desvio padrão combinado. Welch: média das duas variâncias, √((s₁² + s₂²)/2). Pareado: dz = média das diferenças ÷ desvio padrão das diferenças. A tabela indica a variante. Limiares: 0,2 pequeno, 0,5 médio, 0,8 grande (Cohen, 1988). Sem correção de Hedges. | JASP (d e dz), G*Power |
| ANOVA de um fator | F clássico com η² (SQentre/SQtotal). O Tukey HSD usa a distribuição da amplitude estudentizada calculada com o algoritmo de Copenhaver & Holland (o mesmo do ptukey do R), na forma de Tukey–Kramer para grupos de tamanhos desiguais. | SciPy f_oneway, statsmodels pairwise_tukeyhsd, R TukeyHSD |
| ANOVA de Welch | F de Welch com seus graus de liberdade aproximados; testes post hoc de Games-Howell com graus de liberdade de Welch para cada par. | statsmodels anova_oneway(use_var="unequal"), R oneway.test |
| ANOVA de dois fatores | Apenas delineamentos balanceados (mesmo número de linhas por amostra); nesse caso, somas de quadrados do tipo I = tipo III, como nas Ferramentas de Análise (Analysis ToolPak). | statsmodels OLS/ANOVA, Excel |
| Normalidade | W de Shapiro-Wilk com o algoritmo de Royston de 1995 (AS R94), 3 ≤ n ≤ 5.000, mais um gráfico Q-Q. No Assistente, um grupo que reprova no teste mas tem n ≥ 30 ainda é analisado com um teste paramétrico, e o relatório diz isso explicitamente. | SciPy shapiro, R shapiro.test |
| Igualdade de variâncias | Levene (centro = média) e Brown-Forsythe (centro = mediana). O Assistente usa Brown-Forsythe. | SciPy levene |
| U de Mann-Whitney | Distribuição exata quando não há empates e um dos grupos tem 8 valores ou menos; caso contrário, aproximação normal com correção para empates e correção de continuidade (0,5). Bilateral. | Padrões do SciPy mannwhitneyu |
| Wilcoxon de postos sinalizados | Diferenças nulas descartadas. Distribuição exata quando não há empates e n ≤ 50; caso contrário, aproximação normal com correções para empates e de continuidade. | SciPy wilcoxon (zero_method="wilcox") |
| Kruskal-Wallis | H com correção para empates; quando significativo, testes de Mann-Whitney par a par com correção de Bonferroni (não o teste de Dunn; a tabela indica qual). | SciPy kruskal |
| Friedman | Estatística χ² com correção para empates, k − 1 graus de liberdade. | SciPy friedmanchisquare |
| Correlação | r de Pearson e ρ de Spearman (Pearson sobre os postos médios); valor-p a partir de t = r √((n − 2)/(1 − r²)) com n − 2 graus de liberdade, bilateral. | SciPy pearsonr, spearmanr |
| Regressão | Mínimos quadrados ordinários por decomposição QR (estável com preditores correlacionados), até 16 preditores; R², R² ajustado, erro padrão, tabela ANOVA, coeficientes com t, p e intervalos de confiança, resíduos. Mesmo layout de tabela das Ferramentas de Análise (Analysis ToolPak). | statsmodels OLS, Excel |
| Qui-quadrado | χ² de independência de Pearson sem correção, V de Cramér, aviso quando as frequências esperadas são menores que 5. Para tabelas 2 × 2, a tabela também dá χ² e p com a correção de continuidade de Yates (|O − E| reduzido em 0,5, nunca abaixo de 0), o padrão do R e a linha “Continuity Correction” do SPSS. | SciPy chi2_contingency (correction=False / True) |
| Teste exato de Fisher | Somente 2 × 2; valor-p bilateral como a soma das probabilidades de todas as tabelas no máximo tão prováveis quanto a observada (a convenção do R); razão de chances (odds ratio). | R fisher.test |
| Alfa de Cronbach | Somente linhas completas; alfa e “alfa se o item for excluído”; limiares 0,7 aceitável, 0,8 bom, 0,9 excelente. | Fórmula padrão |
| Teste A/B | Teste z para duas proporções com erro padrão combinado, bilateral; diferença com seu intervalo de confiança; tamanho de amostra necessário para o ganho (lift) observado. | statsmodels proportions_ztest |
| Tamanho de amostra e poder | Testes t pela distribuição t não central (exata), duas proporções pelo h de Cohen, correlação pelo z de Fisher. | Classes de poder do statsmodels, G*Power |
| Gráficos de controle | I-MR (constantes 2,66 e 3,267), X-barra/R com as constantes usuais A₂, D₃, D₄ (subgrupos de 2 a 10), gráfico p com limites normais. | Montgomery, Statistical Quality Control |
O que saber antes de comparar com outros softwares
- Gráfico de quartis, não um box plot completo. O Google Sheets não tem box plot nativo. O ExplainStats desenha um gráfico de velas (candlestick) cuja caixa vai de Q1 a Q3 e cujas linhas vão do menor ao maior valor dentro das cercas de 1,5 × IQR. Ele não desenha a linha da mediana nem os pontos dos outliers; ambos estão na tabela de resultados.
- Arredondamento. As tabelas mantêm a precisão completa (exibida com 4 casas decimais); a interpretação e a linha APA arredondam para 2 ou 3 casas decimais, e os valores-p abaixo de 0,001 são escritos “p < 0,001”.
- Testes exatos. A alternância entre métodos exatos e aproximados (Mann-Whitney, Wilcoxon) segue os padrões do SciPy, que diferem dos do SPSS (assintótico, a menos que você peça o exato) e dos do R (exato abaixo de 50 sem empates). A linha “Método” de cada tabela indica qual foi usado.
- Welch por padrão. O Assistente recomenda o teste t de Welch mesmo quando as variâncias parecem iguais, porque ele quase nada perde quando elas são iguais e protege você quando não são. O teste t de Student clássico continua disponível como ferramenta.
- Nada é simulado. Sem bootstrap, sem Monte Carlo: todo valor-p é calculado a partir da distribuição, então executar um teste duas vezes dá o mesmo número. Apenas as ferramentas de números aleatórios e de amostragem usam um gerador aleatório (com semente configurável).
Reproduzindo as verificações
Os scripts de comparação são arquivos Python que carregam o motor do complemento com o Node.js, geram conjuntos de dados aleatórios, executam o SciPy e o statsmodels nos mesmos dados e comparam cada número. Se você ensina estatística e gostaria de executá-los, ou de acrescentar um caso que importa para o seu curso, escreva para [email protected].