- data ARMA_2_1;
- a0 = rannor(12345);
- a1 = rannor(12345);
- z1 = 0.05;
- do i = -100 to 1000;
- a2 = rannor( 12345 );
- z2 = 0.3*z1 + a2 + 0.5*a1 +0.4*a0 ;
- if i > 0 then output;
- a0 = a1;
- a1 = a2;
- z1 = z2;
- end;
- drop a0 a1 a2 z1;
- run;
- %macro ARMA_analysis(p_up,q_up);
- ods listing close;
- ods html close;
- %let iii=0;
- %do p_value = 0 %to &p_up;
- %do q_value = 0 %to &q_up;
- proc arima data=ARMA_2_1 ;
- identify var = i;
- estimate p=&p_value q=&q_value
- outstat = aic&iii;
- /*将含有AIC的数据提取到aic&iii数据集*/
- run;
- quit;
- /*从aic&iii中单独提出AIC值
- 并加上p,q信息 */
- data final&iii;
- set aic&iii;
- where _STAT_ eq 'AIC';
- p = &p_value;
- q = &q_value;
- drop _STAT_ _TYPE_;
- run;
- %let iii=%eval(&iii+1);
- %end;
- %end;
- %let iii=%eval(&iii-1);
- /*合并各组参数对应的AIC值*/
- data final;
- set
- %do jjj = 0 %to &iii;
- final&jjj
- %end;
- ;
- run;
- ods html;
- /*利用列链表的方式画表格*/
- proc freq data = final;
- weight _VALUE_;
- tables p*q / nopercent nocol norow;
- run;
- %mend ARMA_analysis;
然后最后生成的表格也很牵强,很丑,有一行total去不掉。
请问各位应该怎么优化?



雷达卡


京公网安备 11010802022788号







