[bit.listserv.sas-l] F-test for Coefficient Alpha

alderton@NPRDC.NAVY.MIL (David Alderton) (01/13/90)

Hi group,
     There are periodic rashes of interest in computing Coefficient Alpha
on this net (including one that I initiated) but no one ever mentioned
testing the significance of the Alpha estimate.  Since I recently had
need of doing this, I modified some code for this purpose.  Below is
code that (a) estimates Alpha (based on mean interitem correlations -- this
includes contributions from several people), and (b) tests the significance
of the estimate from an expectation of zero.  The test statistic is an
F with (N - 1) and (N - 1)*(k - 1) degrees of freedom (N = people, k = items).
The F statistic is derived from (1 - E[Alpha]) / (1 - Alpha), where
E[Alpha] is the expected value, for this case it is the usual null hypothesis
value of 0 (but other values could be used), and Alpha is the observed value.
This test can be inferred from formula (4), page 95, in:
     Felt, L.S., Woodruff, D.J., & Salih, F.A. (1987).  Statistical
        Inference for Coefficient Alpha.  Applied Psychological
        Measurement, 11, 93-103.
(The article is quite thorough and covers the single estimate case, with
confidence intervals, Alpha comparisons from independent and dependent
samples, the assumptions involved and their importance.)
     Below is the code.  This is set up for a 6 item test (random values),
the practice data set (alpha2.dat) has 40 "subjects."  Following the code
is sample output.

   Enjoy!
     David.

=========================IBM 4381, CMS, V 5.18=============================

OPTIONS CENTER NOCAPS LS=72;
CMS FILEDEF ALPHA DISK ALPHA2 DAT A;
DATA ONE;
   INFILE ALPHA;
   INPUT K1-K6;
*note input items
PROC CORR DATA=ONE NOPRINT OUT=COR;
*compute type=corr data set
DATA FINAL (KEEP=N K SUMR MEANR ALPHA);
   SET COR END=ENDIN;
   RETAIN SUMR 0 N;
     IF _TYPE_='N' THEN N=SUM(OF _NUMERIC_)/(N(OF _NUMERIC_)-1);
*gets n or number of people
     IF _TYPE_='CORR' THEN SUMR+SUM(OF _NUMERIC_)-SUMR-N;
     IF ENDIN=1 THEN DO;
        K=N(OF _NUMERIC_)-2;
*gets number of items
        MEANR = ((SUMR-K)/2)/((K**2-K)/2);
*computes average unique interitem correlations
        ALPHA = (K*MEANR)/(1+(MEANR*(K-1)));
*computes coefficient alpha
        OUTPUT;
     END;
   RUN;
DATA CALCF;
   SET FINAL;
     F = (1-0)/(1-ALPHA);
*calculates the F: Note that 0 is the null expectation that can be changed
     FPROB = 1 - PROBF(OF F, N-1, (N-1)*(K-1));
*calculates the F probability
PROC PRINT DATA=CALCF;
   VAR ALPHA N K F FPROB;
*prints relevant results

==============================Sample Output===============================

  OBS    ALPHA     N    K      F      FPROB

   1    0.135156   40   6   1.15628    0.258396
==========================================================================


                          David L. Alderton, Ph.D.
               Navy Personnel Research and Development Center
                         Aptitude Research Division
                                  Code 131
                          San Diego, CA  92152-6800
                     (619 553-7647 or AUTOVON 553-7647)
                      arpanet: alderton@nprdc.navy.mil

 =============================================================================
 | The opinions expressed or implied are mine, are not official, and do not  |
 | necessarily reflect the views of the Navy Department or the US Government |
 =============================================================================
DATA FINAL (KEEP=N K SUMR MEANR ALPHA);
   SET COR END=ENDIN;
   RETAIN SUMR 0 N;
     IF _TYPE_='N' THEN N=SUM(OF _NUMERIC_)/(N(OF _NUMERIC_)-1);
*gets n or number of people
     IF _TYPE_='CORR' THEN SUMR+SUM(OF _NUMERIC_)-SUMR-N;
     IF ENDIN=1 THEN DO;
        K=N(OF _NUMERIC_)-2;
*gets number of items
        MEANR = ((SUMR-K)/2)/((K**2-K)/2);
*computes average unique interitem correlations
        ALPHA = (K*MEANR)/(1+(MEANR*(K-1)));
*computes coefficient alpha
        OUTPUT;
     END;
   RUN;
DATA CALCF;
   SET FINAL;
     F = (1-0)/(1-ALPHA);
*calculates the F: Note that 0 is the null expectation that can be changed
     FPROB = 1 - PROBF(OF F, N-1, (N-1)*(K-1));
*calculates the F probability
PROC PRINT DATA=CALCF;
   VAR ALPHA N K F FPROB;
*prints relevant results

==============================Sample Output===============================

  OBS    ALPHA     N    K      F      FPROB

   1    0.135156   40   6   1.15628    0.258396
Received: from vtvm2.cc.vt.edu by OHSTVMA.IRCC.OHIO-STATE.EDU (Mailer R2.05)
 with BSMTP id 3918; Fri, 12 Jan 90 21:06:04 EST
