Skip to contents

The gamma test measures mean squared error in an input/output data set, relative to an arbitrary, unknown smooth function. This can usually be interpreted as testing for the existence of a causal relationship, and estimating the expected error of the best smooth model that could be built on that relationship.

Usage

gamma_test(
  predictors,
  target,
  n_neighbors = 10,
  eps = 0,
  plot = FALSE,
  caption = "",
  verbose = FALSE
)

Arguments

predictors

A Numeric vector or matrix whose columns are proposed inputs to a predictive function.

target

A Numeric vector, the output variable that is to be predicted

n_neighbors

An Integer, the number of near neighbors to use in calculating gamma

eps

The error term passed to the approximate near neighbor search. The default value of zero means that exact near neighbors will be found, but time will be O(M^2), where an approximate search can run in O(M*log(M))

plot

A Logical variable, whether to plot the delta/gamma graph.

caption

A character string which will be the caption for the plot if plot = TRUE

verbose

A Logical variable, whether to return details of the computation

Value

If verbose == FALSE, a list containing Gamma and the vratio, If verbose == TRUE, that list plus the distances from each point to its near neighbors, the average of squared distances, and the value returned by lm on the delta and gamma averages. Gamma is Coefficient 1 of lm.

Examples

he <- embed(henon_x, 3)
t <- he[ , 1]
p <- he[ ,2:3]
gamma_test(predictors = p, target = t)
#> $Gamma
#> [1] 0.0002023723
#> 
#> $vratio
#> [1] 0.0001984668
#>