以前没有接触过SAS,本科妹子一枚会使用EVIEWS和SPSS,但现在基于建立灰色预测模型,据说这两个都派不上用场,
只能厚着脸皮硬撑~~
只求怎么能把数据预测出来
下面是从网上找的,
看得我云里雾里,完全不懂,
也好像运行不出来。。
求大神指点迷津。。。。小女子感激不尽。。。。。。
data ind1_1;
INPUT t year xt@@;
yt +xt;
index =1;zt=-(yt +LAG(yt))/ 2;
DATALINES;
1 1990 24395 2 1991 25286
3 1992 26901 4 1993 27339
5 1994 27871 6 1995 28721
7 1996 29728 8 1997 30067
9 1998 30791 10 1999 31284
11 2000 33716 12 2001 34558
;
PROC IML ;
USE a1 ;
READ ALL VAR{zt index}INTO B WHERE(zt =.);
READ ALL VAR{x t}INTO Yn WHERE(zt =.);
ahat =INV(B` *B)*B` *Yn ;
ahatt =ahat` ;na ={a u};
CREAT a2 FROM ahatt[ COLNAME =na] ;
APPEND FROM ahatt ;
QUIT ;
DATA a3;
SET a2;index =1 ;
DATA a4;
SET a1;IF N =1; xt0 =xt;
KEEP xt0 index ;
DATA a5;
MERGE a1 a3 a4 ;BY index ;
IF N =1 THEN xp=xt ;
ELSE DO
y t1=(x t0 -u/ a)*EXP(-a *(t -1))+u/a ;
y t0=(x t0 -u/ a)*EXP(-a *(t -2))+u/a ;
xp =y t1-y t0;
END;
error =xp -xt;
rerror =error/ xt*100 ;
DROP y t index zt yt1 yt0 xt0 ;
PROC PRINT DATA =a5 ;
RUN;