proc iml; start main; y={7, 10, 6}; X={1, 1, 1}; A={1 0 0 .5 0, 0 1 0 .5 .5, 0 0 1 0 .5, .5 .5 0 1 .25, 0 .5 .5 .25 1}; lam=1; Z={1 0 0 0 0, 0 0 1 0 0, 0 0 0 0 1}; LHS=((X`*X)||(X`*Z))//((Z`*X)||(Z`*Z+INV(A)#LAM)); RHS=(X`*Y)//(Z`*Y); C=INV(LHS); BU=C*RHS; RMSE=(Y`*Y-BU`*RHS)#(1/2); print C BU RMSE; C22=C[2:6,2:6]; PEV=C22#RMSE; SIGMA_A=RMSE*(1/LAM); PV=A*SIGMA_A+PEV; PRINT PEV PV; finish main; run; quit;