help mata guttmanl()

Title

guttmanl() -- Guttman lower bound reliability coefficients

Syntax

g =
guttmanl_setup(real matrix C
[, real scalar tbl])

real colvector
guttmanl(g)

real scalar
guttmanl_get_l#(g)

real colvector
guttmanl_get_l4_q(g
[, real rowvector q,
real scalar newt])

real matrix
guttmanl_get_l4_which_t(g
[, real colvector L4])

real rowvector
guttmanl_get_l4_which_q(g
[, real scalar l4])

void
guttmanl_set_l4_t(g,
real matrix T)

void
guttmanl_set_l4_optimize(g
[, real scalar reps])

real colvector
guttmanl_data(real matrix X)

where

g is transmorphic and is passed to the other
guttmanl*() functions.

C is a n x n covariance matrix.

tbl=0 issues a Stata error message instead of a
traceback log.

# is 1, 2, 3, 4, 5 or 6.

q is a vector with elements 0<=q_i<=1, indicating
the quantile split-half coefficients.

newt is best not specified. newt!=0 specifies that
a random matrix T be obtained if reps>0 (see below).

L4 is a m x 1 column vector of split-half reliability
coefficients, obtained from guttmanl_get_l4() or
guttmanl_get_l4_q().

l4 is one split-half reliability coefficient, obtained
from guttmanl_get_l4() or guttmanl_get_l4_q().

T is a n x m matrix, indicating the split-halves.

reps is a real scalar indicating the number of
repetitions, i.e. the number of locally optimized
split-halves.

X is a matrix with raw values (test scores, ratings, ...).

Description

guttmanl() computes lower bound reliability
coefficients as proposed by Guttman (1945).

Reliability coefficients are estimated from a covariance matrix
that is specified with guttmanl_setup(). It is g, not
the covariance matrix itself, that is then passed to the other
guttmanl*() functions.

Coefficients are obtained from guttmanl() or, one at a time,
by calling the six guttmanl_get_l#() functions.

There are different ways to obtain an estimate for the split-half
reliability (lambda 4). As noted by Guttman (1945), any split will
qualify as a lower bound. Instead of using one split,
guttmanl_get_l4() considers all ((2^n)/2 - 1) possible
splits to maximize lambda 4. This is computationally intensive and
might not be feasible for large n. The split-halves may be
specified manually with guttmanl_set_l4_t(). The split
corresponding to a previously obtained lambda 4 is returned by
guttmanl_get_l4_which_t().

guttmanl_get_l4_q() implements the method proposed by Hunt
and Bentler (2015) to estimate the split-half reliability. The
authors suggest to use a random series of locally optimal lambda
4 coefficients and then draw quantiles of interest from the
resulting empirical distribution. The process is based on reps
random splits, where reps defaults to 1,000 and may be changed
by guttmanl_set_l4_optimize(). If no quantiles are specified,
q defaults to (0.05, 0.5, 0.95). The minimum and maximum
lambda 4 may be obtained as q=0 and q=1, respectively
and q=. (i.e. scalar missing) returns the entire set of
lambda 4 coefficients. The third argument is best not specified,
but allows a non-random T to be locally optimized if set to 0.

guttmanl_get_l4_which_q() returns the quantiles
corresponding to a previously obtained lambda 4.

Note that guttmanl_set_l4_t(g, J(0, 0, 1))
resets a previously set T so that guttmanl_get_l4()
defaults to using all possible splits. This might be desired
sometimes. Similarly, setting reps to 0 causes
guttmanl_get_l4_q() to obtain quantiles from splits
indicated by T.

guttmanl_data() calculates reliability coefficients
from raw data rather than from a covariance matrix.

Conformability

guttmanl_setup(C [, tbl])
C: n x n
tbl: 1 x 1
result: transmorphic

guttmanl(g)
g: transmorphic
result: 6 x 1

guttmanl_get_l#(g)
g: transmorphic
result: 1 x 1

guttmanl_get_l4_q(g[, q, newt])
g: transmorphic
q: 1 x d
newt: 1 x 1
result: d x 1

guttmanl_get_l4_which_t(g [, L4])
g: transmorphic
L4: r x 1
result: n x r

guttmanl_get_l4_which_q(g [, l4])
g: transmorphic
l4: 1 x 1
result: 1 x p

guttmanl_set_l4_t(g [, T])
g: transmorphic
T: n x m

guttmanl_set_l4_optimize(g [, reps])
g: transmorphic
reps: 1 x 1

guttmanl_data(X)
X: r x c
result: 6 x 1

Diagnostics

guttmanl_setup() aborts with error if C is not
square, symmetric and positive definite, contains missing
values or any of diagonal(C)<=0. It also
aborts with error if C is 1 x 1.

guttmanl_get_l#() functions return
missing if the result is <=0.

guttmanl_get_l4_q() aborts with error if
q<0 or q>1.

guttmanl_get_l4_which_t() returns
J(0, 0, .) if lambda 4 has not been
obtained by guttmanl_get_l4*(). It
returns J(n, 1, .) for any
L4 not previously obtained.

guttmanl_get_l4_which_q() returns
J(1, 0, .) if lambda 4 has not been
obtained by guttmanl_get_l4_q(). It
returns missing if all quantiles have been
previously obtained or l4 was not
previously obtained.

guttmanl_set_l4_t() aborts with error if
rows(T)!=rows(C).

guttmanl_set_l4_optimize() aborts with
error if reps<0.

guttmanl() is implemented in terms of
guttmanl_get_l#().

guttmanl_data() is implemented in terms
of guttmanl().

Source code

Available on request.

References

Benton, T. (2015). An empirical assessment of Guttman's
Lambda 4 reliability coefficient. In: Millsap, R. E.,
Bolt, D. M., van der Ark, L.A., Wang, W-C. (Eds.)
Quantitative Psychology Research. The 78th Annual Meeting of the Psychometric
Society. Springer: Cham Heidelberg New York Dordrecht London. pp.301–310.

Guttman, L. (1945). A BASIS FOR ANALYZING TEST-RETEST
RELIABILITY. Psychometrika, 10(4), 255-282.

Hunt, T. (2013). Lambda4: Collection of Internal Consistency
Reliability Coefficients. R package version 3.0.
http://CRAN.R-project.org/package=Lambda4

Hunt, T.D., Bentler, P.M. (2015). Quantile Lower Bounds to
Population Reliability Based on Locally Optimal Splits
Reliability Coefficients. Psychometrika, 80(1), 182-195.

Acknowledgments

The code used to find lambda 4 by considering all possible
splits borrows from the R package Lambda4 (Hunt, 2013) and
code provided by Benton (2015).

Some of the concepts in the code are borrowed from Joseph Coveney's
glambda2
(posted on Statalist).

Author

Daniel Klein, University of Kassel, klein.daniel.81@gmail.com

Also see

Online: mata