KS检验及其在机器学习中的应用
什么是KS检验
Kolmogorov–Smirnov 检验,简称KS检验,是统计学中的一种非参数假设检验,用来检测单样本是否服从某一分布,或者两样本是否服从相同分布。在单样本的情况下,我们想检验这个样本是否服从某一分布函数,记是该样本的经验分布函数。我们构造KS统计量:
如下图,经验分布函数与目标分布的累积分布函数的最大差值就是我们要求的KS统计量:
95%置信度的KS统计量的临界值由给出,如果我们根据样本得到的KS统计量的值小于,那么我们就接收原假设!否则,拒绝原假设。
两样本的KS检验
用同样的思想,我们可以检验「两个样本是否服从同一分布」,此时KS统计量为两样本的经验分布函数的最大差值
这时候,95%置信度的临界值为
「KS 检验只能检验连续型的分布」
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import kstest, ks_2samp
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression