kolmogorovSmirnovTest
Introduit dans : v23.4.0
Applique le test de Kolmogorov-Smirnov à des échantillons provenant de deux populations.
Les valeurs des deux échantillons se trouvent dans la colonne sample_data. Si sample_index est égal à 0, la valeur de cette ligne appartient à l’échantillon de la première population. Sinon, elle appartient à l’échantillon de la seconde population.
Les échantillons doivent provenir de distributions de probabilité continues unidimensionnelles.
Syntaxe
kolmogorovSmirnovTest([alternative, computation_method])(sample_data, sample_index)Paramètres
alternative— Hypothèse alternative. (Facultatif, par défaut : 'two-sided'.) SoientF(x) and G(x)les fonctions de répartition de la première et de la seconde distribution, respectivement. 'two-sided' : l’hypothèse nulle est que les échantillons proviennent de la même distribution, par ex.F(x) = G(x)pour tout x. L’alternative est que les distributions ne sont pas identiques. 'greater' : l’hypothèse nulle est que les valeurs du premier échantillon sont stochastiquement inférieures à celles du second, par ex. la fonction de répartition de la première distribution se situe au-dessus et donc à gauche de celle de la seconde. Cela signifie en fait queF(x) >= G(x)pour tout x. L’alternative, dans ce cas, est queF(x) < G(x)pour au moins un x. 'less' : l’hypothèse nulle est que les valeurs du premier échantillon sont stochastiquement supérieures à celles du second, par ex. la fonction de répartition de la première distribution se situe en dessous et donc à droite de celle de la seconde. Cela signifie en fait queF(x) <= G(x)pour tout x. L’alternative, dans ce cas, est queF(x) > G(x)pour au moins un x.Stringcomputation_method— Méthode utilisée pour calculer la p-value. (Facultatif, par défaut : 'auto'.) 'exact' : le calcul est effectué à l’aide de la distribution de probabilité exacte de la statistique de test. Coûteux en calcul et peu utile sauf pour de petits échantillons. 'asymp' ('asymptotic') : le calcul est effectué à l’aide d’une approximation. Pour de grandes tailles d’échantillon, les p-values exactes et asymptotiques sont très proches. 'auto' : la méthode 'exact' est utilisée lorsque le nombre maximal d’échantillons est inférieur à 10'000.String
Arguments
sample_data— Données de l’échantillon.(U)Int*ouFloat*ouDecimalsample_index— Indice de l’échantillon.(U)Int*
Valeur renvoyée
Renvoie un tuple comportant deux éléments : une statistique calculée et une p-value calculée. Tuple(Float64, Float64)
Exemples
Test de même distribution
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)
)┌─kolmogorovSmirnovTest('less', 'exact')(value, num)─┐
│ (0.009899999999999996,0.37528595205132287) │
└────────────────────────────────────────────────────┘Test sur différentes distributions
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)
)┌─kolmogorovSmirnovTest('two-sided', 'exact')(value, num)─┐
│ (0.4100000000000002,6.61735760482795e-8) │
└─────────────────────────────────────────────────────────┘Voir aussi