TITLE 'JUDGMENT ANALYSIS USING SMART RIDGE REGRESSION'. * FILE NAME: SMARTR.SPS. * LINES BEGINNING WITH AN ASTERISK ARE COMMENTS TO THE USER OF THIS PROGRAM, OR ARE COMMAND LINES NOT DESIRED AT THIS TIME, AND ARE NOT PROCESSED BY THE SPSS PROCESSOR. * THIS EXAMPLE OF SMART RIDGE REGRESSION USES A DATASET FROM HOLZWORTH (1996) CONCERNING JOB EVALUATIONS; 12 JUDGES MADE JUDGMENTS CONCERNING 15 JOBS EACH DESCRIBED IN TERMS OF FIVE CUES. * THE INPUT FORMAT FOR THE FIRST DATASET (JOBST1.DAT) FOLLOWS. * INPUT WORK 2 PAY 4 PROMO 6 SUPERV 8 WORKERS 10 JUDGE1 11-12 JUDGE2 13-14 JUDGE3 15-16 JUDGE4 17-18 JUDGE5 19-20 JUDGE6 21-22 JUDGE7 23-24 JUDGE8 25-26 JUDGE9 27-28 JUDGE10 29-30 JUDGE11 31-32 JUDGE12 33-34. * BEGIN SPSS MATRIX PROCEDURE. MATRIX. * NEXT SECTION SETS VALUES FOR THE FOLLOWING VARIABLES. * NOBS = NUMBER OF OBSERVATIONS (JUDGMENT CASES OR TRIALS). * NCUES = NUMBER OF CUES. * NJUDG = TOTAL NUMBER OF JUDGES. * NVAR = TOTAL NUMBER OF VARIABLES. COMPUTE NOBS=15. COMPUTE NCUES=5. COMPUTE NJUDG=12. COMPUTE NVAR=NCUES+NJUDG. * NEXT SECTION READS CUE AND JUDGMENT MATRIX (ONE CASE PER ROW). READ X1st /FILE='A:\JOBST1.dat' /FIELD=1 TO 34 BY 2 /SIZE={NOBS;NVAR}. PRINT X1st /TITLE 'TASK 1 CUE AND JUDGMENT MATRIX (RAW SCORES)' /FORMAT F3. * TASK 2 DATA ARE USED ONLY FOR CROSS-VALIDATION OF JUDGMENT POLICY MODELS DERIVED FROM TASK 1. READ X2nd /FILE='A:\JOBST2.dat' /FIELD=1 TO 34 BY 2 /SIZE={NOBS;NVAR}. PRINT X2nd /TITLE 'TASK 2 CUE AND JUDGMENT MATRIX (RAW SCORES)' /FORMAT F3. * NEXT SECTION READS SUBJECTIVE RELATIVE WEIGHTS (ONE JUDGE PER ROW). READ SWV /FILE='A:\JOBSSW.dat' /FIELD=1 TO 30 /SIZE={NJUDG;NCUES}. PRINT SWV /TITLE 'MATRIX OF SUBJECTIVE RELATIVE WEIGHTS' /FORMAT F4.3. * NEXT SECTION PERFORMS PRELIMINARY MATRIX OPERATIONS. COMPUTE R1 = NROW(X1st). COMPUTE R2 = NROW(X2nd). COMPUTE C1 = NCOL(X1st). COMPUTE C2 = NCOL(X2nd). COMPUTE COLSUM1 = CSUM(X1st). COMPUTE COLSUM2 = CSUM(X2nd). COMPUTE XPX1 = T(X1st) * X1st. COMPUTE XPX2 = T(X2nd) * X2nd. COMPUTE ADJ1 = T(COLSUM1) * COLSUM1 &/ R1. COMPUTE ADJ2 = T(COLSUM2) * COLSUM2 &/ R2. COMPUTE SSTOT1 = XPX1 - ADJ1. COMPUTE SSTOT2 = XPX2 - ADJ2. COMPUTE VARCOVA1 = SSTOT1 &/ (NROW(X1st)-1). COMPUTE VARCOVA2 = SSTOT2 &/ (NROW(X2nd)-1). COMPUTE STD1 = DIAG(SQRT(ABS(VARCOVA1))). COMPUTE STD2 = DIAG(SQRT(ABS(VARCOVA2))). COMPUTE D1 = MDIAG(1 &/ STD1). COMPUTE D2 = MDIAG(1 &/ STD2). COMPUTE I1st = IDENT(R1,R1). COMPUTE I2nd = IDENT(R2,R2). COMPUTE E1 = MAKE(R1,R1,1). COMPUTE E2 = MAKE(R2,R2,1). COMPUTE M1 = (I1st - (1/R1) * E1) * X1st * D1. COMPUTE M2 = (I2nd - (1/R2) * E2) * X2nd * D2. COMPUTE X1=M1(:,1:NCUES). COMPUTE X2=M2(:,1:NCUES). COMPUTE FIRSTJ=NCUES+1. COMPUTE C1=M1(:,FIRSTJ:NVAR). COMPUTE C2=M2(:,FIRSTJ:NVAR). * PRINT C1 /TITLE 'STANDARDIZED JUDGMENTS FOR EACH JUDGE (COLS)' +' FOR EACH CASE (ROWS) FOR TASK 1' /FORMAT F5.2. * PRINT C2 /TITLE 'STANDARDIZED JUDGMENTS FOR EACH JUDGE (COLS)' +' FOR EACH CASE (ROWS) FOR TASK 2' /FORMAT F5.2. * BEGIN PERFORMING JUDGMENT ANALYSES FOR ALL JUDGES (NJUDG). LOOP I=1 TO NJUDG. COMPUTE Y1=C1(:,I). COMPUTE Y2=C2(:,I). COMPUTE X1X1=T(X1)*X1. COMPUTE X2X2=T(X2)*X2. COMPUTE X1Y1=T(X1)*Y1. COMPUTE X2Y2=T(X2)*Y2. * COMPUTATION OF OLS BETA WEIGHTS FOR TASK1 (OLSBETA1) AND TASK2 (OLSBETA2, JUST A CURIOSITY IN THIS PROGRAM). COMPUTE OLSBETA1=INV(X1X1)*X1Y1. COMPUTE OLSBETA2=INV(X2X2)*X2Y2. * VECTORS OF EQUAL WEIGHTS, ZEROS, AND ONES. COMPUTE EW=MAKE(NCUES,1,1/NCUES). COMPUTE SW0=MAKE(NCUES,1,0.0). COMPUTE II=MAKE(NCUES,1,1.0). * NEXT SEVEN LINES TRANSFORM SW TO SWT, AND EW TO EWT, AS DID DARLINGTON (1978). COMPUTE SW=SWV(I,:). COMPUTE YJ=X1*T(SW). COMPUTE DC=INV(T(YJ)*YJ)*T(YJ)*Y1. COMPUTE DCSW=SW*DC. COMPUTE SWT=T(DCSW). COMPUTE DCEW=EW*DC. COMPUTE EWT=T(DCEW). * NEXT TWO LINES MERELY TRANSPOSE EWT AND SWT VECTORS (FOR CONVENIENCE). COMPUTE TSWT=T(SW). COMPUTE TEWT=DCEW. * NEXT SECTION COMPUTES K VALUE FOR CONVENTIONAL RIDGE REGRESSION (HOERL, KENNARD, & BALDWIN, 1975). COMPUTE SS1=SSCP(Y1-X1*OLSBETA1). COMPUTE N=NCUES/(NOBS-NCUES-1). COMPUTE NSS1=N*SS1. COMPUTE A1=OLSBETA1-SW0. COMPUTE AA1=T(A1)*A1. COMPUTE KONE=NSS1 &/ AA1. COMPUTE JJ1=MAKE(NCUES,1,KONE). COMPUTE KKI1=MDIAG(JJ1). * NEXT SECTION COMPUTES K VALUE FOR SMART RIDGE REGRESSION (HOLZWORTH, 1996). COMPUTE A=OLSBETA1-SWT. COMPUTE AA=T(A)*A. COMPUTE K=NSS1 &/ AA. COMPUTE JJ=MAKE(NCUES,1,K). COMPUTE KKI=MDIAG(JJ). COMPUTE KJ=KKI*SWT. * END COMPUTATION OF K VALUES. * NEXT SECTION COMPUTES SUM OF SQUARED DIFFERENCES BETWEEN SUBJECTIVE WEIGHTS AND OLS BETA WEIGHTS, AND BETWEEN EQUAL WEIGHTS AND OLS BETA WEIGHTS. COMPUTE SSEJ=SSCP(OLSBETA1-T(SW)). COMPUTE SSEEW=SSCP(OLSBETA1-EW). * NO OUTPUT IS PRINTED OR PUNCHED FOR THESE SUMS OF SQUARED DIFFERENCES IN THIS VERSION OF THE PROGRAM. * NEXT SECTION COMPUTES REGRESSION COEFFICIENTS, SQUARED MULTIPLE CORRELATIONS (SMC), CROSS-VALIDATED SQUARED MULTIPLE CORRELATIONS (CVSMC), AMD MEAN SQUARED ERRORS OF PREDICTION (MSEP) FOR FIVE JUDGMENT POLICY MODELS. * THE FOLLOWING LABELS MAY BE INFORMATIVE. * OLSBETA1 = OLS BETA WEIGHTS FOR TASK1 OLSBETA2 = OLS BETA WEIGHTS FOR TASK2 OLSSMC = SQUARED MULTIPLE R FOR OLS MODEL OLSCVSMC = CROSS-VALIDATED SQUARED MULTIPLE R FOR OLS MODEL RRBETA = CONVENTIONAL RIDGE REGRESSION BETA WEIGHTS (USING HOERL, KENNARD, & BALDWIN 1975 PROCEDURE) RRSMC = SQUARED MULTIPLE R FOR CONVENTIONAL RIDGE REGRESSION MODEL RRCVSMC = CROSS-VALIDATED SQUARED MULTIPLE R FOR CONVENTIONAL RIDGE REGRESSION MODEL SRRBETA = SMART RIDGE REGRESSION BETA WEIGHTS (USING HOLZWORTH 1996 PROCEDURE WITH DARLINGTON TRANSFORMATION) SRRSMC = SQUARED MULTIPLE R FOR SMART RIDGE REGRESSION MODEL SRRCVSMC = CROSS-VALIDATED SQUARED MULTIPLE R FOR SMART RIDGE REGRESSION MODEL SWT = TRANSFORMED SUBJECTIVE WEIGHTS (USING DARLINGTON TRANSFORMATION) SWTSMC = SQUARED MULTIPLE R FOR SUBJECTIVE WEIGHT MODEL SWTCVSMC = CROSS-VALIDATED SQUARED MULTIPLE R FOR SUBJECTIVE WEIGHT MODEL EWT = TRANSFORMED EQUAL WEIGHTS (USING DARLINGTON TRANSFORMATION) EWTSMC = SQUARED MULTIPLE R FOR EQUAL WEIGHT MODEL EWTCVSMC = CROSS-VALIDATED SQUARED MULTIPLE R FOR EQUAL WEIGHT MODEL MSEPOLS = MSEP FOR OLS REGRESSION MODEL (PREDICTING JUDGMENTS IN TASK2 USING POLICY MODEL FROM TASK 1) MSEPRR = MSEP FOR RIDGE REGRESSION MODEL (PREDICTING JUDGMENTS IN TASK2 USING POLICY MODEL FROM TASK 1) MSEPSRR = MSEP FOR SMART RIDGE REGRESSION MODEL (PREDICTING JUDGMENTS IN TASK2 USING POLICY MODEL FROM TASK 1) MSEPEWT = MSEP FOR TRANSFORMED EQUAL WEIGHT MODEL (PREDICTING JUDGMENTS IN TASK2 USING POLICY MODEL FROM TASK 1) MSEPSWT = MSEP FOR TRANSFORMED SUBJECTIVE WEIGHT MODEL (PREDICTING JUDGMENTS IN TASK2 USING POLICY MODEL FROM TASK 1). COMPUTE OLSSMC = ((T(OLSBETA1)*T(X1)*Y1)*(T(OLSBETA1)*T(X1)*Y1)) &/((T(Y1)*Y1)*(T(OLSBETA1)*T(X1))*(X1*OLSBETA1)). COMPUTE OLSCVSMC = ((T(OLSBETA1)*T(X2)*Y2)*(T(OLSBETA1)*T(X2)*Y2)) &/((T(Y2)*Y2)*(T(OLSBETA1)*T(X2))*(X2*OLSBETA1)). COMPUTE RRBETA = INV(X1X1+KKI1)*X1Y1. COMPUTE RRSMC = ((T(RRBETA)*T(X1)*Y1)*(T(RRBETA)*T(X1)*Y1)) &/((T(Y1)*Y1)*(T(RRBETA)*T(X1))*(X1*RRBETA)). COMPUTE RRCVSMC = ((T(RRBETA)*T(X2)*Y2)*(T(RRBETA)*T(X2)*Y2)) &/((T(Y2)*Y2)*(T(RRBETA)*T(X2))*(X2*RRBETA)). COMPUTE SRRBETA = INV(X1X1+KKI)*(X1Y1+KJ). COMPUTE SRRSMC = ((T(SRRBETA)*T(X1)*Y1)*(T(SRRBETA)*T(X1)*Y1)) &/((T(Y1)*Y1)*(T(SRRBETA)*T(X1))*(X1*SRRBETA)). COMPUTE SRRCVSMC = ((T(SRRBETA)*T(X2)*Y2)*(T(SRRBETA)*T(X2)*Y2)) &/((T(Y2)*Y2)*(T(SRRBETA)*T(X2))*(X2*SRRBETA)). COMPUTE SWTSMC = ((DCSW*T(X1)*Y1)*(DCSW*T(X1)*Y1)) &/((T(Y1)*Y1)*(DCSW*T(X1))*(X1*T(DCSW))). COMPUTE SWTCVSMC = ((DCSW*T(X2)*Y2)*(DCSW*T(X2)*Y2)) &/((T(Y2)*Y2)*(DCSW*T(X2))*(X2*T(DCSW))). COMPUTE EWTSMC = ((T(TEWT)*T(X1)*Y1)*(T(TEWT)*T(X1)*Y1)) &/((T(Y1)*Y1)*(T(TEWT)*T(X1))*(X1*TEWT)). COMPUTE EWTCVSMC = ((T(TEWT)*T(X2)*Y2)*(T(TEWT)*T(X2)*Y2)) &/((T(Y2)*Y2)*(T(TEWT)*T(X2))*(X2*TEWT)). COMPUTE MSEPOLS = (T(Y2-X2*OLSBETA1)*(Y2-X2*OLSBETA1))/NOBS. COMPUTE MSEPRR = (T(Y2-X2*RRBETA)*(Y2-X2*RRBETA))/NOBS. COMPUTE MSEPSRR = (T(Y2-X2*SRRBETA)*(Y2-X2*SRRBETA))/NOBS. COMPUTE MSEPEWT = (T(Y2-X2*T(EWT))*(Y2-X2*T(EWT)))/NOBS. COMPUTE MSEPSWT = (T(Y2-X2*SWT)*(Y2-X2*SWT))/NOBS. * NEXT SECTION COMPUTES SMC AND CVSMC FOR UNTRANSFORMED SUBJECTIVE AND EQUAL WEIGHT MODELS (NOT REPORTED ON OUTPUT LIST OR OUTPUT FILE). COMPUTE SWSMC = ((SW*T(X1)*Y1)*(SW*T(X1)*Y1)) &/((T(Y1)*Y1)*(SW*T(X1))*(X1*T(SW))). COMPUTE SWCVSMC = ((SW*T(X2)*Y2)*(SW*T(X2)*Y2)) &/((T(Y2)*Y2)*(SW*T(X2))*(X2*T(SW))). COMPUTE EWSMC = ((T(EW)*T(X1)*Y1)*(T(EW)*T(X1)*Y1)) &/((T(Y1)*Y1)*(T(EW)*T(X1))*(X1*EW)). COMPUTE EWCVSMC = ((T(EW)*T(X2)*Y2)*(T(EW)*T(X2)*Y2)) &/((T(Y2)*Y2)*(T(EW)*T(X2))*(X2*EW)). * NEXT SECTION PRINTS REGRESSION COEFFICIENTS, SQUARED MULTIPLE CORRELATIONS (SMC), CROSS-VALIDATED SQUARED MULTIPLE CORRELATIONS (CVSMC), AMD MEAN SQUARED ERRORS OF PREDICTION (MSEP) FOR FIVE JUDGMENT POLICY MODELS. * ALL REPORTED VALUES CONCERN POLICY MODELS DERIVED FROM TASK 1, WHICH ARE CROSS-VALIDATED USING TASK 2 DATA. * BEGIN PRINTING OUTPUT OF JUDGMENT ANALYSES. PRINT I /TITLE 'THE FOLLOWING INDICES ARE REPORTED FOR JUDGE NUMBER:' /FORMAT F7. PRINT OLSBETA1 /TITLE 'OLS BETA WEIGHTS (STANDARDIZED) FOR TASK 1' /FORMAT F7.4. PRINT OLSBETA2 /TITLE 'OLS BETA WEIGHTS (STANDARDIZED) FOR TASK 2' /FORMAT F7.4. PRINT OLSSMC /TITLE 'SMC FOR OLS MODEL' /FORMAT F7.4. PRINT OLSCVSMC /TITLE 'CVSMC FOR OLS MODEL' /FORMAT F7.4. PRINT MSEPOLS /TITLE 'MSEP FOR OLS MODEL' /FORMAT F7.4. PRINT RRBETA /TITLE 'CONVENTIONAL RIDGE REGRESSION BETA WEIGHTS' +' (STANDARDIZED)' /FORMAT F7.4. PRINT RRSMC /TITLE 'SMC FOR CONVENTIONAL RIDGE REGRESSION MODEL' /FORMAT F7.4. PRINT RRCVSMC /TITLE 'CVSMC FOR RIDGE REGRESSION MODEL' /FORMAT F7.4. PRINT KONE /TITLE 'K VALUE FOR CONVENTIONAL RIDGE REGRESSION MODEL' /FORMAT F8.4. * PRINT KKI1 /TITLE 'KI MATRIX (KKI1) FOR CONVENTIONAL RIDGE REGRESSION MODEL' /FORMAT F8.4. PRINT MSEPRR /TITLE 'MSEP FOR CONVENTIONAL RIDGE REGRESSION MODEL' /FORMAT F7.4. PRINT SRRBETA /TITLE 'SMART RIDGE REGRESSION BETA WEIGHTS (STANDARDIZED)' /FORMAT F7.4. PRINT SRRSMC /TITLE 'SMC FOR SMART RIDGE REGRESSION MODEL' /FORMAT F7.4. PRINT SRRCVSMC /TITLE 'CVSMC FOR SMART RIDGE REGRESSION MODEL' /FORMAT F7.4. PRINT K /TITLE 'K VALUE FOR SMART RIDGE REGRESSION MODEL' /FORMAT F8.4. * PRINT KKI /TITLE 'KI MATRIX (KKI) FOR SMART RIDGE REGRESSION MODEL' /FORMAT F8.4. * PRINT KJ /TITLE 'VECTOR OF KJ VALUES FOR SMART RIDGE REGRESSION MODEL' /FORMAT F8.4. PRINT MSEPSRR /TITLE 'MSEP FOR SMART RIDGE REGRESSION MODEL' /FORMAT F7.4. PRINT TSWT /TITLE 'SUBJECTIVE WEIGHTS' /FORMAT F7.4. PRINT SWT /TITLE 'TRANSFORMED SUBJECTIVE WEIGHTS' /FORMAT F7.4. PRINT SWSMC /TITLE 'SMC FOR TRANSFORMED SUBJECTIVE WEIGHT MODEL' /FORMAT F7.4. PRINT SWCVSMC /TITLE 'CVSMC FOR TRANSFORMED SUBJECTIVE WEIGHT MODEL' /FORMAT F7.4. PRINT MSEPSWT /TITLE 'MSEP FOR TRANSFORMED SUBJECTIVE WEIGHT MODEL' /FORMAT F7.4. PRINT EW /TITLE 'EQUAL WEIGHTS' /FORMAT F7.4. PRINT DCEW /TITLE 'TRANSFORMED EQUAL WEIGHTS' /FORMAT F7.4. PRINT EWSMC /TITLE 'SMC FOR TRANSFORMED EQUAL WEIGHT MODEL' /FORMAT F7.4. PRINT EWCVSMC /TITLE 'CVSMC FOR TRANSFORMED EQUAL WEIGHT MODEL' /FORMAT F7.4. PRINT MSEPEWT /TITLE 'MSEP FOR TRANSFORMED EQUAL WEIGHT MODEL' /FORMAT F7.4. PRINT I /TITLE 'END OF REPORTED INDICES FOR JUDGE NUMBER:' /FORMAT F7. * FINISHED PRINTING OUTPUT OF JUDGMENT ANALYSES. * NEXT SECTION WRITES OUTPUT OF JUDGMENT ANALYSES TO AN EXTERNAL DATA FILE (NAMED AND LOCATED BY USER). WRITE I /OUTFILE='A:\SMARTOUT.DAT' /FIELD=1 TO 7 /HOLD /FORMAT=F7.0. WRITE OLSBETA1 /FIELD=1 TO 7 /HOLD /FORMAT=F7.4. WRITE OLSSMC /FIELD=1 TO 7 /HOLD /FORMAT=F7.4. WRITE OLSCVSMC /FIELD=1 TO 7 /HOLD /FORMAT=F7.4. WRITE MSEPOLS /FIELD=1 TO 7 /HOLD /FORMAT=F7.4. WRITE RRBETA /FIELD=1 TO 7 /HOLD /FORMAT=F7.4. WRITE RRSMC /FIELD=1 TO 7 /HOLD /FORMAT=F7.4. WRITE RRCVSMC /FIELD=1 TO 7 /HOLD /FORMAT=F7.4. WRITE MSEPRR /FIELD=1 TO 7 /HOLD /FORMAT=F7.4. WRITE SRRBETA /FIELD=1 TO 7 /HOLD /FORMAT=F7.4. WRITE SRRSMC /FIELD=1 TO 7 /HOLD /FORMAT=F7.4. WRITE SRRCVSMC /FIELD=1 TO 7 /HOLD /FORMAT=F7.4. WRITE MSEPSRR /FIELD=1 TO 7 /HOLD /FORMAT=F7.4. WRITE SWT /FIELD=1 TO 7 /HOLD /FORMAT=F7.4. WRITE SWTSMC /FIELD=1 TO 7 /HOLD /FORMAT=F7.4. WRITE SWTCVSMC /FIELD=1 TO 7 /HOLD /FORMAT=F7.4. WRITE MSEPSWT /FIELD=1 TO 7 /HOLD /FORMAT=F7.4. WRITE EWT /FIELD=1 TO 7 /HOLD /FORMAT=F7.4. WRITE EWTSMC /FIELD=1 TO 7 /HOLD /FORMAT=F7.4. WRITE EWTCVSMC /FIELD=1 TO 7 /HOLD /FORMAT=F7.4. WRITE MSEPEWT /FIELD=1 TO 7 /HOLD /FORMAT=F7.4. * FINISHED WRITING OUTPUT OF JUDGMENT ANALYSES TO AN EXTERNAL DATA FILE. * END OF LOOP PERFORMING JUDGMENT ANALYSES FOR ALL JUDGES (NJUDG). END LOOP. END MATRIX. * FINISH.