νটি
νটি
set.seed(1234)
n <- 10
x <- rt(n, df=2.5)
make_loglik <- function(x)
Vectorize( function(nu) sum(dt(x, df=nu, log=TRUE)) )
loglik <- make_loglik(x)
plot(loglik, from=1, to=100, main="loglikelihood function for df parameter", xlab="degrees of freedom")
abline(v=2.5, col="red2")
এন
আসুন কিছু সিমুলেশন চেষ্টা করি:
t_nu_mle <- function(x) {
loglik <- make_loglik(x)
res <- optimize(loglik, interval=c(0.01, 200), maximum=TRUE)$maximum
res
}
nus <- replicate(1000, {x <- rt(10, df=2.5)
t_nu_mle(x) }, simplify=TRUE)
> mean(nus)
[1] 45.20767
> sd(nus)
[1] 78.77813
অনুমানটি দেখানো খুব অস্থির (হিস্টোগ্রামের দিকে লক্ষ্য করে, অনুমান মানের একটি বড় অংশ 200 এর অপ্টিমাইজ করার জন্য প্রদত্ত উপরের সীমাতে থাকে)।
একটি বৃহত্তর নমুনা আকারের সাথে পুনরাবৃত্তি:
nus <- replicate(1000, {x <- rt(50, df=2.5)
t_nu_mle(x) }, simplify=TRUE)
> mean(nus)
[1] 4.342724
> sd(nus)
[1] 14.40137
যা অনেক ভাল, তবে গড়টি এখনও 2.5 এর সত্য মানের থেকে অনেক বেশি।
তারপরে মনে রাখবেন যে এটি আসল সমস্যার একটি সরলিকৃত সংস্করণ যেখানে অবস্থান এবং স্কেল পরামিতিগুলিও অনুমান করতে হবে।
টিν