鄙人SAS小白,主要做一些数据处理与分析,在用SAS做非线性规划的时候遇到一些问题,求大神予以解答,感激不尽!
NLP问题大概是求一个r使得Y最小,代码如下:
PROC NLP DATA=GL.EST OUT=GL.r TECH=NEWRAP NOPRINT;
BY Code Date;
VAR r=0.05;
BOUNDS r>0;
MIN Y;
Y=(Yclsprc-(B1
+((FROE2-r)/(1+r))*B1
+((FROE3-r)/(1+r)**2)*B2
+((FROE4-r)/(1+r)**3)*B3
+((FROE5-r)/(1+r)**4)*B4
+((FROE6-r)/(1+r)**5)*B5
+((FROE7-r)/(1+r)**6)*B6
+((FROE8-r)/(1+r)**7)*B7
+((FROE9-r)/(1+r)**8)*B8
+((FROE10-r)/(1+r)**9)*B9
+((FROE11-r)/(1+r)**10)*B10
+((FROE12-r)/(1+r)**11)*B11
+((FROE13-r)/(r*(1+r)**12))*B12)
)**2;
RUN;
主要遇到了两个问题;
1.我是分样本进行求解的,每条样本求一个r,每求解一次就会出现类似下面的警告。因为对NLP不熟,不知道这些警告具体什么意思,所以这些警告是否表明了一些问题,需不需要进行处理?
WARNING: Your program statements cannot be executedcompletely.
WARNING: Your program statements cannot be executedcompletely.
NOTE: ABSGCONV convergence criterion satisfied.
WARNING: In a total of 8020 calls an error occurred duringexecution of the program statements. NLP attempted to recover by using ashorter step size.
2.每次运行约3900条样本后,就会出现类似下面的错误。导致GL.r没有写入任何数据或者只写入部分的数据。
ERROR: 文件“WORK.'SASTMP-000007878'n.UTILITY”损坏。I/O 处理没有完成。