# Multiple regression with model $Y = (1 + c_1X_1)(1 + c_2X_2)\ldots(1 + c_nX_n)$

I'm currently working with data contained in $Y, X_1, X_2, \ldots, X_n$ and wish to fit it to the model:

$Y = (1 + c_1X_1)(1 + c_2X_2)\ldots(1 + c_nX_n)$

where the $c_i$ are coefficients to be determined through regression. How can I do this? I've tried playing with logarithms (i.e. looking at $Y$ vs. $\log (1 + c_iX_i)$), but due to the pesky $1$, I can't figure out how to follow through.

-
That product expands to 1+all possible combinations using $1,2,\dots,n$ variables. Are you fitting it with some software like R? Considering logarithms I guess you could use $\log(1+x) = x - \frac{x^2}2 + \frac{x^3}3 + {O}(x^4)\!$ –  Julius Aug 7 '12 at 14:56
I'm trying to fit with MATLAB - I think the Taylor series method is promising, although $\log(1 + cx) = cx - c^2x^2/2 + c^3x^3/3 + O(cx^4)$, and the powers of $c$ get in the way. –  K. Hu Aug 7 '12 at 15:43
It is not possible so select comment as the answer, but in these situations you might express your wish and commentators usually repost their comments as answers. Is it my comment you are talking about? Edit: I will post full answer soon. –  Julius Aug 7 '12 at 15:49
If you do a polynomial approximation to the log where do you truncate and since the model is nonlinear in the coefficients there are issues of existence and uniqueness of solutions with this approach as well? –  Michael Chernick Aug 7 '12 at 16:04

If you multiple out you will find it has a standard linear regression form except that it includes many high order interaction terms with related coefficients. To see this note that

Y=(1+c$_1$X$_1$)(1+c$_2$X$_2$)(1+c$_3$X$_3$)=

1+c$_1$X$_1$+c$_2$X$_2$+c$_3$X$_3$ +c$_1$c$_2$X$_1$X$_2$+c$_1$c$_3$X$_1$X$_3$+c$_2$c$_3$X$_2$X$_3$+c$_1$c$_2$c$_3$X$_1$X$_2$X$_3$.

-
How can you estimate $c_1$,$c_2$ and $c_3$ then without estimating $d=c_1c_2c_3$ as well? –  vanguard2k Aug 7 '12 at 15:03
But since the coefficients on the interaction terms are related, is there an algorithmic way to determine these coefficients? –  K. Hu Aug 7 '12 at 15:25
@K.Hu You can certainly form the likelihood equations and attempt to maximize it with respect to the parameters. But it becomes complicated in terms of solutions as it is not simply a system of k linear equations in k unknowns. So there would be issues of existence and uniqueness of solutions. –  Michael Chernick Aug 7 '12 at 16:00

Firstly, as Michael Chernick noted

$$Y=\sum^n_{m=1}(1+c_mX_m)=1+\sum^n_{m=1}c_mX_m+\sum c_{m_1}c_{m_2}X_{m_1}X_{m_2}+\dots+ c_{1}X_{1}\dots c_nX_n$$

and for example in case $n=3$ you should interpret

$$Y=1+c_1X_1+c_2X_2+c_3X_3+c_1c_2X_1X_2+c_1c_3X_1X_3+c_2c_3X_2X_3+c_1c_2c_3X_1X_2X_3$$

as

$$Y=a_0+a_1X_1+a_2X_2+a_3X_3+a_4X_1X_2+a_5X_1X_3+a_6X_2X_3+a_7X_1X_2X_3$$

and estimate all these coefficients separately since coefficient $c_1c_2$ by $X_1X_2$ is not a product of coefficients by $X_1$ and $X_2$. Same holds for the idea about logarithms: $$\log(1 + cx) = cx - c^2x^2/2 + c^3x^3/3=a_1x+a_2x^2+a_3x^3$$

Finally, since you are using MATLAB for this, I advice you not to use logarithms because some accuracy might be lost, there might be multicollinearity problem as noted in the comments and that should be not so hard to write a code for including all these combinations even for large $n$, at least using R.

Edit: answers to the comment. I generated some data and this example tells what I mean: $$y=0.311x_1+0.954x_2+0.053x_1x_2$$ i.e. $0.311\cdot 0.954\neq 0.053$. Here $y=x_1+x_2+\text{noise}$. Imagine $X_1X_2$ as a new variable $X^*$, which might have totally different impact on $Y$ thant $X_1$ and $X_2$. Now if I take $y=x_1\cdot x_2+\text{noise}$ I get $$y=-0.16x_1-0.02x_2+1.02x_1x_2$$

-
Thanks for your detailed response! I don't understand what you mean when you say "coefficient $c_1c_2$ by $X_1X_2$ is not a product of coefficients by $X_1$ and $X_2$." From my understanding, we can't estimate the interaction coefficients $c_a c_b$ since they are entirely dependent on the separate $c_a$ and $c_b$. Could you please clarify? Thanks so much. –  K. Hu Aug 7 '12 at 16:45
@K.Hu, I edited the answer, is it more clear now? –  Julius Aug 7 '12 at 17:23