I use the optmodel. The results are the same as that from quantreg. In case one does not have it( optmode procedure), one can solve it with LP.
***********************************************************************
%let n=300;
%let quantile=0.6;
data t1;
do i=1 to &n;
x=rannor(123);
e=rannor(123);
y=-1+1*x+e;
output;
end;
keep y x;
run;
proc quantreg data=t1;
model y=x/quantile=&quantile;
run;
proc optmodel;
set I = 1 .. &n;
number y{I};
number x{I};
read data t1 into [_n_] y x ;
var b0 init 0, b1 init 0;
var u{k in I} >=0, v{k in I} >=0;
min f = sum{k in I} (&quantile*u[k] + (1-&quantile)*v[k]);
con target {k in I}: b0 + b1*x[k] + u[k] - v[k]=y[k];
reset printlevel=2;
solve ;
print f b0 b1;
quit;



雷达卡



京公网安备 11010802022788号







