febrero 02, 2013

Generando números aleatorios de un modelo lineal en SAS

Simulando el siguiente modelo lineal: y = β0 + β1x + ε. En donde ε ~N(0,22). Asumiendo x~N(0,12),  y β1 = 2
/* Simulando números aleatorios de un modelo de regresión simple*/

data simu;
call streaminit(4);                      * semilla para numero aleatorio;
   do n = 1 to 22;
      x = rand('normal', 0, 1);
      e = rand('normal', 0, 2);  * e ~ U[0,1.5] ;
      y = 0.5 + 2*x + e;
   output;
 end;
run;

ods html;
proc print data=simu;
  var x y;
  title 'Simulando numeros aleatorios';
run;

* Estadística descriptiva;
proc means;
   var x y;
run;

* Trazando grafico;
symbol1 v=dot c=blue h=0.4;
proc gplot data = simu;
  plot y * x ;
run; quit;

* Histograma ;
proc univariate normal plot;
  var y ;
  histogram / normal endpoints=-10 to 10 by 1;
  title 'Histograma';
run;
ods html close;

SAS output:
Obsxy
10.908923.60999
2-1.25136-1.05504
30.922881.39040
40.493101.90526
5-1.04989-0.59980
60.541373.43311
70.166470.60868
81.316106.72692
9-1.75267-0.26809
10-1.10120-3.11889
11-0.151250.46123
12-0.120301.67640
13-0.52335-0.77536
14-1.40827-0.24826
15-0.75133-2.57447
160.716586.09058
17-0.277940.77255
18-0.124940.87593
190.053621.12343
20-0.29868-3.54520
21-0.555930.10502
222.321144.84260

The MEANS Procedure
VariableNMeanStd DevMinimumMaximum
x
y
22
22
-0.0875885
0.9744083
0.9761913
2.6943728
-1.7526710
-3.5451997
2.3211415
6.7269186






No hay comentarios.: