> ## 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.

> 두 모집단에서 추출한 표본에 Kolmogorov-Smirnov 검정을 적용합니다.

# kolmogorovSmirnovTest

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

도입 버전: v23.4.0

두 모집단에서 추출한 표본에 Kolmogorov-Smirnov 검정을 적용합니다.

두 표본의 값은 모두 `sample_data` 컬럼에 저장됩니다. `sample_index`가 0이면 해당 행의 값은 첫 번째 모집단의 표본에 속합니다. 그렇지 않으면 두 번째 모집단의 표본에 속합니다.
표본은 연속적인 1차원 확률 분포에 속해야 합니다.

**구문**

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

**매개변수**

* `alternative` — 대립가설입니다. (선택 사항, 기본값: 'two-sided'.) `F(x)`와 `G(x)`를 각각 첫 번째 분포와 두 번째 분포의 CDF라고 하겠습니다. 'two-sided': 귀무가설은 표본이 같은 분포에서 나왔다는 것으로, 예를 들어 모든 x에 대해 `F(x) = G(x)`입니다. 대립가설은 두 분포가 동일하지 않다는 것입니다. 'greater': 귀무가설은 첫 번째 표본의 값이 두 번째 표본의 값보다 확률적으로 더 작다는 것으로, 예를 들어 첫 번째 분포의 CDF가 두 번째 분포의 CDF보다 위에 있으므로 더 왼쪽에 위치합니다. 이는 실제로 모든 x에 대해 `F(x) >= G(x)`임을 의미합니다. 이 경우 대립가설은 적어도 하나의 x에 대해 `F(x) < G(x)`라는 것입니다. 'less': 귀무가설은 첫 번째 표본의 값이 두 번째 표본의 값보다 확률적으로 더 크다는 것으로, 예를 들어 첫 번째 분포의 CDF가 두 번째 분포의 CDF보다 아래에 있으므로 더 오른쪽에 위치합니다. 이는 실제로 모든 x에 대해 `F(x) <= G(x)`임을 의미합니다. 이 경우 대립가설은 적어도 하나의 x에 대해 `F(x) > G(x)`라는 것입니다. [`String`](/ko/reference/data-types/string)
* `computation_method` — p값을 계산하는 방식입니다. (선택 사항, 기본값: 'auto'.) 'exact': 검정 통계량의 정확한 확률분포를 사용해 계산합니다. 컴퓨트 사용량이 크며 작은 표본이 아닌 경우에는 비효율적입니다. 'asymp' ('asymptotic'): 근사값을 사용해 계산합니다. 표본 크기가 크면 정확한 p값과 점근적 p값은 매우 유사합니다. 'auto': 표본 수의 최댓값이 10'000보다 작으면 'exact' 방식을 사용합니다. [`String`](/ko/reference/data-types/string)

**인수**

* `sample_data` — 표본 데이터입니다. [`(U)Int*`](/ko/reference/data-types/int-uint) 또는 [`Float*`](/ko/reference/data-types/float) 또는 [`Decimal`](/ko/reference/data-types/decimal)
* `sample_index` — 표본 인덱스입니다. [`(U)Int*`](/ko/reference/data-types/int-uint)

**반환 값**

계산된 통계량과 p값으로 이루어진 두 요소의 튜플을 반환합니다. [`Tuple(Float64, Float64)`](/ko/reference/data-types/tuple)

**예시**

**동일 분포 검정**

```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)         │
└────────────────────────────────────────────────────┘
```

**서로 다른 분포에 대한 검정**

```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)                │
└─────────────────────────────────────────────────────────┘
```

**관련 항목**

* [콜모고로프-스미르노프 검정](https://en.wikipedia.org/wiki/Kolmogorov%E2%80%93Smirnov_test)
