Как получить 95% доверительный интервал в R?

Я хотел бы найти 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 очень близко к нему, но я собираюсь применить этот метод и к другим наборам данных. с которым я еще не сталкивался, так что очень надеюсь найти способ сделать это.


person user3579282    schedule 02.05.2014    source источник
comment
Предоставьте воспроизводимый пример, включая данные и код.   -  person Thomas    schedule 03.05.2014
comment
@Thomas Я обновил свой вопрос некоторыми кодами R. Надеюсь, это имеет смысл.   -  person user3579282    schedule 03.05.2014
comment
Если вы используете mle2, вы должны просто сказать confint(mle1), чтобы получить 95% доверительный интервал профиля.   -  person Ben Bolker    schedule 03.05.2014
comment
PS попробуйте vignette("mle2",package="bbmle") и ищите конфинт ...   -  person Ben Bolker    schedule 03.05.2014
comment
@BenBolker Это сработало! Большое спасибо!!!   -  person user3579282    schedule 03.05.2014


Ответы (1)


(Конвертировано из комментария.)

Если вы используете mle2 из пакета bbmle, вы должны просто сказать confint(mle1), чтобы получить 95% доверительный интервал профиля. См. ?confint.mle2 или попробуйте vignette("mle2",package="bbmle") и выполните поиск по запросу "confint" для получения дополнительной информации.

person Ben Bolker    schedule 03.05.2014
comment
Привет, Бен! Знаете ли вы, есть ли гораздо более свежие обновления о том, как найти доверительные интервалы для функций MLL? Эти подходы кажутся устаревшими, и я месяцами искал, как сгенерировать CI для MLL. Буду признателен за любое вложение - person Biotechgeek; 03.05.2021
comment
Если у вас есть время сегодня, я был бы признателен, если бы вы могли взглянуть на мой вопрос stackoverflow.com/questions/67374974/ - person Biotechgeek; 03.05.2021