Received: by VTVM2 (Mailer R2.05) id 3966; Fri, 12 Jan 90 21:06:49 EST
Received: from VM.MARIST.EDU by vtvm2.cc.vt.edu (Mailer R2.05) with BSMTP id
          3964; Fri, 12 Jan 90 21:06:44 EST
Received: by MARIST (Mailer R2.05) id 6336; Fri, 12 Jan 90 20:24:42 EST
Received: from CUNYVM.BITNET by VM.MARIST.EDU (Mailer R2.05) with BSMTP id
          6311; Fri, 12 Jan 90 20:24:26 EST
Received: from CUNYVM by CUNYVM.BITNET (Mailer R2.03B) with BSMTP id 4259; Fri,
          12 Jan 90 19:04:52 EDT
Received: from nprdc.navy.mil by CUNYVM.CUNY.EDU (IBM VM SMTP R1.2.2MX) with
          TCP; Fri, 12 Jan 90 19:04:44 EDT
Received: by nprdc.navy.mil (5.59/SMI-4.0) id AA18864; Fri,
          12 Jan 90 16:04:11 PST
Message-ID:   <9001130004.AA18864@nprdc.navy.mil>
Newsgroups:   bit.listserv.sas-l
Date:         Fri, 12 Jan 90 20:24:37 EST
Reply-To:     alderton@nprdc.navy.mil
Sender:       "SAS(r) Discussion" <SAS-L@VTVM2>
From:         David Alderton <alderton@NPRDC.NAVY.MIL>
Subject:      F-test for Coefficient Alpha
X-LSVRepTo: alderton@nprdc.navy.mil
X-LSVopts: NOACK Org=SAS-L@MARIST
X-LSVvia: SAS-L@MARIST SAS-L@VTVM2
To: $PEER$ <SAS-L@OHSTVMA>

Hi group,
     There are periodic rashes of interest in computing Coefficient Alpha
on this net (including one that I initiated) but no one ever mentioned
testing the significance of the Alpha estimate.  Since I recently had
need of doing this, I modified some code for this purpose.  Below is
code that (a) estimates Alpha (based on mean interitem correlations -- this
includes contributions from several people), and (b) tests the significance
of the estimate from an expectation of zero.  The test statistic is an
F with (N - 1) and (N - 1)*(k - 1) degrees of freedom (N = people, k = items).
The F statistic is derived from (1 - E[Alpha]) / (1 - Alpha), where
E[Alpha] is the expected value, for this case it is the usual null hypothesis
value of 0 (but other values could be used), and Alpha is the observed value.
This test can be inferred from formula (4), page 95, in:
     Felt, L.S., Woodruff, D.J., & Salih, F.A. (1987).  Statistical
        Inference for Coefficient Alpha.  Applied Psychological
        Measurement, 11, 93-103.
(The article is quite thorough and covers the single estimate case, with
confidence intervals, Alpha comparisons from independent and dependent
samples, the assumptions involved and their importance.)
     Below is the code.  This is set up for a 6 item test (random values),
the practice data set (alpha2.dat) has 40 "subjects."  Following the code
is sample output.

   Enjoy!
     David.

=========================IBM 4381, CMS, V 5.18=============================

OPTIONS CENTER NOCAPS LS=72;
CMS FILEDEF ALPHA DISK ALPHA2 DAT A;
DATA ONE;
   INFILE ALPHA;
   INPUT K1-K6;
*note input items
PROC CORR DATA=ONE NOPRINT OUT=COR;
*compute type=corr data set
DATA FINAL (KEEP=N K SUMR MEANR ALPHA);
   SET COR END=ENDIN;
   RETAIN SUMR 0 N;
     IF _TYPE_='N' THEN N=SUM(OF _NUMERIC_)/(N(OF _NUMERIC_)-1);
*gets n or number of people
     IF _TYPE_='CORR' THEN SUMR+SUM(OF _NUMERIC_)-SUMR-N;
     IF ENDIN=1 THEN DO;
        K=N(OF _NUMERIC_)-2;
*gets number of items
        MEANR = ((SUMR-K)/2)/((K**2-K)/2);
*computes average unique interitem correlations
        ALPHA = (K*MEANR)/(1+(MEANR*(K-1)));
*computes coefficient alpha
        OUTPUT;
     END;
   RUN;
DATA CALCF;
   SET FINAL;
     F = (1-0)/(1-ALPHA);
*calculates the F: Note that 0 is the null expectation that can be changed
     FPROB = 1 - PROBF(OF F, N-1, (N-1)*(K-1));
*calculates the F probability
PROC PRINT DATA=CALCF;
   VAR ALPHA N K F FPROB;
*prints relevant results

==============================Sample Output===============================

  OBS    ALPHA     N    K      F      FPROB

   1    0.135156   40   6   1.15628    0.258396
==========================================================================


                          David L. Alderton, Ph.D.
               Navy Personnel Research and Development Center
                         Aptitude Research Division
                                  Code 131
                          San Diego, CA  92152-6800
                     (619 553-7647 or AUTOVON 553-7647)
                      arpanet: alderton@nprdc.navy.mil

 =============================================================================
 | The opinions expressed or implied are mine, are not official, and do not  |
 | necessarily reflect the views of the Navy Department or the US Government |
 =============================================================================