Тест колмогорова смирнова на нормальность в excel

  • Редакция Кодкампа

17 авг. 2022 г.
читать 2 мин


Критерий Колмогорова-Смирнова используется для определения нормальности распределения выборки.

Этот тест широко используется, потому что многие статистические тесты и процедуры предполагают , что данные распределены нормально.

В следующем пошаговом примере показано, как выполнить тест Колмогорова-Смирнова для образца набора данных в Excel.

Шаг 1: введите данные

Во-первых, давайте введем значения для набора данных с размером выборки n = 20:

Шаг 2: Расчет фактических и ожидаемых значений из нормального распределения

Далее мы рассчитаем фактические значения по сравнению с ожидаемыми значениями из нормального распределения:

Тест Колмогорова-Смирнова в Excel

Вот формула, которую мы использовали в различных ячейках:

  • B2 : =СТРОКА() – 1
  • C2 : = B2 /COUNT( $A$2:$A$21 )
  • D2 : =( B2 -1)/СЧЁТ( $A$2:$A$21 )
  • E2 : =ЕСЛИ( C2 <1, НОРМ.С.ОБР( C2 )»,»)
  • F2 : =НОРМ.РАСП( A2 , $J$1 , $J$2 , ИСТИНА)
  • G2 : =ABS( F2 – D2 )
  • J1 : =СРЕДНЕЕ( A2:A21 )
  • J2 : =СТАНДОТКЛОН.С( A2:A21 )
  • J4 : =МАКС( G2:G21 )

Шаг 3: интерпретируйте результаты

В тесте Колмогорова-Смирнова используются следующие нулевая и альтернативная гипотезы:

  • H 0 : Данные нормально распределены.
  • H A : Данные не распределены нормально.

Чтобы определить, должны ли мы отклонить или не отклонить нулевую гипотезу, мы должны обратиться к максимальному значению на выходе, которое оказывается равным 0,10983 .

Это представляет собой максимальную абсолютную разницу между фактическими значениями нашей выборки и ожидаемыми значениями нормального распределения.

Чтобы определить, является ли это максимальное значение статистически значимым, мы должны обратиться к таблице критических значений Колмогорова-Смирнова и найти число, равное n = 20 и α = 0,05.

Критическое значение оказывается равным 0,190 .

Поскольку наше максимальное значение не превышает этого критического значения, мы не можем отвергнуть нулевую гипотезу.

Это означает, что мы можем предположить, что наши выборочные данные нормально распределены.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные статистические тесты в Excel:

Как выполнить корреляционный тест в Excel
Как выполнить тест Дарбина-Ватсона в Excel
Как выполнить тест Харке-Бера в Excel
Как выполнить тест Левена в Excel

Hypothesis Testing

Definition 1: Let x1,…,xn be an ordered sample with x1 ≤ … ≤ xn and define Sn(x) as follows:

image3572

Now suppose that the sample comes from a population with cumulative distribution function F(x) and define Dn as follows:

image3574

Observation: It can be shown that Dn doesn’t depend on F. Since Sn(x) depends on the sample chosen, Dn is a random variable. Our objective is to use Dn as a way of estimating F(x).

The distribution of Dn can be calculated (see Kolmogorov Distribution), but for our purposes now the important aspect of this distribution is the table of critical values. These can be found in the Kolmogorov-Smirnov Table.

If Dn,α is the critical value from the table, then P(Dn ≤ Dn,α) = 1 – α. Dn can be used to test the hypothesis that a random sample came from a population with a specific distribution function F(x). If

image3579

then the sample data is a good fit with F(x).

Also from the definition of Dn given above, it follows that

image3581

image3583

image3582

Thus Sn(x) ± Dn,α provides a confidence interval for F(x)

Examples

Example 1: Determine whether the data represented in the following frequency table is normally distributed where x represents rainfall amounts.

Frequency table KS test

Figure 1 – Frequency table for Example 1

This means that 8 elements have an x value less than 100 (i.e. between 0 and 100), 25 elements have an x value between 101 and 200, etc. We need to find the mean and standard deviation of this data. Since this is a frequency table, we can’t simply use Excel’s AVERAGE and STDEV functions. Instead, we first use the midpoints of each interval and then use an approach similar to that described in Frequency Tables as shown in Figure 2:

