ジニ係数とワイブル分布・対数正規分布・ガンマ分布の母数の関係
どうでもいいことなんだけど,ジニ係数はいくつかの分布であれば,分布の母数から直接的にもとまるんだそうだ。
ワイブル分布,対数正規分布,ガンマ分布を例に取ると,ワイブル分布とガンマ分布なら形状母数k(またはα)のみから,対数正規分布ならσのみから直接ジニ係数がもとまる。これらを計算するRの関数を作ってみる。
#ガンマ分布 gamma.gini<-function(a){ gini<-gamma((2*a+1)/2)/k/gamma(a)/sqrt(pi) gini } #ワイブル分布 weibull.gini<-function(k){ gini<-1-2^(-1/k) gini } #対数正規分布 lognorm.gini<-function(s){ gini<-2*pnorm(s/2*sqrt(2))-1 gini }
あるデータの分布がワイブル分布に従っているとして,その形状母数kが2だったとしたら,
weibull.gini(2) 0.2928932
この関数にはベクトルを入れられるので,こんなグラフも作れる。
x<-seq(0.1,5,.01) plot(x,weibull.gini(x),xlab="Parameter",ylab="Gini Coefficient",type="l")
ワイブル分布では,形状母数が大きくなればなるほどジニ係数は小さくなる。
…どうでもいいことなんだけど,ワイブル分布の形状母数について,MCMCのサンプルを得て,ジニ係数の信用区間を得ることもできるんじゃないだろうか。たとえば,
set.seed(1) d<-rweibull(1000,3,1) library(MCMCpack) llf<-function(beta,x){ sum(log(dweibull(x,beta[1],beta[2]))) } m<-MCMCmetrop1R(llf,theta.init=c(3,1),x=d) gini<-weibull.gini(m[,1]) plot(density(gini),type="n",xlab="Gini",ylab="Density",main="") polygon(density(gini),col=rgb(0,0,1,.2)) #信用区間 quantile(gini,c(.025,.975)) 2.5% 97.5% 0.1963506 0.2140616
こんな感じで。
みたいな。