# chisq: Calculates the distance between two probability densities. In DstarM: Analyze Two Choice Reaction Time Data with the D*M Method

## Description

Calculates the distance between two probability densities.

## Usage

 ```1 2 3 4 5``` ```chisq(tt, a, b) battacharyya(tt, a, b) hellinger(tt, a, b) ```

## Arguments

 `tt` the time grid on which the densities are evaluated. `a` a vector with values of the first density. `b` a vector with values of the second density.

## Value

The distance between densities `a` and `b`.

## Examples

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39``` ```# Lets simulate a bunch of parameters and compare the three distance measures. tt = seq(0, 5, .001) parsMatV = cbind(.8, seq(0, 5, .5), .5, .5, .5) # differ only in drift speed parsMatA = cbind(seq(.5, 2, .15), 2, .5, .5, .5)# differ only in boundary # calculate densities for all these parameters dV = apply(parsMatV, 1, function(x, tt) Voss.density(tt, x, boundary = 'upper'), tt = tt) dA = apply(parsMatA, 1, function(x, tt) Voss.density(tt, x, boundary = 'upper'), tt = tt) # make plots of the densities matplot(tt, dA, xlim = c(0, .6), main = 'Densities with different Boundary', col = rainbow(ncol(dA)),type = 'l', lty = 1, las = 1, bty = 'n', xlab = 'Time', ylab = 'Density') legend('topright', lty = 1, bty = 'n', col = rainbow(ncol(dA)), legend = paste('a = ', parsMatA[, 1])) matplot(tt, dV, xlim = c(0, .6), main = 'Densities with different Drift Speed', col = rainbow(ncol(dV)), type = 'l', lty = 1, las = 1, bty = 'n', xlab = 'Time', ylab = 'Density') legend('topright', lty = 1, bty = 'n', col = rainbow(ncol(dV)), legend = paste('v = ',parsMatV[, 2])) # empty matrices for data storage distMatV = matrix(NA, nrow = ncol(dV) - 1, ncol = 3, dimnames = list(NULL, c('Chisq', 'Bhattacharyya', 'Hellinger'))) distMatA = matrix(NA, nrow = ncol(dA) - 1, ncol = 3, dimnames = list(NULL, c('Chisq', 'Bhattacharyya', 'Hellinger'))) # calculate distances between densities in column i and i + 1. # this is done using three different distance measures for (i in 1:(ncol(dA) - 1)) { distMatV[i, ] = c(chisq(tt, dV[, i], dV[, i + 1]), battacharyya(tt, dV[, i], dV[, i + 1]), hellinger(tt, dV[, i], dV[, i + 1])) distMatA[i, ] = c(chisq(tt, dA[, i], dA[, i + 1]), battacharyya(tt, dA[, i], dA[, i + 1]), hellinger(tt, dA[, i], dA[, i + 1])) } # The three distance measures correlate highly for differences in Boundary cor(distMatA) # The battacharyya distance measures does not correlate with the others # when calculating differences in drift speed cor(distMatV) ```

DstarM documentation built on Aug. 29, 2020, 1:06 a.m.