[R] Define a glm object with user-defined coefficients (logistic regression, family="binomial")

Jürgen Biedermann juergen.biedermann at googlemail.com
Sun Nov 14 14:35:20 CET 2010


Hi David,

Thank you very much for your answer. It helps me a lot. The offset 
argument was the key (I didn't understand the description in the R-help 
file)
Rereading my email I found a mistake in the definition of my formula. 
Instead of p(y) = exp(a + c1*x1 + c2*x2), it has to be: p(y) = exp(a + 
c1*x1 + c2*x2)/(1+exp(a + c1*x1 + c2*x2)), but actually that doesn't 
matter much in our case.

> The anova results would have not much interpretability in this 
> setting. You would be testing for the Intercept being zero under very 
> artificial conditions. You have eliminated much statistical meaning by 
> forcing the form of the results. 

Imagine the following. I develop a model on one dataset and want to 
validate it on another. So I could use the coefficents trained on the 
first dataset to define a glm model (named: ModelV) on the second 
dataset. Then i could test this model against a NULL model (named: 
ModelV0) of the second dataset with anova(ModelV, ModelV0, test="Chisq").

Best Wishes
Jürgen

-- 
-----------------------------------
Jürgen Biedermann
Blücherstraße 56
10961 Berlin-Kreuzberg
Mobil: +49 176 247 54 354
Home: +49 30 250 11 713
e-mail: juergen.biedermann at gmail.com


--------- Korrespondenz ----------

Betreff: Re: [R] Define a glm object with user-defined coefficients 
(logistic regression, family="binomial")
Von: David Winsemius <dwinsemius at comcast.net>
An: Jürgen Biedermann <juergen.biedermann at googlemail.com>
Datum: 13.11.2010 17:15
>
> On Nov 13, 2010, at 7:43 AM, Jürgen Biedermann wrote:
>
>> Hi there,
>>
>> I just don't find the solution on the following problem. :(
>>
>> Suppose I have a dataframe with two predictor variables (x1,x2) and 
>> one depend binary variable (y). How is it possible to define a glm 
>> object (family="binomial") with a user defined logistic function like 
>> p(y) = exp(a + c1*x1 + c2*x2) where c1,c2 are the coefficents which I 
>> define. So I would like to do no fitting of the coefficients. Still, 
>> I would like to define a GLM object because I could then easily use 
>> other functions which need a glm object as argument (e.g. I could use 
>> the anova,
>
> The anova results would have not much interpretability in this 
> setting. You would be testing for the Intercept being zero under very 
> artificial conditions. You have eliminated much statistical meaning by 
> forcing the form of the results.
>
>> summary functions).
>
> # Assume dataframe name is dfrm with variables event, no_event, x1, 
> x2, and further assume c1 and c2 are also defined:
>
> dfrm$logoff <- with(dfrm, log(c1*x1 + c2*x2))
> forcedfit <- glm( c(event,no_event) ~ 1 + offset(logoff), data=dfrm)
>
> (Obviously untested.)
>
>>
>> Thank you very much! Greetings
>> Jürgen
>>
>> -- 
>> -----------------------------------
>> Jürgen Biedermann
>
>
> David Winsemius, MD
> West Hartford, CT
>



More information about the R-help mailing list