/* Example 3.4.3-----Transformations to Achieve Normality*/ /* p=1, n=50, alpha=5% */ filename sriv1 'ch3p11.ext'; goptions hsize=8cm vsize=6cm device=pslepsf gaccess=sasgaedt gsfname=sriv1 gsfmode=replace; /*gsflen=80;*/ libname sriv'/u/mengd/sasuser/ssm'; proc iml; x={1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 1.5 1.6 1.4 1.1 1.2 1.5 1.3 1.4 1.7 1.5 1.7 1.5 1.0 1.7 1.9 1.6 1.6 1.5 1.4 1.6 1.6 1.5 1.5 1.4 1.5 1.2 1.3 1.4 1.3 1.5 1.3 1.3 1.3 1.6 1.9 1.4 1.6 1.4 1.5 1.4}; g1=exp(1/50*log(det(diag(x`)))); create sriv.maxLamda var{lamda lla}; do lamda=0.1 to 1 by 0.01; y=(exp(lamda*log(x`))-1)/(lamda*exp((lamda-1)*log(g1))); Yb=J(50,1,1)*J(1,50,1/50)*Y; sLamdaSq=(Y-Yb)`*(Y-Yb)/(50-1); integ=int(-(50-1)/2*log(sLamdaSq)); lLa=-(50-1)/2*log(sLamdaSq)-integ; append; end; /* After having checked maximum point of lamda (0.85) then run the following */ y0=(exp(0.85*log(x`))-1)/(0.85*exp((0.85-1)*log(g1))); create sriv.y0 var{y0 x}; append; quit; symbol1 I=spline ; proc gplot data=sriv.maxLamda; plot lLa*lamda=1 /frame hminor=0 vminor=0 vaxis=0.4 to 0.8 by 0.1 haxis=0.1 to 1 by 0.3 ; run; quit; goptions hsize=0cm vsize=0cm goutmode=replace; proc univariate data=sriv.y0 plot; run; 0.95+ * * + | ++++++ | **+**++ 0.65+ *****++ | *******+ | *******++ 0.35+ ******+++ | **+++++ | +++*++ 0.05++++* +----+----+----+----+----+----+----+----+----+----+ -2 -1 0 +1 +2