# [R] Estimating Mean of a Poisson Distribution Based on Interval censoring

mohsen hs mohsenhs82 at yahoo.com
Sun Feb 14 20:48:37 CET 2016

```Hi John and Peter,
Thanks for your reply. I found that fitdistcens, is a good approach. I did that for lognormal, exp ,and other distributions. Values for lnorm from SAS and R were close, but slightly different. At the moment, my main concern is finding the estimated lambda value for poisson for the interval censored data, and it seems there is a problem somewhere and I really appreciate your support.Error:"Error in optim(par = vstart, fn = fnobjcens, fix.arg = fix.arg, rcens = rcens,  : \n  initial value in 'vmmin' is not finite\n"
Kind regards,Mohsen
Background about my data and code:

I have to say I do not have any idea,
> max(z)
[1] 39011
> min(z)
[1] 1
>
I am using  library(fitdistrplus). I also passed the start param for optim, but no success as suggested before in some forums earlier.
I have provided all scenarios (the first two ones work, the 3rd is my problem, and the 4th also works).
And No missing value. I am getting some NAN form gamma also, but I do not know the reason.

------works
y<-z
ycens <- data.frame(left=y,right=y)
max=27219
ct=max
for(i in max:28666 )
{
ycens\$right[ct]=NA
ct=ct+1
}
ct=1;
for(i in 1:28666 )
{
if( ycens\$left[i]<3)
{
ycens\$left[ct]=NA
}
if( i>max)
{
ycens\$left[ct]=500
}
ct=ct+1
}
fitlnc<-fitdistcens(ycens,"pois")
> fitlnc
Fitting of the distribution ' pois ' on censored data by maximum likelihood
Parameters:
estimate
lambda 93.34093

-----------------Works method 2--------------
>  y<-z
>
>  ycens <- data.frame(left=y,right=y)
>  max=27219
>  ct=max
>  for(i in max:28666 )
+  {
+    ycens\$right[ct]=NA
+
+    ct=ct+1
+
+  }
>  ct=1;
>  for(i in 1:28666 )
+  {
+
+  if( ycens\$left[i]<3)
+  {
+    ycens\$left[ct]=NA
+
+    }
+       ct=ct+1
+  }
>  fitlnc<-fitdistcens(ycens,"pois")
> fitlnc
Fitting of the distribution ' pois ' on censored data by maximum likelihood
Parameters:
estimate
lambda 142.0141

==================PROBLEEEEEEEEEEMMMM======================
y<-z

ycens <- data.frame(left=y,right=y)
max=27219
ct=max
for(i in max:28666 )
{
ycens\$right[ct]=y[ct]
ycens\$left[ct]=500
ct=ct+1

}
ct=1;
for(i in 1:28666 )
{

if( ycens\$left[i]<4)
{
ycens\$left[ct]=1

}       ct=ct+1
}
>  fitlnc<-fitdistcens(ycens,"pois")
[1] "Error in optim(par = vstart, fn = fnobjcens, fix.arg = fix.arg, rcens = rcens,  : \n  initial value in 'vmmin' is not finite\n"
attr(,"class")
[1] "try-error"
attr(,"condition")
<simpleError in optim(par = vstart, fn = fnobjcens, fix.arg = fix.arg, rcens = rcens,     lcens = lcens, icens = icens, ncens = ncens, ddistnam = ddistname,     pdistnam = pdistname, hessian = TRUE, method = meth, lower = lower,     upper = upper, ...): initial value in 'vmmin' is not finite>
Error in fitdistcens(ycens, "pois") :
the function mle failed to estimate the parameters,
with the error code 100
====================Works=========================
y<-z

ycens <- data.frame(left=y,right=y)
max=27219
ct=max
for(i in max:28666 )
{
ycens\$right[ct]=y[ct]
ycens\$left[ct]=500
ct=ct+1

}
ct=1;
for(i in 1:28666 )
{

if( ycens\$left[i]<4)
{
ycens\$left[ct]=1

}
ct=ct+1
}

fitlnc<-fitdistcens(ycens,"lnorm")
fitlnc<-fitdistcens(ycens,"exp")
> fitlnc<-fitdistcens(ycens,"gamma")
There were 12 warnings (use warnings() to see them)
> warnings()
Warning messages:
1: In dgamma(x = c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,  ... : NaNs produced
2: In pgamma(q = c(2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,  ... : NaNs produced
3: In pgamma(q = c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,  ... : NaNs produced
4: In dgamma(x = c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,  ... : NaNs produced
5: In pgamma(q = c(2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,  ... : NaNs produced
6: In pgamma(q = c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,  ... : NaNs produced
7: In dgamma(x = c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,  ... : NaNs produced
8: In pgamma(q = c(2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,  ... : NaNs produced
9: In pgamma(q = c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,  ... : NaNs produced
10: In dgamma(x = c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,  ... : NaNs produced
11: In pgamma(q = c(2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,  ... : NaNs produced
12: In pgamma(q = c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,  ... : NaNs produced

On Monday, February 15, 2016 3:40 AM, John Kane <jrkrideau at inbox.com> wrote:

Thank you, kind sir, you are correct but I was too rushed to write more as the bread needed to be taken out of the oven.

John Kane

> -----Original Message-----
> From: pdalgd at gmail.com
> Sent: Sun, 14 Feb 2016 15:37:22 +0100
> To: jrkrideau at inbox.com
> Subject: Re: [R] Estimating Mean of a Poisson Distribution Based on
> Interval censoring
>
> Fortune candidate :-)
>
> However, the more scientific approach would be to ask for evidence to be
> scrutinized, acknowledging that R might be fallible, however unlikely
> that may seem.
>
> Also, there is always the possibility that there are two answers because
> the question is not the same.
>
> -pd
>
>> On 14 Feb 2016, at 14:35 , John Kane <jrkrideau at inbox.com> wrote:
>>
>>> By the way, is there anything for lognormal?I think fitdistcens is not
>>> good for this purpose as it gives me different result compared to SAS
>>
>> The general assumption is that if Excel or any other spreadsheet gives a
>> result that is different from R then R will be correct.
>>
>> Generally with SAS it may be that R is correct or just that R and SAS
>> use slightly different algorithms.
>>
>> John Kane
>>
>>
>>> -----Original Message-----
>>> From: r-help at r-project.org
>>> Sent: Sat, 13 Feb 2016 08:45:02 +0000 (UTC)
>>> To: r-help at r-project.org
>>> Subject: [R] Estimating Mean of a Poisson Distribution Based on
>>> Interval
>>> censoring
>>>
>>> Dear all,
>>> I appreciate that if you let me know if there is any package
>>> implemented
>>> in R for Estimating Mean of a Poisson Distribution Based on Interval
>>> censoring? And if yes, could you please provide some information about
>>> it:)
>>> By the way, is there anything for lognormal?I think fitdistcens is not
>>> good for this purpose as it gives me different result compared to SAS
>>> and
>>> only useful for right/left censoring and not interval censoring (or
>>> both
>>> left and right together).
>>> Kind regards,Mohsen
>>>     [[alternative HTML version deleted]]
>>>
>>> ______________________________________________
>>> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
>>> https://stat.ethz.ch/mailman/listinfo/r-help
>>> http://www.R-project.org/posting-guide.html
>>> and provide commented, minimal, self-contained, reproducible code.
>>
>> ____________________________________________________________
>>
>> ______________________________________________
>> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> http://www.R-project.org/posting-guide.html
>> and provide commented, minimal, self-contained, reproducible code.
>
> --
> Peter Dalgaard, Professor,
> Center for Statistics, Copenhagen Business School
> Solbjerg Plads 3, 2000 Frederiksberg, Denmark
> Phone: (+45)38153501
> Office: A 4.23
> Email: pd.mes at cbs.dk  Priv: PDalgd at gmail.com

____________________________________________________________
FREE ONLINE PHOTOSHARING - Share your photos online with your friends and family!
[[elided Yahoo spam]]

[[alternative HTML version deleted]]

```