# Error between two sparse vectors

#### divB

Hi,

consider a very sparse vector, e.g. the green bins in:

http://img530.imageshack.us/img530/7707/75359285.png [Broken]

Only 5 out of 1000 elements are active! Now consider a second vector which is a reconstruction of the first one (same sparsity). This vector are the blue bins. (the first and the last two bins are the same (that is, green and blue) up to machine precision!)

Thre reconstruction algorithm first estimates the position of the bins and afterwards their values.

Now I want to measure the error between these two vectors. When I my conventional MSE I get a very large error: norm(x_green - x_blue, 2) although the reconstruction is not really bad. This is because only a slight shift of the bins (one or two elements) produce a large error.

A second possibility would be to calculate the MSE not for the signal but for the positions and the values separately. Call t_k = [t_1, t_2, ..., t_5] the positions and a_k = [a_1, a_2, ..., a_5] the values. Then I could calculate:

MSE_pos = norm(t_k_green - t_k_blue, 2);
MSE_val = norm(a_k_green - a_k_blue, 2);

This are two values now, however I could like to have a single error measure! I can't just add the two values because the have a different units.

As a second idea, I could think a single bin as a complex number with the position as real part and the value as imaginary part and calculate the MSE the following way:

MSE = norm(complex(t_k_green, a_k_green) - complex(t_k_blue, a_k_blue), 2);

However I am not sure if this is a good idea.

Can anybody give me a hint what would be an appropriate error measure for this situation?

Regards, divB

Last edited by a moderator:

### The Physics Forums Way

We Value Quality
• Topics based on mainstream science
• Proper English grammar and spelling
We Value Civility
• Positive and compassionate attitudes
• Patience while debating
We Value Productivity
• Disciplined to remain on-topic
• Recognition of own weaknesses
• Solo and co-op problem solving