Skip to content

Instantly share code, notes, and snippets.

@oscardelama
Last active August 29, 2015 14:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save oscardelama/f28b69a2b93cd6e059d3 to your computer and use it in GitHub Desktop.
Save oscardelama/f28b69a2b93cd6e059d3 to your computer and use it in GitHub Desktop.
xval-noise-models: Test the models
# Get the weighted errors `w.mean` and `w.var`
test.error.weighted.var <- function(sel.channel, coeffs) {
tests.pics <- read.csv('test-pics.csv', stringsAsFactors = FALSE, row.names=NULL)
tests.pics <- as.vector(tests.pics[,1])
data.df <- subset(data.frame(vvm.all$var.df),
channel == sel.channel &
pict %in% tests.pics)
predicted.var <- (data.df$mean*coeffs[3] + coeffs[2])*data.df$mean + coeffs[1]
error.var <- mean((data.df$var - predicted.var)^2/predicted.var)
error.mean <- mean((data.df$var - predicted.var)^2/data.df$mean^2)
list('w.var' = sqrt(error.var), 'w.mean'=sqrt(error.mean))
}
# Get the `SNR` error
test.error.snr <- function(sel.channel, coeffs) {
tests.pics <- read.csv('test-pics.csv', stringsAsFactors = FALSE, row.names=NULL)
tests.pics <- as.vector(tests.pics[,1])
data.df <- subset(data.frame(vvm.all$var.df),
channel == sel.channel &
pict %in% tests.pics)
predicted.var <- (data.df$mean*coeffs[3] + coeffs[2])*data.df$mean + coeffs[1]
pred.snr <- snr(data.df$mean, predicted.var)
real.snr <- snr(data.df$mean, data.df$var)
error <- mean((real.snr - pred.snr)^2)
# Result
sqrt(error);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment