nengolib.signal.nrmse

nengolib.signal.nrmse(actual, target, **kwargs)[source]

Returns RMSE(actual, target) / RMS(target).

This gives the normalized RMSE, such that an output of 0 corresponds to actual=target while an output of 1 corresponds to actual=np.zeros_like(target). This is scale-invariant in the power of the target signal.

Parameters:
actual : array_like

Actual signal (measured).

target : array_like

Target signal (expected).

**kwargs : dictionary, optional

Additional keyword arguments passed to nengo.utils.numpy.rmse() and nengo.utils.numpy.rms().

Returns:
error : np.array

RMSE(s) normalized against the target RMS(s).

See also

nengo.utils.numpy.rmse(), nengo.utils.numpy.rms()

Notes

This function is not symmetric. That is, nrmse(x, y) may differ from nrmse(y, x).