Frequency table mean variance

Figure 2 – Calculating mean and standard deviation

Thus, the mean is 481.4 and the standard deviation is 155.2. We can now build the table that allows us to carry out the KS test, as shown in Figure 3.

Kolmogorov-Smirnov test Excel

Figure 3 – Kolmogorov-Smirnov test for Example 1

Columns A and B contain the data from the original frequency table. Column C contains the corresponding cumulative frequency values and column D simply divides these values by the sample size (n = 1000) to yield the cumulative distribution function Sn(x)

Column E uses the mean and standard deviation calculated previously to standardize the values of x from column A. E.g. the formula in cell E4 is =STANDARDIZE(A4,N$5,N$10), where cell N5 contains the mean and cell N10 contains the standard deviation (from Figure 2). Column F uses these standardized values to calculate the cumulative distribution function values assuming that the original data is normally distributed. E.g. cell F4 contains the formula =NORM.S.DIST(E4,TRUE). Finally, column G contains the absolute values of the differences between the values in columns D and F. E.g. cell G4 contains the formula =ABS(F4—D4). If the original data is normally distributed these differences will be zero.

Now Dn = the largest value in column G, i.e. MAX(G4:G13) = 0.0117 (cell G8). If the data is normally distributed then the critical value Dn,α will be larger than Dn. From the Kolmogorov-Smirnov Table we see that

Dn,α = D1000,.05 = 1.36 / SQRT(1000) = 0.043007

Since Dn = 0.0117 < 0.043007 = Dn,α, we conclude that the data is a good fit for the normal distribution.

Example 2: Using the KS test, determine whether the data in Example 1 of Graphical Tests for Normality and Symmetry is normally distributed.

We follow the same procedure as in the previous example to obtain the results shown in Figure 4. Since the frequencies are all 1, this example might be a little easier to understand.

KS test Excel

Figure 4 – KS test for data from Example 2

The Kolmogorov-Smirnov Table shows that the critical value Dn,α = D15,.05 = .338.

Since Dn = 0.1874988 < 0.338 = Dn,α, we conclude that the data is a reasonably good fit with the normal distribution. This is inconsistent with the QQ plot shown in Figure 5, which seems to show that the data is not normally distributed.

QQ plot

Figure 5 – QQ Plot for Example 2

The reason for this inconsistency is that the Kolmogorov-Smirnov test in the form presented above is only valid when the population mean and standard deviation are known, and not estimated from the sample. In the case where the population mean and standard deviation are not known, you need to use the Lilliefors version of the test, as described below.

Worksheet Functions

Real Statistics Excel Function: The following functions are provided in the Real Statistics Resource Pack:

KSCRIT(n, α, tails, interp) = the critical value of the Kolmogorov-Smirnov test for a sample of size n, for the given value of alpha (default = .05) and tails = 1 (one tail) or 2 (two tails, default), based on the KS Table. If interp = TRUE (default) then the recommended interpolation is used; otherwise linear interpolation is used.

KSPROB(x, n, tails, iter, interp, txt) = an approximate p-value for the KS test for the Dn value equal to x for a sample of size n and tails = 1 (one tail) or 2 (two tails, default) based on a linear interpolation (if interp = FALSE) or recommended interpolation (if interp = TRUE, default) of the values in the Kolmogorov-Smirnov Table, using iter number of iterations (default = 40).

Note that the values for α in the Kolmogorov-Smirnov Table range from .001 to .2 (for tails = 2) and .0005 to .1 for tails = 1. When txt = FALSE (default), if the p-value is less than .001 (tails = 2) or .0005 (tails = 1) then the p-value is given as 0 and if the p-value is greater than .2 (tails = 2) or .1 (tails = 1) then the p-value is given as 1. When txt = TRUE, then the output takes the form “< .001”, “< .0005”, “> .2” or “> .1”.

For Example 2, KSCRIT(15, .05, 2) = .338 (the same as shown in cell H21 of Figure 4). Also note that the p-value = KSPROB(H20, B21) = KSPROB(0.184177, 15) = 1 (meaning that p-value > .2), and so once again we can’t reject the null hypothesis that the data is normally distributed.

