Я хотел бы найти 95% CI для MLE для моего параметра в функции, но я понятия не имею, как это сделать.
Данная функция является степенным распределением с
f(x)=Cx^(-mu),
Я рассчитал MLE для mu, используя пакет bbmle в R.
Некоторые люди в Интернете говорят, что для этого нужно использовать вероятность профиля, но я не уверен, как это сделать в R, или другие методы, которые приводят к тем же результатам, тоже подходят.
Большое спасибо и заранее спасибо!
Обновлять:
load("fakedata500.Rda")
> library(stats4)
> library(bbmle)
> x<-fakedata500
> pl <- function(u){-length(x)*log(u-1)-length(x)*(u-1)*log(min(x))+u*sum(log(x))}
mle1<-mle2(pl, start=list(u=2), data=list(x))
> summary(mle1)
Maximum likelihood estimation
Call:
mle2(minuslogl = pl, start = list(u = 2), data = list(x))
Coefficients:
Estimate Std. Error z value Pr(z)
u 2.00510 0.04495 44.608 < 2.2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
-2 log L: 1300.166
Таким образом, оценка mu составляет 2,00510, и я хотел бы получить 95% CI, это может показаться бессмысленным, так как мой начальный mu был 2, поэтому 2,00510 очень близко к нему, но я собираюсь применить этот метод и к другим наборам данных. с которым я еще не сталкивался, так что очень надеюсь найти способ сделать это.
mle2
, вы должны просто сказатьconfint(mle1)
, чтобы получить 95% доверительный интервал профиля. - person Ben Bolker   schedule 03.05.2014vignette("mle2",package="bbmle")
и ищите конфинт ... - person Ben Bolker   schedule 03.05.2014