Thanks for your help. I can follow your explanation.  Have you tried logistf
and met the same problem?
Are there any ways to locate which part of data causes the failure or other
R code to build the model from the data?

Thanks
Xiaoyan

On Tue, Mar 9, 2010 at 12:22 PM, Ravi Varadhan <rvaradhan@jhmi.edu> wrote:

>
> Let us look at a piece of the relevant code from "logistf" package:
>
>        iter <- iter + 1
>        XW2 <- crossprod(x, diag(pi * (1 - pi))^0.5)
>        Fisher <- crossprod(t(XW2))
>        covs <- solve(Fisher)
>        H <- crossprod(XW2, covs) %*% XW2
>        if (firth)
>            U.star <- crossprod(x, y - pi + diag(H) * (0.5 -
>                pi))
>        else U.star <- crossprod(x, y - pi)
>        delta <- as.vector(covs %*% U.star)
>        mx <- max(abs(delta))/maxstep
>        if (mx > 1)
>            delta <- delta/mx
>
> First, note that this is inside an iterative loop.  The Fisher information
> matrix is first formed, and then it is inverted to get `covs'.  This is
> where it can get troublesome.  It is very likely in your case that the
> `Fisher' information matrix is ill-conditioned, and hence `covs' cannot be
> computed.  Consequently, the steplength `delta' for the Newton method cannot
> be determined.
>
>
> Ravi.
>
> ____________________________________________________________________
>
> Ravi Varadhan, Ph.D.
> Assistant Professor,
> Division of Geriatric Medicine and Gerontology
> School of Medicine
> Johns Hopkins University
>
> Ph. (410) 502-2619
> email: rvaradhan@jhmi.edu
>
>
> ----- Original Message -----
> From: xiaoyan yu <xiaoyan.yu@gmail.com>
> Date: Tuesday, March 9, 2010 11:26 am
> Subject: [R] penalized maximum likelihood estimation and logistf
> To: r-help@r-project.org
>
>
> > Hi, I got two questions and would really appreciate any help from here.
> >  First, is the penalized maximum likelihood estimation(Firth Type
> Estimation)
> >  only fit for binary response (0,1 or TRUE, FALSE)? Can it be applied
> > to
> >  multinomial logistic regression?
> >  If yes, what's the formula for LL and  U(beta_i)? Can someone point
> > me to
> >  the right reference?
> >  Second, when I used *logistf *on a dataset with binary response, I
> > got the
> >  following error msg:
> >  "Error in if (mx > 1) delta <- delta/mx :
> >    missing value where TRUE/FALSE needed"
> >
> >  What does this msg mean? does it mean the dataset includes missing
> response?
> >  I  checked my dataset several times and didn't find anything other
> > than TRUE
> >  or FALSE for the response. Please shed light on this.
> >
> >  Thanks,
> >  Xiaoyan
> >
> >       [[alternative HTML version deleted]]
> >
> >  ______________________________________________
> >  R-help@r-project.org mailing list
> >
> >  PLEASE do read the posting guide
> >  and provide commented, minimal, self-contained, reproducible code.
>

	[[alternative HTML version deleted]]

