/*-----------------------------------------------------------------
            S A S   S A M P L E   L I B R A R Y                   
                                                                  
      NAME: TREGBOX                                               
     TITLE: Basic Box-Cox Example for PROC TRANSREG               
   PRODUCT: STAT                                                  
    SYSTEM: ALL                                                   
      KEYS: Box-Cox                                               
     PROCS: TRANSREG                                              
      DATA:                                                       
                                                                  
   SUPPORT: saswfk                UPDATE: July 25, 2010           
       REF: PROC TRANSREG, Basic Box-Cox Example                  
      MISC:                                                       
-----------------------------------------------------------------*/

title 'Basic Box-Cox Example';

data x;
   do x = 1 to 8 by 0.025;
      y = exp(x + normal(7));
      output;
   end;
run;

ods graphics on;

title2 'Default Options';

proc transreg data=x test;
   model BoxCox(y) = identity(x);
run;

title2 'Several Options Demonstrated';

proc transreg data=x ss2 details
              plots=(transformation(dependent) scatter
                    observedbypredicted);
   model BoxCox(y / lambda=-2 -1 -0.5 to 0.5 by 0.05 1 2
                    convenient parameter=2 alpha=0.00001) =
         identity(x);
run;

title 'Univariate Box-Cox';

data x;
   call streaminit(17);
   z = 0;
   do i = 1 to 500;
      y = rand('lognormal');
      output;
   end;
run;

proc transreg maxiter=0 nozeroconstant;
   model BoxCox(y) = identity(z);
   output;
run;

proc univariate noprint;
   histogram y ty;
run;