Fungsi CDF empiris biasanya diperkirakan dengan fungsi langkah. Apakah ada alasan mengapa ini dilakukan sedemikian rupa dan tidak dengan menggunakan interpolasi linier? Apakah fungsi langkah memiliki sifat teoretis yang menarik yang membuat kita lebih menyukainya?
Berikut adalah contoh keduanya:
ecdf2 <- function (x) {
x <- sort(x)
n <- length(x)
if (n < 1)
stop("'x' must have 1 or more non-missing values")
vals <- unique(x)
rval <- approxfun(vals, cumsum(tabulate(match(x, vals)))/n,
method = "linear", yleft = 0, yright = 1, f = 0, ties = "ordered")
class(rval) <- c("ecdf", class(rval))
assign("nobs", n, envir = environment(rval))
attr(rval, "call") <- sys.call()
rval
}
set.seed(2016-08-18)
a <- rnorm(10)
a2 <- ecdf(a)
a3 <- ecdf2(a)
par(mfrow = c(1,2))
curve(a2, -2,2, main = "step function ecdf")
curve(a3, -2,2, main = "linear interpolation function ecdf")