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]]
Ravi Varadhan
2010-Mar-09 17:22 UTC
[R] penalized maximum likelihood estimation and logistf
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 at jhmi.edu ----- Original Message ----- From: xiaoyan yu <xiaoyan.yu at gmail.com> Date: Tuesday, March 9, 2010 11:26 am Subject: [R] penalized maximum likelihood estimation and logistf To: r-help at 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 at r-project.org mailing list > > PLEASE do read the posting guide > and provide commented, minimal, self-contained, reproducible code.
Possibly Parallel Threads
- firth's penalized likelihood bias reduction approach
- how to predict with logistic model in package logistf ?
- model selection using logistf package
- Separation issue in binary response models - glm, brglm, logistf
- How to get the penalized log likelihood from smooth.spline()?