Эмпирическая функция распределения - Empirical distribution function

Зеленая кривая, которая асимптотически приближается к высотам 0 и 1, не достигая их, является истинной кумулятивной функцией распределения стандартного нормального распределения.  Серые решетки представляют наблюдения в конкретной выборке, взятой из этого распределения, а горизонтальные шаги синей ступенчатой ​​функции (включая крайнюю левую точку на каждом этапе, но не включая крайнюю правую точку) образуют эмпирическую функцию распределения этой выборки.  (Щелкните здесь, чтобы загрузить новый график.)
Зеленая кривая, которая асимптотически приближается к высотам 0 и 1, не достигая их, является истинной кумулятивной функцией распределения стандартного нормального распределения . Серые решетки представляют наблюдения в конкретной выборке, взятой из этого распределения, а горизонтальные шаги синей ступенчатой ​​функции (включая крайнюю левую точку на каждом этапе, но не включая крайнюю правую точку) образуют эмпирическую функцию распределения этой выборки. ( Щелкните здесь, чтобы загрузить новый график. )

В статистике , эмпирическая функция распределения (обычно называемая также эмпирическая функция распределения, eCDF) является функция распределения , связанная с эмпирической мерой в виде образца . Эта кумулятивная функция распределения представляет собой ступенчатую функцию, которая увеличивается на 1 / n в каждой из n точек данных. Его значение при любом заданном значении измеряемой переменной - это часть наблюдений измеряемой переменной, которые меньше или равны заданному значению.

Эмпирическая функция распределения - это оценка кумулятивной функции распределения, которая сгенерировала точки в выборке. Согласно теореме Гливенко – Кантелли, оно сходится с вероятностью 1 к основному распределению . Существует ряд результатов для количественной оценки скорости сходимости эмпирической функции распределения к лежащей в основе кумулятивной функции распределения.

Определение

Пусть ( X 1 ,…, X n ) - независимые, одинаково распределенные вещественные случайные величины с общей кумулятивной функцией распределения F ( t ) . Тогда эмпирическая функция распределения определяется как

где является показателем из событий A . При фиксированном t индикатор представляет собой случайную величину Бернулли с параметром p = F ( t ) ; следовательно, является биномиальной случайной величиной со средним значением nF ( t ) и дисперсией nF ( t ) (1 - F ( t )) . Это означает, что это несмещенная оценка для F ( t ) .

Однако в некоторых учебниках это определение приводится как

Иметь в виду

Среднее эмпирического распределения является несмещенной оценкой среднего значения распределения населения.

что чаще обозначается

Дисперсия

Дисперсия эмпирических времен распределения является несмещенной оценкой дисперсии распределения населения.

Среднеквадратичная ошибка

Среднеквадратичной ошибки для эмпирического распределения заключается в следующем.

Где оценщик и неизвестный параметр

Квантили

Для любого действительного числа запись (читай «потолок a») обозначает наименьшее целое число, большее или равное . Для любого действительного числа a запись (читается как «пол из a») обозначает наибольшее целое число, меньшее или равное .

Если не является целым числом, то -й квантиль уникален и равен

Если - целое число, то -й квантиль не уникален и представляет собой любое действительное число, такое что

Эмпирическая медиана

Если нечетное, то эмпирическая медиана - это число

Если четно, то эмпирическая медиана - это число

Асимптотические свойства

Поскольку отношение ( n  + 1) / n приближается к 1, когда n стремится к бесконечности, асимптотические свойства двух определений, приведенных выше, одинаковы.

По усиленному закону больших чисел оценка почти наверняка сходится к F ( t ) при n  → ∞ для любого значения t :

Таким образом , оценщик является последовательным . Это выражение утверждает поточечную сходимость эмпирической функции распределения к истинной кумулятивной функции распределения. Существует более сильный результат, называемый теоремой Гливенко – Кантелли , который утверждает, что сходимость на самом деле происходит равномерно по t :

Вир-норма в этом выражении называется статистика Колмогорова-Смирнова для проверки благость степени согласия между эмпирическим распределением и предполагаемой истинной интегральную функцию распределения F . Здесь вместо sup-norm можно разумно использовать другие функции norm. Например, L 2 -норма дает статистику Крамера – фон Мизеса .

Асимптотическое распределение можно дополнительно охарактеризовать несколькими различными способами. Во- первых, центральная предельная теорема утверждает , что точечно , имеет асимптотически нормальное распределение со стандартной скорости сходимости:

Этот результат расширен теоремой Донскера , которая утверждает, что эмпирический процесс , рассматриваемый как функция, индексированная , сходится по распределению в пространстве Скорохода к гауссовскому процессу с нулевым средним , где B - стандартный броуновский мост . Ковариационная структура этого гауссовского процесса имеет вид

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

В качестве альтернативы, скорость сходимости также может быть определена количественно в терминах асимптотического поведения sup-нормы этого выражения. Ряд результатов существует в этом месте, например, неравенство Дворецкого – Кифера – Вулфовица дает оценку хвостовых вероятностей :

