Pular para o conteúdo principal

kolmogorovSmirnovTest

Introduzido em: v23.4.0 Aplica o teste de Kolmogorov-Smirnov a amostras de duas populações. Os valores de ambas as amostras estão na coluna sample_data. Se sample_index for igual a 0, o valor nessa linha pertence à amostra da primeira população. Caso contrário, pertence à amostra da segunda população. As amostras devem pertencer a distribuições de probabilidade contínuas e unidimensionais. Sintaxe
kolmogorovSmirnovTest([alternative, computation_method])(sample_data, sample_index)
Parâmetros
  • alternative — Hipótese alternativa. (Opcional, padrão: ‘two-sided’.) Sejam F(x) e G(x) as CDFs da primeira e da segunda distribuição, respectivamente. ‘two-sided’: a hipótese nula é que as amostras vêm da mesma distribuição, por exemplo, F(x) = G(x) para todo x. A alternativa é que as distribuições não sejam idênticas. ‘greater’: a hipótese nula é que os valores da primeira amostra sejam estocasticamente menores que os da segunda, por exemplo, a CDF da primeira distribuição fica acima e, portanto, à esquerda da CDF da segunda. Isso, na prática, significa que F(x) >= G(x) para todo x. A alternativa, nesse caso, é que F(x) < G(x) para pelo menos um x. ‘less’: a hipótese nula é que os valores da primeira amostra sejam estocasticamente maiores que os da segunda, por exemplo, a CDF da primeira distribuição fica abaixo e, portanto, à direita da CDF da segunda. Isso, na prática, significa que F(x) <= G(x) para todo x. A alternativa, nesse caso, é que F(x) > G(x) para pelo menos um x. String
  • computation_method — O método usado para calcular o valor-p. (Opcional, padrão: ‘auto’.) ‘exact’: o cálculo é realizado usando a distribuição de probabilidade exata das estatísticas do teste. Exige muito processamento e é desnecessário, exceto para amostras pequenas. ‘asymp’ (‘asymptotic’): o cálculo é realizado usando uma aproximação. Para tamanhos de amostra grandes, os valores-p exato e assintótico são muito semelhantes. ‘auto’: o método ‘exact’ é usado quando o número máximo de amostras é menor que 10’000. String
Argumentos Valor retornado Retorna uma tupla com dois elementos: uma estatística calculada e um valor-p calculado. Tuple(Float64, Float64) Exemplos Teste de mesma distribuição
Query
SELECT kolmogorovSmirnovTest('less', 'exact')(value, num)
FROM
(
    SELECT
        randNormal(0, 10) AS value,
        0 AS num
    FROM numbers(10000)
    UNION ALL
    SELECT
        randNormal(0, 10) AS value,
        1 AS num
    FROM numbers(10000)
)
Response
┌─kolmogorovSmirnovTest('less', 'exact')(value, num)─┐
│ (0.009899999999999996,0.37528595205132287)         │
└────────────────────────────────────────────────────┘
Teste para distribuições diferentes
Query
SELECT kolmogorovSmirnovTest('two-sided', 'exact')(value, num)
FROM
(
    SELECT
        randStudentT(10) AS value,
        0 AS num
    FROM numbers(100)
    UNION ALL
    SELECT
        randNormal(0, 10) AS value,
        1 AS num
    FROM numbers(100)
)
Response
┌─kolmogorovSmirnovTest('two-sided', 'exact')(value, num)─┐
│ (0.4100000000000002,6.61735760482795e-8)                │
└─────────────────────────────────────────────────────────┘
Veja também
Última modificação em 10 de junho de 2026