- 選挙の頃
- 反映したい母集団の意見は複数の軸で定義されている
- 各軸を単純化して、賛成・反対とするだけで、軸数nに対して通りの意見がある
- 今、通りの意見パターンごとに1つの「意見代表団体」があれば、その団体の得票数に比例して全体の意見を反映させれば、全項目の国民投票と同じ
- もちろん、民主的代表性というのは、それのみを目指すものではないから、必ずしもそうなるのが最善とは言わないが、そうなる方が良い可能性が高い、とまでは言ってもよいだろう
- さて、個の団体がないとき、どのくらい、民意からずれるかを単純化してRで回してみよう
- 「投票行動」はn項目に関する意見の賛否について、全項目を平等に扱い、一番近い団体に投票するものとしよう…
n.iter <- 10
n <- 4
library(MCMCpack)
q <- rdirichlet(1,rep(1,N))
N <- 2^n
X <- expand.grid(rep(list(c(0,1)),n))
D <- as.matrix(dist(X))
ms <- 1:N
Rs <- rs <- list()
for(i in 1:length(ms)){
Rs[[i]] <- rs[[i]] <- matrix(0,n.iter,n)
for(j in 1:n.iter){
m <- ms[i]
p<- sample(1:N,m)
V <- rep(0,N)
for(k in 1:N){
closest <- which(D[k,p]==min(D[k,p]))
V[p[closest]] <- V[p[closest]]+ q[p[closest]]/length(closest)
}
R <- X*V
Rs[[i]][j,] <- apply(R,2,sum)
r <- X * c(q)
rs[[i]][j,] <- apply(r,2,sum)
}
}
mean.R <- lapply(Rs,apply,2,mean)
mean.r <- lapply(rs,apply,2,mean)
var.R <- lapply(Rs,apply,2,var)
var.r <- lapply(rs,apply,2,var)