: Model formula question

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

: Model formula question

maneesh deshpande
Hi,

I have a data set with a continuous predictor X, a factor A and a continuous
dependent
variable Y.
I am trying to build a linear model of the form:

Y = (b0 + b1*X1)*B(A)

where B(A) is a constant for each level of the factor A.
I am not quite sure how to formulate the appropriate model formula. If I
write:

Y ~ ( 1 + X)/A

, I get estimates for as many constants and slopes as the number of levels
of A.
What I really need is an overall multiplicative constant which depends on
the factor A.

Thanks in advance,

Maneesh

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
Reply | Threaded
Open this post in threaded view
|

Re: : Model formula question

David Firth-2
On Wednesday 01 February 2006 02:37, maneesh deshpande
wrote:

> Hi,
>
> I have a data set with a continuous predictor X, a factor
> A and a continuous dependent
> variable Y.
> I am trying to build a linear model of the form:
>
> Y = (b0 + b1*X1)*B(A)
>
> where B(A) is a constant for each level of the factor A.
> I am not quite sure how to formulate the appropriate
> model formula. If I write:
>
> Y ~ ( 1 + X)/A
>
> , I get estimates for as many constants and slopes as the
> number of levels of A.

Yes, that's right: the / symbol has a special
(non-arithmetic) meaning when used like this in a model
formula.  See for example p151 onwards in the reference
that is given by ?formula.

> What I really need is an overall multiplicative constant
> which depends on the factor A.

The gnm (generalized nonlinear models) package has
facilities for this.  The model above could be specified
there as
    Y ~ -1 + Mult(X, -1 + A)
(where the first "-1" removes the intercept, and the second
one says to estimate a separate multiplier for each level
of A rather than using contrasts in A).  Or, if you want to
constrain all of your multipliers to have the same sign,
you can use
    Y ~ -1 + Mult(X, Exp(-1 + A))
(note the capital E there!).

It is unclear to me that using the *same* set of multipliers
for both intercept and slope will typically be the right
thing to do, though.  It would not, for example, be
invariant to transformation of X to X-c, with c constant.
That is to say, your X variable needs to be on a scale for
which the zero value has a special meaning, in order to
allow the above model to make sense.  But presumably you
have thought about this already.

Hoping that helps,
David

--
Professor David Firth
http://www.warwick.ac.uk/go/dfirth

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html