saggak wrote:

Dear Mr Frank,
I thank you for your prompt reply. However, I am not able to understand (may be since for me R is a new venture) the contents of your reply. If its a book you are referring to, I don't have access to it. How do I get @ARTICLE{hos97com and how do I run it in R? Thanking you in adavance With regards Saggak

The article is in the journal Statistics in Medicine. I mentioned how to run it. Here is an example:

library(Design)  # also requires Hmisc package
f <- lrm(y ~ x1+x2*pol(x3,2), x=TRUE, y=TRUE)
resid(f, 'gof')

Frank

--- On *Tue, 16/9/08, Frank E Harrell Jr /<[EMAIL PROTECTED]>/* wrote:

    From: Frank E Harrell Jr <[EMAIL PROTECTED]>
    Subject: Re: [R] Hosmer- Lemeshow test
    To: [EMAIL PROTECTED]
    Cc: "R list" <[EMAIL PROTECTED]>
    Date: Tuesday, 16 September, 2008, 4:38 PM

    saggak wrote:
    > Dear R - help,
> > I am working on the Credit scorecard model. I am using the Logistic
    regression to arrive at the regression coefficients model.
> > I want to use the Hosmer - Lemeshow test . > > In order to understand the use of R - language, I had referred the following URL > > Â Â Â Â Â http://www.stat.sc.edu/~hitchcock/diseaseoutbreakRexample704.txt > > The related data 'diseaseoutbreak' is available at the following
    URL
> > Â Â Â Â Â Â http://www.stat.sc.edu/~hitchcock/diseaseoutbreakdata.txt > > The R code as mentioned therein is > > ####
    > # A function to do the Hosmer-Lemeshow test in R.
    > # R Function is due to Peter D. M. Macdonald, McMaster University.
> # > hosmerlem <- > function (y, yhat, g = 10) > { > cutyhat <- cut(yhat, breaks = quantile(yhat, probs = seq(0, > 1, 1/g)), include.lowest = T)
    >     obs <- xtabs(cbind(1 - y, y) ~ cutyhat)
    >     expect <- xtabs(cbind(1 - yhat, yhat) ~ cutyhat)
    >     chisq <- sum((obs - expect)^2/expect)
    >     P <- 1 - pchisq(chisq, g - 2)
    >     c("X^2" = chisq, Df = g - 2, "P(>Chi)" = P)
    > }
    > #
    > ######
> > # Doing the Hosmer-Lemeshow test
    > # (after copying the above function into R):
> > hosmerlem(disease, fitted(disease.logit))
    > However when I ran these commands / functions in R, I got following errors
> > Error in model.frame.default(formula = cbind(1 - y, y) ~ cutyhat) : > Â invalid type (list) for variable 'cbind(1 - y, y)' > > Can anyone please guide me as to how to run Hosmer- Lemeshow test, as also
    how to find out the other usual logistic regression related "Log -
    likelihood, AIC, Pseudo R etc"?
> > Thanking you all in advance > > Saggak

That test is too dependent on cutpoints and does not have adequate power . I recommend replacing it with

    @ARTICLE{hos97com,
author = {Hosmer, D. W. and Hosmer, T. and {le Cessie}, S. and Lemeshow, S.},
       year = 1997,
title = {A comparison of goodness-of-fit tests for the logistic regression
               model},
       journal = Statistics in Medicine,
       volume = 16,
       pages = {965-980},
       annote = {goodness-of-fit for binary logistic model;difficulty with
                Hosmer-Lemeshow statistic being dependent on how groups are
defined;sum of squares test;cumulative sum test;invalidity of naive test based on deviance;goodness-of-link function;simulation setup}

    which is implemented in the residuals.lrm function in the Design package.


-- Frank E Harrell Jr Professor and Chair School of Medicine
                          Department of Biostatistics   Vanderbilt University


______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to