I have a little problem that I should solve quickly and I'm a little bit on pressure, so that any help/tip would be of great help.

I have two nonlinear equations with two unknown variables x and y and I want to know the variance of the solution variables. Basically the same type of equations, difference lies in the coefficients of the functions. $ a,b, x0, d_{ij}, c, e, f $ are all known.

$f1(x,y_1) = a + b (x-x_0) - \ln{y_1} - \ln\dfrac{\sqrt{\dfrac{2dx}{c}+1}-1}{d} - 2*\dfrac{\sqrt{\dfrac{2dx}{c}+1}-1}{d} * \sum_{j=1}^2 y_jd_{ij}= 0$

$f2(x,y_1) = e + f (x-x_0) - \ln{(1-y_1)} - \ln\dfrac{\sqrt{\dfrac{2dx}{c}+1}-1}{d} - 2*\dfrac{\sqrt{\dfrac{2dx}{c}+1}-1}{d} * \sum_{j=1}^2 y_jd_{ij}= 0$

Two more functional relationships between: $y_2 = 1-y_1 (1.)$ $d = \sum_{i=1}^2 \sum_{j=1}^2 y_i y_j d_{ij} (2.) $$

Solving the system of these equations using a numerical procedure I get the values of x and y, the solution variables.

Because the variables $a,b,e,f$ have their statistical uncertainties, their uncertainties will propagate into the solution also. a and b are fixed values and not dependent on x, but x and the partial derivatives of x are dependent of d, and d is dependent on y.

In case of one nonlinear equations with one unknown variable x ($y_1$ is then = 1), I found the variance using implicit differentation. I wanted to expand this method on 2-nonlinear equations and I'll show how I wanted to do it:

Because x is defined implicitly in both equations, I used the implicit differentiation theorem to find the partial derivatives of x in terms of the error affected variables for both functions:

$\frac{\partial x}{\partial a} = -\frac{\displaystyle\frac{\partial f1}{\partial a}}{\displaystyle\frac{\partial f1}{\partial p}}$, $\frac{\partial x}{\partial b} = -\frac{\displaystyle\frac{\partial f1}{\partial b}}{\displaystyle\frac{\partial f1}{\partial p}}$, $(\frac{\partial x}{\partial y})_1 = -\frac{\displaystyle\frac{\partial f1}{\partial y}}{\displaystyle\frac{\partial f1}{\partial p}}$. $\frac{\partial x}{\partial e} = -\frac{\displaystyle\frac{\partial f2}{\partial e}}{\displaystyle\frac{\partial f2}{\partial p}}$, $\frac{\partial x}{\partial f} = -\frac{\displaystyle\frac{\partial f2}{\partial f}}{\displaystyle\frac{\partial f2}{\partial p}}$, $(\frac{\partial x}{\partial y})_2 = -\frac{\displaystyle\frac{\partial f2}{\partial y}}{\displaystyle\frac{\partial f2}{\partial p}}$

All partial derivatives were approximated with the difference quotient and are known. $(dx/dy)$ was written with subscripts 1 and 2 to mark the difference. Now, using the formula for error propagation (neglecting covariances) for both equations:

$$\sigma^2_x = \left(\frac{\partial x}{\partial a}\right)^2 \sigma^2_{a} + \left(\frac{\partial x}{\partial b}\right)^2 \sigma^2_{b} + \left(\frac{\partial x}{\partial y}\right)^2_{1} \sigma^2_{y}$$ $$\sigma^2_x = \left(\frac{\partial x}{\partial e}\right)^2 \sigma^2_{e} + \left(\frac{\partial x}{\partial f}\right)^2 \sigma^2_{f} + \left(\frac{\partial x}{\partial y}\right)^2_{2} \sigma^2_{y}$$

Everything except the variances $$\sigma^2_x, \sigma^2_y$$ is known in the last two equations. My idea was to bring them on one side and solve numerically:

$$\sigma^2_x - \left(\frac{\partial x}{\partial y}\right)^2_{1} \sigma^2_{y} = \left(\frac{\partial x}{\partial a}\right)^2 \sigma^2_{a} + \left(\frac{\partial x}{\partial b}\right)^2 \sigma^2_{b} $$ $$\sigma^2_x - \left(\frac{\partial x}{\partial y}\right)^2_{2} \sigma^2_{y}= \left(\frac{\partial x}{\partial e}\right)^2 \sigma^2_{e} + \left(\frac{\partial x}{\partial f}\right)^2 \sigma^2_{f} $$

I tried this, but it didnt yield me the expected results.

I got expected results in the case of one nonlinear equations with one variable, but I assume it happened so, because the variable x wasn't dependent on any other variable. In the case of two equation, the derivatives of x become dependent on the value of the solution y, and I don't know if it is possible to use the error propagation law without considering this dependence. Is there any other way to find the variance or I made a mistake in my try to do it with implicit differentiaon?

Thank you all in advance.


1 Answer 1


When doing error propagation for multiple variables, you need to propagate the covariance matrix, not just the variances (which are the diagonal elements of the cov matrix).

Of course, in one variable, the covariance matrix is the variance so you got the expected answer. If you work with covariance matrices you should get things write. You can diagonalize at the end if all you want is a set of variables (which are linear combinations of the original variables) that are uncorrelated and have their own variances.

  • $\begingroup$ Thank you Mark for your fast answer! I have more understanding now, but some things are not clear yet for me. If I do the error propagation formula on my starting equations (f1,f2), their variances are 0, and to make them 0, all other terms on the right side have to add up to 0, which is not possible (quadratic terms in the error propagation law). Is it the right way to search then for the implicitly defined variable x, like the equations above, and only to add the covariances between the variables x and y. Could you give me a hint, how would you proceed? $\endgroup$
    – denis0
    Jul 9, 2016 at 11:15

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .