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

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: