- さて、炎症性関節総数がポアッソン分布に従うときに、右と左の炎症性関節数はどんな分布になるのだろうか
- それに進む前に、多変量ポアッソン分布についてリンクを張っておく。多変量正規分布があるように、複数の軸について、それぞれポアッソン分布に従うような多変量を扱うことができて、それが多変量ポアッソン分布(Mathematicaのページがこちら)
- では、単変量ポアッソン分布に従うような炎症関節数があるときに、左右の振り分けが独立であったとしたら、左右のその数は、どんな風になるだろうか。分布は、ポアッソン分布と似た感じの非対称な離散的1峰性分布になる。それを確かめるのが次のRのソース。ただし、k次元に一般化して処理している。次元数(k)を2にしておけば、左右の話しになる。
k<-2
n<-30
npoly<-6
ttt<-dpois(0:n,npoly)
aaa<-array(0,rep((n+1),k))
keta<-0:(k-1)
keta<-(n+1)^keta
counter<-rep(0,k)
counter[1]<--1
loop<-TRUE
while(loop){
counter[1]<-counter[1]+1
for(i in 1:(k-1)){
if(counter[i]==n+2){
counter[i]<-0
counter[i+1]<-counter[i+1]+1
}
}
banchi<-sum(keta*counter)+1
vvv<-counter+1
vvv2<-sum(vvv)-k+1
if(vvv2<=n+1){
aaa[banchi]<-ttt[vvv2]*exp(-sum(lgamma(vvv)))
}
if(sum(counter)==(n+1)*k){
loop<-FALSE
}
}
par(mfcol=c(2,2))
image(aaa)
plot(apply(aaa,1,sum),type="b",main="軸1の分布")
plot(apply(aaa,2,sum),type="b",main="軸2の分布")
ax<-apply(aaa,1,sum)
ax<-ax/sum(ax)
tmpmean<-sum((0:n)*ax)
plot(0:n,dpois(0:n,tmpmean),ylim=c(0,max(ax)))
par(new=TRUE)
plot(0:n,ax,type="l",col="red",ylim=c(0,max(ax)),main="1軸の分布に、その平均値をパラメタとして与えたポアッソン分布を重ねた")