> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-fbfa8bee.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Applique le test de Kolmogorov-Smirnov à des échantillons issus de deux populations.

# kolmogorovSmirnovTest

<div id="kolmogorovSmirnovTest">
  ## kolmogorovSmirnovTest
</div>

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**

```sql theme={null}
kolmogorovSmirnovTest([alternative, computation_method])(sample_data, sample_index)
```

**Paramètres**

* `alternative` — Hypothèse alternative. (Facultatif, par défaut : 'two-sided'.) Soient `F(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 que `F(x) >= G(x)` pour tout x. L’alternative, dans ce cas, est que `F(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 que `F(x) <= G(x)` pour tout x. L’alternative, dans ce cas, est que `F(x) > G(x)` pour au moins un x. [`String`](/fr/reference/data-types/string)
* `computation_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`](/fr/reference/data-types/string)

**Arguments**

* `sample_data` — Données de l’échantillon. [`(U)Int*`](/fr/reference/data-types/int-uint) ou [`Float*`](/fr/reference/data-types/float) ou [`Decimal`](/fr/reference/data-types/decimal)
* `sample_index` — Indice de l’échantillon. [`(U)Int*`](/fr/reference/data-types/int-uint)

**Valeur renvoyée**

Renvoie un tuple comportant deux éléments : une statistique calculée et une p-value calculée. [`Tuple(Float64, Float64)`](/fr/reference/data-types/tuple)

**Exemples**

**Test de même distribution**

```sql title=Query theme={null}
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 title=Response theme={null}
┌─kolmogorovSmirnovTest('less', 'exact')(value, num)─┐
│ (0.009899999999999996,0.37528595205132287)         │
└────────────────────────────────────────────────────┘
```

**Test sur différentes distributions**

```sql title=Query theme={null}
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 title=Response theme={null}
┌─kolmogorovSmirnovTest('two-sided', 'exact')(value, num)─┐
│ (0.4100000000000002,6.61735760482795e-8)                │
└─────────────────────────────────────────────────────────┘
```

**Voir aussi**

* [test de Kolmogorov-Smirnov](https://en.wikipedia.org/wiki/Kolmogorov%E2%80%93Smirnov_test)
