Коэффициент Джини и границы погрешности

11

У меня есть временной ряд данных с N = 14 счетчиками в каждый момент времени, и я хочу вычислить коэффициент Джини и стандартную ошибку для этой оценки в каждый момент времени.

Поскольку у меня есть только N = 14 отсчетов в каждый момент времени, я продолжил вычисление дисперсии складного ножа, то есть из уравнения 7 Томсона Огвана «Удобный метод вычисления индекса Джини и его« стандартной ошибки » . Где - коэффициент Джини для N значений без элемента а - среднее значение G (n, k) .var(G)=n1n×k=1n(G(n,k)G¯(n))2G(n,k)kG¯(x)G(n,k)

Прямая наивная реализация приведенной выше формулы для дисперсии.

calc.Gini.variance <- function(x) {
  N <- length(x)
  # using jacknifing as suggested by Tomson Ogwang - equation 7
  # in the Oxford Bulletin of Economics and Statistics, 62, 1 (2000)
  # ((n-1)/n) \times \sum_{k=1}^n (G(n,k)-\bar{G}(n))^2
  gini.bar <- Gini(x)

  gini.tmp <- vector(mode='numeric', length=N)
  for (k in 1:N) {
    gini.tmp[k] <- Gini(x[-k])
  }
  gini.bar <- mean(gini.tmp)
  sum((gini.tmp-gini.bar)^2)*(N-1)/N
 }
 calc.Gini.variance(c(1,2,2,3,4,99)) 
 # [1] 0.1696173
 Gini(c(1,2,2,3,4,99))
 # [1] 0.7462462

Это разумный подход для маленького N? Любые другие предложения?

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

Ответы:

5

Одной из проблем будет то, что при таком небольшом размере выборки и сложной статистике (коэффициенте Джини) распределение вероятностей вашей статистики, безусловно, не будет приблизительно нормальным, поэтому «стандартная ошибка» может вводить в заблуждение, если вы собираетесь использовать ее для создания доверительных интервалов или проверка гипотезы, опираясь на нормальность.

Я бы подумал, что процентиль бутстрап будет лучшим методом и проще в реализации. Например:

> library(reldist) # just for the gini() function
> library(boot) # for the boot() function
> x <- c(1,2,2,3,4,99)
> gini(x)
[1] 0.7462462 # check get same result as in your question
> y <- boot(x, gini, 500)
> quantile(y$t, probs=c(0.025, 0.975))
     2.5%     97.5% 
0.6353158 0.7717868 
> plot(density(y$t))

Я не прикрепил график, сгенерированный к концу, но он показывает, что доверительный интервал очень ассиметричный, поэтому использование такого метода, как +/- 1,96 * se для доверительного интервала, будет вводить в заблуждение. Я не фанат методов складного ножа для доверительных интервалов в основном по этой причине; Джекниф был изобретен в качестве метода уменьшения смещения для точечных оценок, тогда как доверительные интервалы являются неотъемлемой частью всей идеи начальной загрузки.

Питер Эллис
источник
На самом деле это один из пунктов оригинальной статьи - метод разработан для того, чтобы облегчить вычислительную нагрузку при использовании ножа для вычисления SE Gini. С нет никакой нагрузки. N=14
MichaelChirico