If the value of Dn had been .35 in Example 2, then Dn = .35 > .338 = Dcrit, and so we would have rejected the null hypothesis that the data is normally distributed. In this case, we would have seen that p-value = KSPROB(.35,15) = .0427, which once again leads us to reject the null hypothesis.

Kolmogorov Distribution

As referenced above, the Kolmogorov distribution can be useful in conducting the Kolmogorov-Smirnov test. Click here for more information about this distribution, including some useful functions provided by the Real Statistics Resource Pack.

Lilliefors Test

When the population mean and standard deviation for the Kolmogorov-Smirnov Test is estimated from the sample mean and standard deviation, as was done in Example 1 and 2, then the Kolmogorov-Smirnov Table yields results that are too conservative. More accurate results can be derived from the Liiliefors Table as described in the Lilliefors Test for Normality.

References

National Institute of Standards and Tecnology NIST (2021) Kolmogorov-Smirnov goodness-of-fit test
https://www.itl.nist.gov/div898/handbook/eda/section3/eda35g.htm

Wikipedia (2012) Kolmogorov-Smirnov test
https://en.wikipedia.org/wiki/Kolmogorov%E2%80%93Smirnov_test

В таблице приведены данные по ежедневному числу дорожно-транспортных происшествий в городе:

Приняв уровень значимости alpha=0.05, проверить согласие этих данных обычного месяца с распределением Пуассона, пользуясь критерием Хи-квадрат. Перепроверить данные с помощью критерия Колмогорова-Смирнова, по прежнему принимая alpha=0.05.

Методические указания

Широко используемыми на практике критериями проверки статистических гипотез выступают следующие:

  • критерий согласия Хи-квадрат
  • критерий Крамера-фон Мизеса
  • критерий Колмогорова-Смирнова

Критерий Хи-квадрат предпочтителен, когда исследуются большие объемы выборок. При малых объемах выборок этот критерий практически не пригоден.

Нулевая гипотеза при применении общих критериев согласия записывается в форме 

Н0: Fn(x) = F(x), 

где Fn(x) – эмпирическая функция распределения вероятностей; F(x) – гипотетическая функция распределения вероятностей. 

Критерий Пирсона X2 основан на сравнении эмпирической гистограммы распределения случайной величины с ее теоретической плотностью. Диапазон изменения экспериментальных данных разбивается на k интервалов, и подсчитывается статистика:

Формула Хи-квадрата

где ni – количество значений случайной величины, попавших в i-й интервал; n – объем выборки; F(x) – гипотетический теоретический закон распределения вероятностей случайной величины; pi = F(xi+1) — F(xi) – теоретическая вероятность попадания случайной величины в i-й интервал.

Статистика X2 имеет распределение Хи-квадрат с f = n — 1 степенями свободы в том случае, когда проверяется простая нулевая гипотеза H0, т.е., когда гипотетическое распределение, на соответствие которому проверяется эмпирический ряд данных, известно с точностью до значения своих параметров. 

Правило проверки гипотезы:

