Пусть отсортированные данные будут . Чтобы понять эмпирический CDF , рассмотрим одно из значений в --let, называемом -, и предположим, что некоторое число в меньше и в равно . Выберите интервал в котором из всех возможных значений данных отображается только . Тогда по определению в этом интервале имеет постоянное значение для чисел, меньшихx1≤x2≤⋯≤xnGxiγkxiγt≥1xiγ[α,β]γGk/nγи переходит к постоянному значению для чисел, превышающих .(k+t)/nγ
Рассмотрим вклад в из интервала . Хотя не является функцией - это точечная мера размера в - интеграл определяется посредством интегрирования частями, чтобы преобразовать его в интеграл честности в доброту. Давайте сделаем это за интервал :∫b0xh(x)dx[α,β]ht/nγ[α,β]
∫βαxh(x)dx=(xG(x))|βα−∫βαG(x)dx=(βG(β)−αG(α))−∫βαG(x)dx.
Новое подынтегральное выражение, хотя оно и разрывно в , является интегрируемым. Его значение легко найти, разбив область интегрирования на части, предшествующие и следующие за скачком в :γG
∫βαG(x)dx=∫γαG(α)dx+∫βγG(β)dx=(γ−α)G(α)+(β−γ)G(β).
Подставляя это в вышеизложенное и вспоминая даетG(α)=k/n,G(β)=(k+t)/n
∫βαxh(x)dx=(βG(β)−αG(α))−((γ−α)G(α)+(β−γ)G(β))=γtn.
Другими словами, этот интеграл умножает местоположение (вдоль оси ) каждого прыжка на размер этого прыжка. Размер прыжкаX
tn=1n+⋯+1n
с одним членом для каждого из значений данных, равным . Добавление вкладов от всех таких скачков показывает, чтоγG
∫b0xh(x)dx=∑i:0≤xi≤b(xi1n)=1n∑xi≤bxi.
Мы можем назвать это «частичным средним», видя, что оно равно раз частичной сумме. (Обратите внимание, что это не ожидание. Это может быть связано с ожиданием версии базового дистрибутива, которая была усечена до интервала : вы должны заменить коэффициент на где - количество значений данных в пределах .)1/n[0,b]1/n1/mm[0,b]
Для заданного вы хотите найти для которогоПоскольку частичные суммы представляют собой конечный набор значений, как правило, решения не существует: вам нужно согласиться на лучшее приближение, которое можно найти, заключив в скобки между двумя частичными средними, если это возможно. То есть, найдя такой, чтоkbК1n∑xi≤bxi=k.kj
1n∑i=1j−1xi≤k<1n∑i=1jxi,
Вы сузите до интервала . Вы можете сделать не лучше, чем с помощью ECDF. (Подбирая некоторое непрерывное распределение к ECDF, вы можете интерполировать, чтобы найти точное значение , но его точность будет зависеть от точности подбора.)[ x j - 1 , x j ) bb[xj−1,xj)b
R
выполняет вычисление частичной суммы с помощью cumsum
и находит, где оно пересекает любое указанное значение, используя which
семейство поисков, как в:
set.seed(17)
k <- 0.1
var1 <- round(rgamma(10, 1), 2)
x <- sort(var1)
x.partial <- cumsum(x) / length(x)
i <- which.max(x.partial > k)
cat("Upper limit lies between", x[i-1], "and", x[i])
Выходные данные в этом примере данных, извлеченных из экспоненциального распределения:
Верхний предел лежит между 0,39 и 0,57
Истинное значение, решающее составляет . Его близость к сообщенным результатам позволяет предположить, что этот код является точным и правильным. (Моделирование с гораздо большими наборами данных продолжает поддерживать этот вывод).0,5318120.1=∫b0xexp(−x)dx,0.531812
Вот график эмпирического CDF для этих данных с оценочными значениями верхнего предела, показанными в виде вертикальных пунктирных серых линий:G