DATA DIALBUS; INPUT RIDERS POP AREA HOURS VEHS FARE ind; HOURS=LOG(HOURS); RIDERS=LOG(RIDERS+.5); POP=LOG(POP);AREA=LOG(AREA); VEHS=LOG(VEHS);FARE=LOG(FARE); CARDS; 2718 100000 13.6 18.5 22 .25 1 250 8872 2.3 12.0 3 .35 0 350 17338 4.3 12.0 2 .60 1 186 26170 4.6 12.0 4 .50 0 600 60000 17.0 12.0 14 .50 0 420 40000 7.0 12.0 5 .50 1 249 30850 3.9 12.0 2 .50 1 350 25000 6.5 13.0 8 .25 0 925 44000 10.9 24.0 19 .30 0 514 24300 6.4 24.0 12 .60 0 117 21455 2.6 8.0 4 .50 0 450 47000 7.0 12.0 7 .50 0 275 45000 7.0 12.0 5 .50 0 360 23000 6.0 12.0 6 .25 1 307 20476 3.8 11.0 4 .50 1 227 20504 5.1 12.0 5 .50 0 208 71901 15.8 12.0 4 .60 0 700 70000 12.0 16.3 13 1.00 0 440 30000 10.0 12.0 7 1.00 0 275 26689 3.5 15.0 4 0.01 1 201 9790 4.6 15.5 3 .50 0 314 19805 10.4 14.0 5 .50 1 95 5321 4.7 15.0 2 .50 0 679 56828 51.6 12.0 15 .60 1 224 11995 5.1 12.0 4 .50 0 277 10490 6.1 12.0 4 .50 1 67 7883 4.1 10.0 2 .50 0 83 3025 2.4 8.0 2 .50 0 245 17074 7.5 12.0 4 .50 1 148 7728 4.3 12.0 3 .50 0 266 27137 14.2 12.0 6 .50 0 270 12287 4.1 12.0 4 .50 1 56 24090 568.0 10.5 3 .50 0 236 9521 4.3 12.0 4 .50 1 251 18404 408.0 12.0 5 .50 1 150 7253 4.6 12.0 3 .50 0 370 28500 10.0 10.0 5 .25 1 464 35176 24.9 16.8 10 .50 0 260 12988 5.2 12.0 5 .50 0 63 9892 251.0 12.0 3 .50 0 341 15136 15.7 14.5 6 .50 1 222 26321 17.8 12.0 6 .50 0 200 18000 10.0 10.0 3 .50 1 228 9500 5.5 11.5 3 .25 1 900 27600 9.0 12.0 4 .10 1 199 24127 7.2 12.0 6 .60 0 600 14000 4.0 20.0 6 .25 1 300 53860 3.0 17.0 10 0.01 0 310 18000 28.0 14.5 9 .25 0 369 29103 2.5 15.2 4 .20 1 400 102711 9.5 16.0 11 0.01 0 140 25000 5.0 5.0 2 .35 1 3400 32000 5.0 18.7 12 .35 1 200 35000 7.0 4.0 4 .35 1 ; run; proc iml; use dialbus; read all into x; print x; n=nrow(x);kcol=ncol(x); y=x[,1];z=j(n,1,1);x[,1]=z;m=n; ADJ=I(m)-X*(INV(X`*X))*X`; E=ADJ*Y; D=J(M,M,0); adj2=i(m)-(z*z`)/m;do kk=1 to kcol; ss=adj2*x[,kk];sd=ss`*ss/m;sd1=(sd)##(.5);x[,kk]=x[,kk]/sd1; end; DO K=1 TO M; DO L=1 TO M;do kk=1 to kcol; d[k,l]=d[k,l]+(X[K,kk]-X[L,kk])**2;end; IF( K=L | D[k,l]=0 ) THEN D[K,L]=0;ELSE D[K,L]=1/D[K,L]; END;END; B=ADJ*D*ADJ; NUM=E`*D*E; DEN=E`*E; DEN=DEN/(M-kcol); STAT=NUM/DEN; MEAN=TRACE(B); VAR=2*((M-7)*TRACE(B**2)-(TRACE(B)**2) )/(M-5); STAT=(STAT-MEAN)/SQRT(VAR); PRINT STAT;