Advertisement
Guest User

Pedido

a guest
Jun 25th, 2017
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SAS 2.38 KB | None | 0 0
  1. dm "log;clear;output;clear;";
  2. options nodate nonumber;
  3. proc iml;
  4. %macro wishart(n,Parametro);
  5.     Mat_var_co=J(2,1,0);
  6.     Prom_Empirico=J(2,1,0);
  7.     Sum_de_c=J(2,1,0);
  8.     dat=j(2,&n,0);
  9.     mixto=0;
  10.     %do k=1 %to &n;
  11.         Parametro=j(2,2,.);
  12.         matriz=j(2,2,0);
  13.         U=ROOT(&Parametro);
  14.         L=t(U);
  15.  
  16.         v=j(150000,1,0);
  17.         sum=0;
  18.         do i=1 to 150000;
  19.             v[i,1]=ranuni(0);
  20.             sum=sum+v[i,1];
  21.         end;
  22.         prom=sum/150000;
  23.         z=(sqrt(150000)*(prom-0.5))/(1/sqrt(12));
  24.  
  25.         v_1=j(150000,1,0);
  26.         sum_1=0;
  27.         do i=1 to 150000;
  28.             v_1[i,1]=ranuni(0);
  29.             sum_1=sum_1+v_1[i,1];
  30.         end;
  31.         prom_1=sum_1/150000;
  32.         z_1=(sqrt(150000)*(prom_1-0.5))/(1/sqrt(12));
  33.         chi1=z_1**2;
  34.  
  35.         v_2=j(150000,1,0);
  36.         sum_2=0;
  37.         do i=1 to 150000;
  38.             v_2[i,1]=ranuni(0);
  39.             sum_2=sum_2+v_2[i,1];
  40.         end;
  41.         prom_2=sum_2/150000;
  42.         z_2=(sqrt(150000)*(prom_2-0.5))/(1/sqrt(12));
  43.         chi2=z_2**2;
  44.  
  45.         v_3=j(150000,1,0);
  46.         sum_3=0;
  47.         do i=1 to 150000;
  48.             v_3[i,1]=ranuni(0);
  49.             sum_3=sum_3+v_3[i,1];
  50.         end;
  51.         prom_3=sum_3/150000;
  52.         z_3=(sqrt(150000)*(prom_3-0.5))/(1/sqrt(12));
  53.         chi3=z_3**2;
  54.  
  55.         matriz[1,1]=sqrt(chi2+chi3);
  56.         matriz[2,2]=sqrt(chi1);
  57.         matriz[2,1]=z;
  58.         v_wishart=L*matriz*t(matriz)*t(L);
  59.         print v_wishart;
  60.         matriz_1=j(2,1,0);
  61.         Do i=1 to 2;
  62.             matriz_1[i,1]=v_wishart[i,i];
  63.         end;
  64.         print matriz_1;
  65.         Mat_var_co[1,1]=Mat_var_co[1,1]+matriz_1[1,1];
  66.         Mat_var_co[2,1]=Mat_var_co[2,1]+matriz_1[2,1];
  67.         Sum_de_c[1,1]=Sum_de_c[1,1]+matriz_1[1,1]**2;
  68.         Sum_de_c[2,1]=Sum_de_c[2,1]+matriz_1[2,1]**2;
  69.         mixto=mixto+(matriz_1[1,1]*matriz_1[2,1]);
  70.         dat[1,&k]=matriz_1[1,1];
  71.         dat[2,&k]=matriz_1[2,1];
  72.     %end;
  73.     Prom_Empirico=(1/&n)*Mat_var_co;
  74.     PCE=(1/&n)*Sum_de_c;
  75.     PME=(1/&n)*mixto;
  76.     print Prom_Empirico;
  77.     VCE=J(2,2,0);
  78.     VCE[1,1]=PCE[1,1]-Prom_Empirico[1,1]**2;
  79.     VCE[2,2]=PCE[2,1]-Prom_Empirico[2,1]**2;
  80.     VCE[2,1]=PME-Prom_Empirico[1,1]*Prom_Empirico[2,1];
  81.     VCE[1,2]=PME-Prom_Empirico[1,1]*Prom_Empirico[2,1];
  82.     print VCE;
  83.     PRINT dat;
  84. %mend;
  85. muestra={9 1,1 4};
  86. %wishart (5,muestra);
  87. quit;
  88. run;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement