dfba_gamma

library(DFBA)

1 Theoretical Background

Many studies have two variates where each variate is a score on an ordinal scale (e.g., an integer on a \(1,\ldots,M\) scale). Such data are typically organized into a rank-ordered matrix of frequency values where the element in the \([I, J]\) cell is the frequency of occasions where one variate has a rank value of \(I\) while the corresponding rank for the other variate is \(J\). For such matrices, Goodman and Kruskal (1954) provided a frequentist distribution-free concordance correlation statistic that has come to be called the Goodman and Kruskal’s gamma or the \(G\) statistic (Siegel & Castellan, 1988). The dfba_gamma() function provides a corresponding Bayesian distribution-free analysis given the input of a rank-ordered matrix.

Chechile (2020) showed that the Goodman-Kruskal gamma is equivalent to the more general Kendall \(\tau_A\) nonparametric correlation coefficient. Historically, gamma was considered a different metric from \(\tau\) because, typically, the version of \(\tau\) in standard use was \(\tau_B\), which is a flawed metric because it does not properly correct for ties. It is important to point out that the commands cor(x, y, method = "kendall") and cor.test(x, y, method = "kendall") (from the stats package) return the \(\tau_B\) correlation, which is incorrect when there are ties.

The correct \(\tau_A\) is computed by the dfba_bivariate_concordance() function (see the vignette for the dfba_bivariate_concordance() function for more details and examples about the difference between \(\tau_A\) and \(\tau_B\)). The dfba_gamma() function is similar to the dfba_bivariate_concordance() function; the main difference is that the dfba_gamma() function deals with data that are organized in advance into a rank-ordered table or matrix, whereas the input for the dfba_bivariate_concordance() function are two paired vectors x and y of continuous values.

The gamma statistic is equal to:

\[\begin{equation} G = \frac{n_c-n_d}{n_c+n_d}, \tag{1.1} \end{equation}\]

where \(n_c\) is the number of occasions when the variates change in a concordant way, and \(n_d\) is the number of occasions when the variates change in a discordant fashion. The value of \(n_c\) for an order matrix is the sum of terms for each \([I, J]\) that are equal to \(n_{ij}N^{+}_{ij}\), where \(n_{ij}\) is the frequency for cell \([I, J]\) and \(N^{+}_{ij}\) is the sum of the frequencies in the matrix where the row value is greater than \(I\) and where the column value is greater than \(J\). The value \(n_d\) is the sum of terms for each \([I, J]\) that are \(n_{ij}N^{-}_{ij}\), where \(N^{-}_{ij}\) is the sum of the frequencies in the matrix where row value is greater than \(I\) and the column value is less than \(J\). The \(n_c\) and \(n_d\) values computed in this fashion are respectively equal to \(n_c\) and \(n_d\) values found when the bivariate measures are entered as paired vectors into the dfba_bivariate_concordance() function.

As with the dfba_bivariate_concordance() function, the Bayesian analysis focuses on the population concordance proportion parameter \(\phi\), which is linked to the \(G\) statistic because \(G=2\phi-1\). The likelihood function is proportional to \(\phi^{n_c}(1-\phi)^{n_d}\). Similar to the Bayesian analysis for the concordance parameter in the dfba_bivariate_concordance() function, the prior distribution is a beta distribution with shape parameters \(a_0\) and \(b_0\), and the posterior distribution is the conjugate beta distribution where shape parameters are \(a = a_0 + n_c\) and \(b = b_0 + n_d\).

2 Using the dfba_gamma() Function

The dfba_gamma() function has one required argument x that must be an object in the form of a matrix or a table.

3 Example

The following example demonstrates how to create a matrix of data and to analyze it using the dfba_gamma() function.

N <- matrix(c(38, 4, 5, 0, 6, 40, 1, 2, 4, 8, 20, 30),
            ncol = 4,
            byrow = TRUE)
           
colnames(N) <- c('C1', 'C2', 'C3', 'C4')

rownames(N) <- c('R1', 'R2', 'R3')

A <- dfba_gamma(N)

A
#> Descriptive Statistics 
#> ========================
#>   Concordant Pairs    Discordant Pairs 
#>   6588                566 
#>   Proportion of Concordant Pairs 
#>   0.9208834 
#>   Goodman-Kruskal Gamma
#>   0.8417668 
#> 
#> Bayesian Analyses
#> ========================
#>   Posterior Beta Shape Parameters for the Concordance Phi
#>   a               b
#>   6589            567 
#>   Posterior Median
#>   0.920805 
#>   95% Equal-tail interval limits: 
#>   Lower Limit     Upper Limit 
#>   0.914398        0.9269112

plot(A)

The dfba_gamma() function also has three optional arguments; listed with their respective default arguments, they are: a0 = 1, b0 = 1, and prob_interval = .95 The a0 and b0 arguments are the shape parameters for the prior beta distribution; the default value of \(1\) for each corresponds to a uniform prior. The prob_interval argument specifies the probability value for the interval estimate of the \(\phi\) concordance parameter.

4 References

Chechile, R.A. (2020). Bayesian Statistics for Experimental Scientists: A General Introduction Using Distribution-Free Methods. Cambridge: MIT Press.

Goodman, L. A., and Kruskal, W. H. (1954). Measures of association for cross classifications. Journal of the American Statistical Association, 49, 732-764.

Siegel, S., and Castellan, N. J. (1988). Nonparametric Statistics for the Behavioral Sciences. New York: McGraw-Hill.