если X2 > X2alpha(f

то на уровне значимости alpha, т. е. с достоверностью (1 — alpha) гипотеза

H0 отклоняется. 

На мощность статистического критерия X2 сильное влияние оказывает чиcло интервалов разбиения гистограммы (k) и порядок ее разбиения (т. е. выбор длин интервалов внутри диапазона изменения значений случайной величины). На практике принято считать, что статистику X2 можно использовать, когда npi >= 5. 

Такое приближение допустимо и тогда, когда не более, чем в 20% интервалов имеет место 1 <= npi <= 5.

Одна из рекомендаций по расчету k сводится к вычислению:

k = 1+ 3,32·lg n 

При n >= 200 можно выбирать k из условия

k = 4·{0,75·(n — 1)2}1/5 ≈ 3,78·(n — 1)2/5

Еще одно простое правило: выбрать как можно большее k, но не превышающее n/5:

k <= n / 5 

Критерий Крамера-фон Мизеса дает хорошие результаты при малых объемах выборок (менее 10). Однако вопрос о доверительной вероятности остается нерешенным (эта вероятность мала при значительных размерах доверительных интервалов.
Исходя из этого, полагают, что реальные объемы выборок, которые можно получить, находятся в диапазоне от 10 до 100.

Критерий Колмогорова-Смирнова также целесообразно использовать для выборки указанных объемов в тех случаях, когда проверяемое распределение непрерывно и известны среднее значение и дисперсия проверяемой совокупности.
Алгоритм реализации критерия Колмогорова-Смирнова предполагает использование критического значения Dextr для проверки принятой гипотезы. Для этого используется приведенная ниже табл. 1.

Таблица 1


Решение

1. Критерий Хи-квадрат

1.1. Реализация в MathCad


1.2. Реализация в Excel

Реализация критерия согласия Хи-квадрат Пирсона в Excel

Формулы ячеек на листе Excel представлены в табл. 2.

Таблица 2

Формулы ячеек

Ячейка Характеристика Формула
В15 – число случаев исхода =СЧЁТЕСЛИ($B$3:$H$7;A15)
С15 – вероятность наступления =ПУАССОН.РАСП(A15;$E$11;ЛОЖЬ)
D15 – ожидаемое число случаев исхода =ОКРУГЛ(C15*$H$9;0)
H19 – статистика Хи-квадрат =СУММ(H15:H18)
H23 – критическое значение Хи-квадрата (максимальное значение для заданного уровня значимости) =ХИ2.ОБР(1-H22;H21)
J19 – p-value (вероятность получить расчетное значение Хи-квадрата) =ХИ2.РАСП.ПХ(H19;H21)
J20 – Хи-квадрат тест =ХИ2.ТЕСТ(F15:F18;G15:G18)

2. Критерий Колмогорова-Смирнова

Литература

  1. Емельянов А.А., Власова Е.А., Дума Р.В. Имитационное моделирование экономических процессов: уч. пособ. — М.: Финансы и статистика, 2002. — 368с.
  2. Кобзарь А. И. Прикладная математическая статистика. Для инженеров и научных работников. — М.: ФИЗМАТЛИТ, 2006. — 816 с. 

© В.Н. Кравченко
Последнее обновление: 2018.11.03

The data correspond to scores (0 – 30) measuring the quality of two brands of shoes (brand A and brand B). Scores were computed based on a survey addressed to customers using either brand. 15 customers have answered for brand A and 8 different clients for brand B.

Goal of this tutorial

This tutorial is divided into two parts:
In the first part we compare the distributions of the two samples without making assumptions on underlying theoretical distributions (normal distribution for example). We use the non-parametric Kolmogorov-Smirnov test, which is well suited in this case.
In the second part, we use the Kolmogorov-Smirnov test to compare the distribution of one sample to a theoretical distribution.

Part 1: Running a Kolmogorov-Smirnov test to compare two observed distributions in Excel

Here, we are interested in comparing the distributions of the two samples.
First of all, what do these distributions look like? Histograms are a good tool to visualize continuous distributions: XLSTAT / Visualizing data / Histograms.
Visualizing data menu in XLSTAT
In the General tab, select both samples inside the Data cell range. In the Options tab, activate the minimum option and enter 0 in the box. This will force histograms to have the same lower bound on the x axis making their comparison easier. Click on the OK button.
 image.png
The histograms appear in the results sheet: 
image.png
Without making any theoretical assumption, we may say that the distribution of sample B is more skewed towards low values compared to the distribution of sample A. We will now use the Kolmogorov-Smirnov non-parametric test to compare the two distributions. Go to  XLSTAT / Nonparametric tests / Comparison of two distributions.
nonparametric tests menu in XLSTAT
image.png
Select the Brand A column in Sample 1 and the Brand B column in sample 2. The Kolmogorov-Smirnov test allows samples to be unbalanced such as in our data: sample B contains fewer scores than sample A. In the Options tab, notice it is possible to select a one-tailed alternative hypothesis and/or an exact computation of the p-value. In the Charts tab, activate the Cumulative histograms option. Click on the OK button.
The results sheet contains the Kolmogorov-Smirnov statistic (0.475) that can be easily extracted (see further, the cumulative histograms chart). This statistic is associated to a p-value (0.190) indicating that the two distributions are not significantly different at alpha = 0.05.

 
Confused with p-values and statistical significance? Do not hesitate to visit our tutorial.
 image.png
image.png
The cumulative distributions chart presents the studied variable (survey scores) on the x axis. For a given point on the x axis, a brand’s cumulative relative frequency is the proportion of scores smaller than this point among the scores of the brand. Thus, as previously suggested by the histograms, brand B seems to start cumulating scores earlier than brand A along the x axis. Let’s take a look at the medians, which are the scores corresponding to a cumulative relative frequency of 0.5. The median score for brand B (~20) seems to be higher than the median score for brand A (~17).
Kolmogorov-Smirnov’s D test statistic is the highest deviation occurring between the two curves.

 
It is calculated by the following formula:

Dn=supx∣Fn(x)−F(x)∣D_n=underset{x}{sup}|F_n(x)-F(x)|

where F_n and F are the distribution functions.

 
 In our example, this deviation value falls inside the median region, but this may not necessarily be the case when using other data. The higher the D statistic, the lower the p-value and the more significant the difference between the two distributions.

Part 2: Running a Kolmogorov-Smirnov test to compare an observed distribution to a theoretical one in Excel

Suppose that the quality scores of brand A were obtained in France. For US customers, this score follows a normal distribution with a mean of 21.5 and a standard deviation of 2.3. We may ask ourselves if the French scores distribution is significantly different from the theoretical distribution of the US scores.
Here again, we will use the Kolmogorov-Smirnov test. The only difference with the previous part is that we aim at comparing an observed distribution to a theoretical one instead of comparing two different distributions.
To run the test, go to XLSTAT / Nonparametric tests / Distribution fitting.
modeling data menu in XLSTAT
In the General tab, select the brand A data, the normal distribution, activate the Enter option and enter the following parameters: µ = 21.5 and sigma = 2.3. In the Charts tab, activate the Cumulative histograms option. Click on the OK button.
image.png
In the results sheet, the histogram (on the left below) shows that the observed distribution of our data lays on low score values compared to the theoretical curve reflecting the US scores distribution (red line).
image.png
image.png
The Kolmogorov-Smirnov test is associated to a p-value of 0.000 suggesting that the null hypothesis should be rejected and that the observed distribution is significantly different from the theoretical one at alpha = 0.05.

 
Not sure that you have chosen the right test? This will let you know.

Was this article useful?

  • Yes
  • No

95-0-Нормальное распределение в Excel лого

Так как я часто имею дело с большим количеством данных, у меня время от времени возникает необходимость генерировать массивы значений для проверки моделей в Excel. К примеру, если я хочу увидеть распределение веса продукта с определенным стандартным отклонением, потребуются некоторые усилия, чтобы привести результат работы формулы СЛУЧМЕЖДУ() в нормальный вид. Дело в том, что формула СЛУЧМЕЖДУ() выдает числа с единым распределением, т.е. любое число с одинаковой долей вероятности может оказаться как у нижней, так и у верхней границы запрашиваемого диапазона. Такое положение дел не соответствует действительности, так как вероятность возникновения продукта уменьшается по мере отклонения от целевого значения. Т.е. если я произвожу продукт весом 100 грамм, вероятность, что я произведу 97-ми или 103-граммовый продукт меньше, чем 100 грамм. Вес большей части произведенной продукции будет сосредоточен рядом с целевым значением. Такое распределение называется нормальным. Если построить график, где по оси Y отложить вес продукта, а по оси X – количество произведенного продукта, график будет иметь колоколообразный вид, где наивысшая точка будет соответствовать целевому значению.

Таким образом, чтобы привести массив, выданный формулой СЛУЧМЕЖДУ(), в нормальный вид, мне приходилось ручками исправлять пограничные значения на близкие к целевым. Такое положение дел меня, естественно, не устраивало, поэтому, покопавшись в интернете, открыл интересный способ создания массива данных с нормальным распределением. В сегодняшней статье описан способ генерации массива и построения графика с нормальным распределением.

Характеристики нормального распределения

Непрерывная случайная переменная, которая подчиняется нормальному распределению вероятностей, обладает некоторыми особыми свойствами. Предположим, что вся производимая продукция подчиняется нормальному распределению со средним значением 100 грамм и стандартным отклонением 3 грамма. Распределение вероятностей для такой случайной переменной представлено на рисунке.

95-1-Нормальное распределение в Excel

Из этого рисунка мы можем сделать следующие наблюдения относительно нормального распределения — оно имеет форму колокола и симметрично относительно среднего значения.

Стандартное отклонение имеет немаловажную роль в форме изгиба. Если посмотреть на предыдущий рисунок, то можно заметить, что практически все измерения веса продукта попадают в интервал от 95 до 105 граммов. Давайте рассмотрим следующий рисунок, на котором представлено нормальное распределение с той же средней – 100 грамм, но со стандартным отклонением всего 1,5 грамма

95-2-Нормальное распределение в Excel

Здесь вы видите, что измерения значительно плотней прилегают к среднему значению. Почти все производимые продукты попадают в интервал от 97 до 102 грамм.

Небольшое значение стандартного отклонения выражается в более «тощей и высокой кривой, плотно прижимающейся к среднему значению. Чем больше стандартное, тем «толще», ниже и растянутее получается кривая.

Создание массива с нормальным распределением

Итак, чтобы сгенерировать массив данных с нормальным распределением, нам понадобится функция НОРМ.ОБР() – это обратная функция от НОРМ.РАСП(), которая возвращает нормально распределенную переменную для заданной вероятности для определенного среднего значения и стандартного отклонения. Синтаксис формулы выглядит следующим образом:

=НОРМ.ОБР(вероятность; среднее_значение; стандартное_отклонение)

Другими словами, я прошу Excel посчитать, какая переменная будет находится в вероятностном промежутке от 0 до 1. И так как вероятность возникновения продукта с весом в 100 грамм максимальная и будет уменьшаться по мере отдаления от этого значения, то формула будет выдавать значения близких к 100 чаще, чем остальных.

Давайте попробуем разобрать на примере. Выстроим график распределения вероятностей от 0 до 1 с шагом 0,01 для среднего значения равным 100 и стандартным отклонением 1,5.

95-3-демонстрация функции НОРМОБР

Как видим из графика точки максимально сконцентрированы у переменной 100 и вероятности 0,5.

Этот фокус мы используем для генерирования случайного массива данных с нормальным распределением. Формула будет выглядеть следующим образом:

=НОРМ.ОБР(СЛЧИС(); среднее_значение; стандартное_отклонение)

Создадим массив данных для нашего примера со средним значением 100 грамм и стандартным отклонением 1,5 грамма и протянем нашу формулу вниз.

95-4-массив данных с нормальным распределением

Теперь, когда массив данных готов, мы можем выстроить график с нормальным распределением.

Построение графика нормального распределения

Прежде всего необходимо разбить наш массив на периоды. Для этого определяем минимальное и максимальное значение, размер каждого периода или шаг, с которым будет увеличиваться период.

95-5-данные для нормального распределения

Далее строим таблицу с категориями. Нижняя граница (B11) равняется округленному вниз ближайшему кратному числу. Остальные категории увеличиваются на значение шага. Формула в ячейке B12 и последующих будет выглядеть:

=ЕСЛИ(A12;B11+$B$6; «»)

В столбце X будет производится подсчет количества переменных в заданном промежутке. Для этого воспользуемся формулой ЧАСТОТА(), которая имеет два аргумента: массив данных и массив интервалов. Выглядеть формула будет следующим образом =ЧАСТОТА(Data!A1:A175;B11:B20). Также стоит отметить, что в таком варианте данная функция будет работать как формула массива, поэтому по окончании ввода необходимо нажать сочетание клавиш Ctrl+Shift+Enter.

95-6-таблица для нормального распределения

Таким образом у нас получилась таблица с данными, с помощью которой мы сможем построить диаграмму с нормальным распределением. Воспользуемся диаграммой вида Гистограмма с группировкой, где по оси значений будет отложено количество переменных в данном промежутке, а по оси категорий – периоды.

95-7-график нормального распределения в excel

Осталось отформатировать диаграмму и наш график с нормальным распределением готов.

95-8-график с нормальным распределением

Итак, мы познакомились с вами с нормальным распределением, узнали, что Excel позволяет генерировать массив данных с помощью формулы НОРМ.ОБР() для определенного среднего значения и стандартного отклонения и научились приводить данный массив в графический вид.

Для лучшего понимания, вы можете скачать файл с примером построения нормального распределения.

Понравилась статья? Поделить с друзьями:
  • Тест какой шрифт по умолчанию установлен в word 2007
  • Тест в excel по икт
  • Тест информатика текстовый процессор ms word
  • Тест в excel времени
  • Теория по текстовому редактору word