지니 계수 및 오차 한계 1엔× ∑엔k = 1( G ( N

각 시점에서 N = 14 카운트의 시계열 데이터가 있으며 각 시점 에서이 추정치에 대한 Gini 계수 및 표준 오류를 계산하려고합니다.

각 시점에서 N = 14 카운트 만 있기 때문에 jackknife 분산을 계산하여 진행했습니다. 즉 톰슨 Ogwang의 식 (7)로부터표준 오차 ‘지니 인덱스와를 계산하는 편리한 방식’. 여기서G는(N,K는)요소없이 N 값 지니 계수K ˉ G (여기서 x)의 평균 인G(N,K).

var⁡(지)=엔−1엔×∑케이=1엔(지(엔,케이)−지¯(엔))2

지(엔,케이)

케이

지¯(엑스)

지(엔,케이)

분산에 대한 위 공식의 직접적인 순진한 구현.

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에 대한 합리적인 접근입니까? 다른 제안?



답변

한 가지 문제는이 작은 표본 크기와 복잡한 통계량 (자이로 계수)을 사용하면 통계의 확률 분포가 거의 정상이 아니므로 신뢰 구간을 만들기 위해이를 사용하려는 경우 “표준 오류”가 잘못 될 수 있습니다. 또는 정규성에 의존하는 가설 검정.

백분위 수 부트 스트랩이 더 나은 방법이며 구현하기가 더 쉽다고 생각했을 것입니다. 예를 들면 다음과 같습니다.

> 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와 같은 방법을 사용하면 잘못 될 수 있습니다. 나는 주로 이런 이유로 신뢰 구간에 대한 잭나이프 방식의 팬이 아닙니다. jackknife는 포인트 추정을위한 바이어스 감소 기술로 개발되었으며 신뢰 구간은 부트 스트랩의 전체 아이디어에 내재되어 있습니다.