Learn R Programming

GET (version 0.1-8)

deviation_test: Deviation test

Description

Crop the curve set to the interval of distances [r_min, r_max], calculate residuals, scale the residuals and perform a deviation test with a chosen deviation measure.

Usage

deviation_test(
  curve_set,
  r_min = NULL,
  r_max = NULL,
  use_theo = TRUE,
  scaling = "qdir",
  measure = "max",
  savedevs = FALSE
)

Arguments

curve_set

A residual curve_set object. Can be obtained by using residual().

r_min

The minimum radius to include.

r_max

The maximum radius to include.

use_theo

Whether to use the theoretical summary function or the mean of the functions in the curve_set.

scaling

The name of the scaling to use. Options include 'none', 'q', 'qdir' and 'st'. 'qdir' is default.

measure

The deviation measure to use. Default is 'max'. Must be one of the following: 'max', 'int' or 'int2'.

savedevs

Logical. Should the global rank values k_i, i=1,...,nsim+1 be returned? Default: FALSE.

Value

If 'savedevs=FALSE' (default), the p-value is returned. If 'savedevs=TRUE', then a list containing the p-value and calculated deviation measures u_i, i=1,...,nsim+1 (where u_1 corresponds to the data pattern) is returned.

Details

The deviation test is based on a test function T(r) and it works as follows:

1) The test function estimated for the data, T_1(r), and for nsim simulations from the null model, T_2(r), ...., T_nsim+1(r), must be saved in 'curve_set' and given to the deviation_test function.

2) The deviation_test function then

  • Crops the functions to the chosen range of distances [r_min, r_max].

  • If the curve_set does not consist of residuals (see residual), then the residuals d_i(r) = T_i(r) - T_0(r) are calculated, where T_0(r) is the expectation of T(r) under the null hypothesis. If use_theo = TRUE, the theoretical value given in the curve_set$theo is used for as T_0(r), if it is given. Otherwise, T_0(r) is estimated by the mean of T_j(r), j=2,...,nsim+1.

  • Scales the residuals. Options are

    • 'none' No scaling. Nothing done.

    • 'q' Quantile scaling.

    • 'qdir' Directional quantile scaling.

    • 'st' Studentised scaling.

    See for details Myllym<U+00E4>ki et al. (2013).

  • Calculates the global deviation measure u_i, i=1,...,nsim+1, see options for 'measure'.

    • 'max' is the maximum deviation measure

      $$u_i = \max_{r \in [r_{min}, r_{max}]} | w(r)(T_i(r) - T_0(r))|$$

    • 'int2' is the integral deviation measure

      $$u_i = \int_{r_{min}}^{r_{max}} ( w(r)(T_i(r) - T_0(r)) )^2 dr$$

    • 'int' is the 'absolute' integral deviation measure

      $$u_i = \int_{r_{min}}^{r_{max}} |w(r)(T_i(r) - T_0(r))| dr$$

  • Calculates the p-value.

Currently, there is no special way to take care of the same values of T_i(r) occuring possibly for small distances. Thus, it is preferable to exclude from the test the very small distances r for which ties occur.

References

Myllym<U+00E4>ki, M., Grabarnik, P., Seijo, H. and Stoyan. D. (2015). Deviation test construction and power comparison for marked spatial point patterns. Spatial Statistics 11: 19-34. doi: 10.1016/j.spasta.2014.11.004

Examples

Run this code
# NOT RUN {
## Testing complete spatial randomness (CSR)
#-------------------------------------------
if(require("spatstat", quietly = TRUE)) {
  pp <- unmark(spruces)
  
# }
# NOT RUN {
nsim <- 999
# }
# NOT RUN {
  
# }
# NOT RUN {
  # Generate nsim simulations under CSR, calculate L-function for the data and simulations
  env <- envelope(pp, fun="Lest", nsim=nsim, savefuns=TRUE, correction="translate")
  # The deviation test using the integral deviation measure
  res <- deviation_test(env, measure = 'int')
  res
  # or
  res <- deviation_test(env, r_min=0, r_max=7, measure='int2')
}

# }

Run the code above in your browser using DataLab