Coeficiente de Gini e limites de erro

11

Eu tenho uma série temporal de dados com N = 14 contagens em cada ponto do tempo e quero calcular o coeficiente de Gini e um erro padrão para essa estimativa em cada ponto do tempo.

Como tenho apenas N = 14 contagens em cada momento, procedi calculando a variação do canivete, ou seja, da equação 7 de Tomson Ogwang 'Um método conveniente de calcular o índice de Gini e seu' erro padrão ' . Onde é o coeficiente de Gini dos valores N sem o elemento e é a média do .var(G)=n1n×k=1n(G(n,k)G¯(n))2G(n,k)kG¯(x)G(n,k)

Implementação ingênua direta da fórmula acima para Variance.

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

Essa é uma abordagem razoável para um N pequeno? Alguma outra sugestão?

Sean
fonte
Talvez você possa adicionar os cálculos reais que você está usando para a estimativa da amostra e o erro padrão, já que muitas pessoas podem não ter acesso ao documento no link fornecido.
cardeal

Respostas:

5

Um problema será que, com esse pequeno tamanho de amostra e uma estatística complexa (coeficiente de gini), a distribuição de probabilidade de sua estatística certamente não será aproximadamente normal; portanto, o "erro padrão" pode ser enganoso se você pretende usá-lo para criar intervalos de confiança ou teste de hipóteses baseado na normalidade.

Eu pensaria que um bootstrap de percentil seria um método melhor e mais simples de implementar. Por exemplo:

> 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))

Eu não anexei o gráfico gerado no final, mas mostra que o intervalo de confiança é muito assimétrico, portanto, usar um método como +/- 1,96 * se para um intervalo de confiança será enganoso. Não sou fã de métodos de canivete para intervalos de confiança, principalmente por esse motivo; O jackknife foi inventado como uma técnica de redução de viés para estimativas pontuais, enquanto os intervalos de confiança são intrínsecos a toda a idéia do bootstrap.

Peter Ellis
fonte
Este é, de fato, um dos pontos do artigo original - o método é desenvolvido para aliviar a carga computacional do uso do canivete para calcular os Gini SEs. Com , quase não há nenhum ônus. N=14
precisa