На самом деле, Колмогоров показал , что если функция распределения F непрерывна, то выражение сходится по распределению к , который имеет распределение Колмогорова , которое не зависит от формы F .

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

а также

Доверительные интервалы

Эмпирические графики CDF, CDF и доверительного интервала для различных размеров выборки нормального распределения

Согласно неравенству Дворецкого – Кифера – Вулфовица интервал, содержащий истинную CDF ,, с вероятностью , задается как

Эмпирические графики CDF, CDF и доверительного интервала для различных размеров выборки распределения Коши

В соответствии с указанными выше границами мы можем построить эмпирические CDF, CDF и доверительные интервалы для различных распределений, используя любую из статистических реализаций. Ниже приводится синтаксис Statsmodel для построения эмпирического распределения.

Эмпирические графики CDF, CDF и доверительного интервала для различных размеров выборки треугольного распределения
"""
Empirical CDF Functions
"""
import numpy as np
from scipy.interpolate import interp1d


def _conf_set(F, alpha=0.05):
    nobs = len(F)
    epsilon = np.sqrt(np.log(2.0 / alpha) / (2 * nobs))
    lower = np.clip(F - epsilon, 0, 1)
    upper = np.clip(F + epsilon, 0, 1)
    return lower, upper


class StepFunction:
    def __init__(self, x, y, ival=0.0, sorted=False, side="left"):
        if side.lower() not in ["right", "left"]:
            msg = "side can take the values 'right' or 'left'"
            raise ValueError(msg)
        self.side = side
        _x = np.asarray(x)
        _y = np.asarray(y)
        if _x.shape != _y.shape:
            msg = "x and y do not have the same shape"
            raise ValueError(msg)
        if len(_x.shape) != 1:
            msg = "x and y must be 1-dimensional"
            raise ValueError(msg)
        self.x = np.r_[-np.inf, _x]
        self.y = np.r_[ival, _y]
        if not sorted:
            asort = np.argsort(self.x)
            self.x = np.take(self.x, asort, 0)
            self.y = np.take(self.y, asort, 0)
        self.n = self.x.shape[0]

    def __call__(self, time):
        tind = np.searchsorted(self.x, time, self.side) - 1
        return self.y[tind]


class ECDF(StepFunction):
    def __init__(self, x, side="right"):
        x = np.array(x, copy=True)
        x.sort()
        nobs = len(x)
        y = np.linspace(1.0 / nobs, 1, nobs)
        super(ECDF, self).__init__(x, y, side=side, sorted=True)


def monotone_fn_inverter(fn, x, vectorized=True, **keywords):
    x = np.asarray(x)
    if vectorized:
        y = fn(x, **keywords)
    else:
        y = []
        for _x in x:
            y.append(fn(_x, **keywords))
        y = np.array(y)
    a = np.argsort(y)
    return interp1d(y[a], x[a])


if __name__ == "__main__":
    # TODO: Make sure everything is correctly aligned and make a plotting
    # function
    from urllib.request import urlopen
    import matplotlib.pyplot as plt

    nerve_data = urlopen("http://www.statsci.org/data/general/nerve.txt")
    nerve_data = np.loadtxt(nerve_data)
    x = nerve_data / 50.0  # Was in 1/50 seconds
    cdf = ECDF(x)
    x.sort()
    F = cdf(x)
    plt.step(x, F, where="post")
    lower, upper = _conf_set(F)
    plt.step(x, lower, "r", where="post")
    plt.step(x, upper, "r", where="post")
    plt.xlim(0, 1.5)
    plt.ylim(0, 1.05)
    plt.vlines(x, 0, 0.05)
    plt.show()

Статистическая реализация

Неполный список программных реализаций функции эмпирического распределения включает:

  • В программном обеспечении R мы вычисляем эмпирическую кумулятивную функцию распределения с помощью нескольких методов построения, печати и вычислений с таким объектом «ecdf».
  • В Mathworks мы можем использовать график эмпирической кумулятивной функции распределения (cdf)
  • jmp из SAS , график CDF создает график эмпирической кумулятивной функции распределения.
  • Minitab , создайте эмпирический CDF
  • Mathwave , мы можем подогнать распределение вероятностей к нашим данным
  • Dataplot , мы можем построить эмпирический график CDF
  • Scipy , используя scipy.stats, мы можем построить распределение
  • Statsmodels , мы можем использовать statsmodels.distributions.empirical_distribution.ECDF
  • Matplotlib , мы можем использовать гистограммы для построения кумулятивного распределения
  • Seaborn , используя функцию seaborn.ecdfplot
  • Графически , используя функцию plotly.express.ecdf
  • Excel , мы можем построить эмпирический график CDF

Смотрите также

использованная литература

дальнейшее чтение

  • Shorack, GR; Веллнер, Дж. А. (1986). Эмпирические процессы с приложениями к статистике . Нью-Йорк: Вили. ISBN 0-471-86725-X.

внешние ссылки