Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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.

Thanks in advance!

share|cite|improve this question
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

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




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$$

share|cite|improve this answer
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

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


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$.

share|cite|improve this answer
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

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.