切り捨てられた法線は次の式で与えられます。
dtnorm<- function(x, mean, sd, a, b) {
dnorm(x, mean, sd)/(pnorm(b, mean, sd)-pnorm(a, mean, sd))
}
ptnorm <- function(x, mean, sd, a, b) {
(pnorm(x,mean,sd) - pnorm(a,mean,sd)) /
(pnorm(b,mean,sd) - pnorm(a,mean,sd))
}
適合は次の式で与えられます。
fitdist( data, tnorm, method="mle",
start=list(mean=mapply("[[", results[1], 1),
sd=mapply("[[", results[1], 2)),
fix.arg=list(a=minLoose,b=maxLoose))
ここで、results[i] は、tnormal の代わりに normal を使用した fitdist の mle 結果を含む行列です。
tnorm に対して次の結果が得られます。
mean=-0.00844725266454969, sd=0.012540928272073
一方、ノルムでは:
mean=0.00748402597402597, sd=0.00614293813955003
データはすべて 0 より大きく、0.04 より小さいため、tnorm で得られた mle は正しくないようです.... 何かアドバイスはありますか?
ありがとう!