- こちらの続き
- 下の例は、指数分布の例
- これは、まだ、正規分布と指数分布との関係を使いきっていない状態
minX<-0
maxX<-5
kizami<-0.05
nV<-3
af<-1:nV
af<-rep(1,nV)
tmpx<-seq(from=minX,to=maxX,by=kizami)
tmpx[1]<-0.001
x<-list(tmpx)
X<-as.matrix(expand.grid(rep(x,nV)))
pX<-X
for(i in 1:nV){
pX[,i]<-pexp(X[,i],af[i])
}
Xnorm<-qnorm(pX)
rmat<-matrix(0,nV,nV)
rmat[1,2]<-rmat[2,1]<-0.9
rmat[1,3]<-rmat[3,1]<-0.9
rmat[2,3]<-rmat[3,2]<-0.9
diag(rmat)<-1
ER = sin(pi*rmat/2)
ER.e=eigen(ER)
ER.e[[1]][ER.e[[1]]<0]=0
Xnorm2 = t((diag(1/sqrt(ER.e[[1]]))%*%t(solve(ER.e[[2]])))%*%t(Xnorm))
Pr<-exp(apply(dnorm(Xnorm2,log=TRUE),1,sum))
T<-X
PrArray<-array(Pr,c(length(tmpx),length(tmpx),length(tmpx)))
TArray1<-array(T[,1],c(length(tmpx),length(tmpx),length(tmpx)))
TArray2<-array(T[,2],c(length(tmpx),length(tmpx),length(tmpx)))
persp(TArray1[,1,4],TArray2[1,,4],PrArray[,,4],theta=80,phi=80,col="green")