Estoy tratando de calcular el índice de Gini en la reputación de distribución usando el Explorador de Datos. La ecuación estoy tratando de implementar es este: $$ G(S)=\frac{1}{n-1}\left(n+1-2\left(\frac{\sum^n_{i=1}(n+1-i)y_i}{\sum^n_{i=1}y_i}\right)\right) $$ Donde: $n$ = número de usuarios en el sitio; $i$ = usuario serial id (1 - 1,225,000); $y_i$ = la reputación del usuario $i$.
Esta es la forma en que he implementado (copiado de aquí):
DECLARE @numUsers int
SELECT @numUsers = COUNT(*) FROM Users
DECLARE @totalRep float
SELECT @totalRep = SUM(Users.Reputation) FROM Users
DECLARE @giniNominator float
SELECT @giniNominator = SUM( (@numUsers + 1 - CAST(Users.Id as Float)) *
CAST(Users.Reputation as Float)) FROM Users
DECLARE @giniCalc float
SELECT @giniCalc = (@numUsers + 1 - 2*(@giniNominator / @totalRep)) / @numUsers
SELECT @giniCalc
Mi resultado es (actualmente) -0.53, pero no tiene sentido: no estoy seguro de que incluso la forma en que podría haberse convertido en negativo, e incluso en abs valor, yo habría esperado que la desigualdad es mucho más cercano a 1, teniendo en cuenta cómo la reputación crece cuanto más se tiene.
Soy yo, sin saberlo, ignorando algunas hipótesis acerca de la distribución de la reputación/usuarios?
¿Qué hago mal?