ジニ係数と誤差範囲


11

各時点でN = 14カウントの時系列データがあり、Gini係数と各時点でのこの推定の標準誤差を計算したいと考えています。

私は各時点でN = 14カウントしかないので、ジャックナイフの分散、つまりvar G = n 1を計算しました。トムソンOgwangの式7から標準誤差」ジニ指数とを計算する便利な方法」。ここで、GNkは要素なしでN値のジニ係数であり、K及び ˉ GXの平均値であるGNKvar(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

1つの問題は、この小さなサンプルサイズと複雑な統計(ジニ係数)を使用すると、統計の確率分布がほぼ正常ではなくなるため、「標準誤差」を使用して信頼区間を作成しようとすると誤解を招く可能性があります。または正常性に依存する仮説検定。

パーセンタイルブートストラップの方が優れた方法であり、実装も簡単だと思いました。例えば:

> 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のような方法を使用すると誤解を招くでしょう。私は主にこのため、信頼区間のジャックナイフ法のファンではありません。ジャックナイフは点推定のバイアス低減手法として発明されましたが、信頼区間はブートストラップの全体的な考え方に内在しています。


N=14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.