Learn R Programming

soundgen (version 2.7.4)

getSurprisal_vector: Get surprisal per vector

Description

Internal soundgen function called by getSurprisal. Estimates the unexpectedness or "surprisal" of the last element of input vector.

Usage

getSurprisal_vector(x, method = c("acf", "np")[1], best_lag = NULL)

Arguments

x

numeric vector representing the time sequence of interest, eg amplitudes in a frequency bin over multiple STFT frames

method

acf = change in maximum autocorrelation after adding the final point, np = nonlinear prediction (see nonlinPred - works but is VERY slow)

best_lag

(only for method = 'acf') if specified, we don't calculate the ACF but simply compare autocorrelation at best_lag with vs without the final point

Examples

Run this code
x = c(rep(1, 3), rep(0, 4), rep(1, 3), rep(0, 4), rep(1, 3), 0, 0)
soundgen:::getSurprisal_vector(x)
soundgen:::getSurprisal_vector(c(x, 1))
soundgen:::getSurprisal_vector(c(x, 13))

soundgen:::getSurprisal_vector(x, method = 'np')
soundgen:::getSurprisal_vector(c(x, 1), method = 'np')
soundgen:::getSurprisal_vector(c(x, 13), method = 'np')

Run the code above in your browser using DataLab