2
$\begingroup$

I've got a multiplicative-with-noise model $F(x,y)=S(x)*R(y)*D(x,y)+N$, where $S(x)$ and $R(y)$ are unknown functions, $D(x,y)$ is a distance function, that is, a function that depends only on $|x-y|$ and decreases quickly when distance increases. $N$ is an uncorrelated "small random noise" function. All of the functions except noise are positive.

I have $F(x,y)$ sampled for almost any not-very-distant pair of discrete $(x,y)$, that is, for $(x,y): |x-y| \leq D_{max}$.

I'd like to decompose $F(x,y)$ to obtain the "form" of $S(x), R(y), D(x,y)$. How can I do it? My only idea is to calculate averages $S_{est}(x_i)=average(F(x,y), x=x_i)$, $R_{est}(y_j)=average(F(x,y),y=y_j)$ etc, assume $N=0$, then produce an estimated $F_{est}=S_{est}(x)*R_{est}(y)*D_{est}(x,y)$. I dont know what to do next.

1 Answers 1

3

The standard way would be to minimize an error function, perhaps least-min-squares $$\mathbb{E} [F(x,y) - S(x)R(y)D(|x-y|)]^2,$$ where $S,R,D$ are all variables. You can also add a regularization term reflecting your belief that $D(d)$ is small for large $d$, e.g. something like $\sum c_d D(d)^2$ for some chosen weights $c_d \rightarrow \infty$.

Now that you have a clear goal, you can try to find an explicit solution by finding the minimum analytically. Alternatively, use any standard iterative minimizing technique in the literature, for example gradient descent, to solve the problem in practice.

  • 0
    Should I first transform the task into logarithm domain, assuming the noise is zero? That is, considering $N=0$ and taking the logarithm of the both hands of the equality, gives $log(F(x,y))=log(S(x))+log(R(y))+log(D(|x-y|)$, and renaming $log(F)=f$ etc gives $f(x,y)=s(x)+r(y)+d(|x-y|)$.2010-11-23
  • 0
    If you assume that the noise is normal, then least-min-squares is gives the solution with maximum likelihood (with the regularization, maximum aposteriori probability).2010-11-23
  • 0
    I've got approximately 10-20 thousands of $x$ and $y$ points, and $F(x,y)$ is sampled approximately at 10-20 millions of $(x,y)$ pairs. So, the task is to find a 10-20 thousand-element vectors $S(x)$, $R(y)$. I'm not happy to dive into zillion-term matrices. Is it safe to use the averages approach instead?2010-11-23
  • 0
    The best way to know is to try. You can then check your results using the formula - if you have some model for the noise, you can actually check if the solution you get is reasonable.2010-11-23