Hello everybody,
is it possible to add boundaries in proc quantreg?
Here's my code:
proc quantreg data=d
algorithm=simplex outest=out ci=sparsity plots=none;
model y= x1 x2 x3 / quantile=&q.;
output out=out p=q res=r;
run;
I would like to add the following condiiton on y:
y>=0
Thanks a lot.
Can you clarify? Do you want
1. To only build the model for observations that have y >= 0. If so, insert
WHERE y>=0;
before the MODEL statement.
2. To build a model that predicts only positive values. If so, you need to build a model that reflects that restriction. To do this correctly requires knowledge of the data and errors.
For example, to expand on (2), if all the observed Ys are positive, you can define LogY = log(Y) and then model LogY. The predictions of Y are obtained from the predictions of LogY by exponentiating, Therefore the predictions are always positive. If you are interested in learning more, read "Error distributions and exponential regression models."
Thanks for you answer.
It's option 2., I need to build a model that predicts only positive values, but my Ys observed are both positive and negative.
I will absolutely read the article you suggest.
In the meanwhile, thanks again.
Would it make sense to put a floor (to 0) on observed Ys and then build a model on log(Y) as you suggested?
No, that transformation won't work because log(y) is not defined for y <= 0.
Sorry, I meant 0+
Catch the best of SAS Innovate 2025 — anytime, anywhere. Stream powerful keynotes, real-world demos, and game-changing insights from the world’s leading data and AI minds.
ANOVA, or Analysis Of Variance, is used to compare the averages or means of two or more populations to better understand how they differ. Watch this tutorial for more.
Find more tutorials on the SAS Users YouTube channel.