evar
Variance estimation
Contents
Download
Syntax
v = evar(y)
Description
Assuming that the deterministic function y has additive Gaussian noise, evar(y) returns an estimated variance of this noise.
A thin-plate smoothing spline model is used to smooth y. It is assumed that the model whose generalized cross-validation score is minimum can provide the variance of the additive noise. A few tests showed that evar works very well with "not too irregular" functions.
1-D examples
Create a deterministic signal with 1000 data points and add Gaussian noise whose variance ranges from 0 to 0.5
n = 1e3; x = linspace(0,25,n); y = round(sin(x)); sig2 = linspace(0,0.5,50);
As an example, this figure shows the effect of an additive noise with a variance of 0.2 (original signal in black, noisy signal in red).
yn = y + sqrt(0.2)*randn(size(x)); plot(x,yn,'r',x,y,'k')
Estimate the variance of the additive noise by using evar
sig2_est = zeros(1,50); for i = 1:50 yn = y + sqrt(sig2(i))*randn(1,n); sig2_est(i) = evar(yn); end
Compare the estimated variance (sig2_est) with the true variance (sig2)
plot(sig2_est,sig2,'o',[0 0.5],[0 0.5],'k') axis([-0.05 0.55 -0.05 0.55]) axis square xlabel('Estimated variance') ylabel('True variance')
2-D examples
Create a parametric surface and add Gaussian noise whose variance ranges from 0 to 0.5
[xp,yp] = deal(0:.02:1); [x,y] = meshgrid(xp,yp); f = exp(x+y) + sin((x-2*y)*3); sig2 = linspace(0,0.5,50);
The following figure compares the original parametric surface with the same surface added with a Gaussian noise (variance = 0.1)
fn = f + sqrt(0.1)*randn(size(f)); figure, surf(xp,yp,f), zlim([0 8]), axis square title('Original surface') figure, surf(xp,yp,fn), zlim([0 8]), axis square title('Noisy surface')
Estimate the variance of the additive noise by using evar...
sig2_est = zeros(1,50); for i = 1:50 fn = f + sqrt(sig2(i))*randn(size(f)); sig2_est(i) = evar(fn); end
... and compare the estimated variance (sig2_est) with the true variance (sig2)
plot(sig2_est,sig2,'o',[0 0.5],[0 0.5],'k') axis([-0.05 0.55 -0.05 0.55]) axis square xlabel('Estimated variance') ylabel('True variance')
Information & Reference
Buckley MJ, Fast computation of a discretized thin-plate smoothing spline for image data, Biometrika, 81, 2, 1994, pp 247-258.
See also
About the author
Damien Garcia, Eng., Ph.D. Assistant professor, Department of radiology CRCHUM, University of Montreal Hospital Montreal, QC, Canada Damien.Garcia.REMOVE-THIS@BiomeCardio.com