Mam szereg czasowy danych o liczbie N = 14 w każdym punkcie czasowym i chcę obliczyć współczynnik Giniego i błąd standardowy dla tego oszacowania w każdym punkcie czasowym.
Ponieważ mam tylko N = 14 zliczeń w każdym punkcie czasowym, przystąpiłem do obliczania wariancji scyzoryka, tj. z równania 7 Tomsona Ogwanga„Wygodna metoda obliczania indeksu Giniego i jego„ błędu standardowego ”. GdzieG(n,k)jest współczynnikiem Gini wartości N bez elementuk,a ˉ G (x)jest średnią.
Bezpośrednie naiwne wdrożenie powyższej formuły dla wariancji.
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
Czy jest to rozsądne podejście dla małego N? Jakieś inne sugestie?