Yep, I know. Well, maybe I didn't, but there are also issues with propagation 
of fixedness in constrained optimization.

Revising mle() had neen on my todo list for way too long. The bbmle package 
handles this better, I believe. 

-pd

> On 24 Apr 2019, at 16:51 , Stefano de Pretis <stefano.depre...@iit.it> wrote:
> 
> Dear R developers,
> 
> I noticed a bug in the stats4 package, specifically in the confint method 
> applied to “mle” objects.
> In particular, when some “fixed” parameters define the log likelihood, these 
> parameters are stored within the mle object but they are not used by the 
> “confint" method, which retrieves their value from the global environment 
> (whenever they still exist). 
> 
> Sample code:
> 
>> ## Avoid printing to unwarranted accuracy
>> od <- options(digits = 5)
>> x <- 0:10
>> y <- c(26, 17, 13, 12, 20, 5, 9, 8, 5, 4, 8)
>> 
>> ## Easy one-dimensional MLE:
>> nLL <- function(lambda, y) -sum(stats::dpois(y, lambda, log = TRUE))
>> fit0 <- mle(nLL, start = list(lambda = 5), fixed=list(y=y), nobs = NROW(y))
>> confint(fit0)
> Profiling...
>  2.5 %  97.5 % 
> 9.6524 13.6716 
>> rm(y)
>> confint(fit0)
> Profiling...
> Error in eval(expr, p) : object 'y' not found
> 
> In this sample code, I’m showing that after the removal of y from the global 
> environment the method ‘confint’ is not able anymore to act on the object 
> ‘fit0’.
> 
> This retrieval from the global environment is actually dangerous because it’s 
> silent and in case the user changes the value of ‘y’ for another purpose the 
> method ‘confint’ will return a wrong evaluation of the confidence interval 
> without throwing any warning.
> 
> I suggest to use the fixed values that are already contained within the mle 
> object:
> 
>> fit0@fullcoef[grep('y', names(fit0@fullcoef))]
> y1  y2  y3  y4  y5  y6  y7  y8  y9 y10 y11 
> 26  17  13  12  20   5   9   8   5   4   8 
> 
> Additionally, the method ‘coef’ returns both the coefficient and the fixed 
> parameters - while should return only the parameters - , while the ‘fullcoef’ 
> method is not implemented - while present in the documentation of 'mle-class’.
> 
> Best,
> Stefano
> 
> Center for Genomic Science of IIT@SEMM
> 
> Stefano de Pretis, PhD
> Postdoctoral fellow
> stefano.depre...@iit.it <mailto:stefano.depre...@iit.it>
> Via Adamello 16, 20139 Milan, Italy 
> <http://maps.google.it/maps?q=Via+Adamello+16,+20139+Milan&oe=utf-8&client=firefox-a&ie=UTF8&hq=&hnear=Via+Adamello,+16,+20139+Milano,+Lombardia&gl=it&z=16>
> t: +39 02 94375046
> 
> 
> 
>       [[alternative HTML version deleted]]
> 
> ______________________________________________
> R-devel@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel

-- 
Peter Dalgaard, Professor,
Center for Statistics, Copenhagen Business School
Solbjerg Plads 3, 2000 Frederiksberg, Denmark
Phone: (+45)38153501
Office: A 4.23
Email: pd....@cbs.dk  Priv: pda...@gmail.com

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to