BookmarkSubscribeRSS Feed
viva0521
Fluorite | Level 6

Hi, there,

I am modeling some high degree polynomial terms in my regression model, the output looks like:

Parameter            DF    Estimate       Error    t Value

Intercept             1    0.813558    0.147240   5.53
A            1    0.916600    0.030994  29.57
B                1    0.257152    0.094209   2.73
C*D*E_  1    0.023605    0.004686   5.04
B^3*C*  1   -0.000356    0.000105  -3.40

My polynomial degree was set to 5, and it really looks weird. Obviously the last two parameters are missing some terms. How can I fix it? Any comment is highly appreciated.

5 REPLIES 5
M_Maldonado
Barite | Level 11

Hi Viva,

More info please.

Are you using Enterprise Miner? The maximum polynomial degree is 3 for a regression node. How are you setting it to 5?

Thanks,

-Miguel

viva0521
Fluorite | Level 6

Miguel,

I use code node in SAS EM, actually a couple days ago you answered my question here:

Thanks!

M_Maldonado
Barite | Level 11

Thanks for clarifying which proc you are using.

If you look closely at the log of your run, you notice that by default PROC glmselect has stepwise selection turned on. That is why you will only see polynomial terms if they were kept after the selection.

I googled PROC GLMSELECT documentation for you. In case you want to turn off the selection add the option " / selection=none" in your proc statement.

e.g.

model amount = MyPoly / selection=none;

This will make your polynomial terms appear there as you expect, although a selection method is highly recommended!

Good luck!

viva0521
Fluorite | Level 6

Miguel, thanks for your suggestion.

I do need to use stepwise method to make sure my model is only including those significant factors. What I am saying here is about the "output display" error.

Let us look at the last term B^3*C*, I highly suspect the star symbol after C, it should look like: B^3*C*(something missing here?, maybe A or E) This have nothing to do with the selection method here, I am doubting the output is incomplete.

M_Maldonado
Barite | Level 11

This happened in my example as well, and I fixed it specifying a larger length with the namelen option.

E.g.

proc glmselect DATA=sampsio.dmagecr namelen=50;

effect MyPoly = polynomial(duration checking savings/degree=4);

model amount = MyPoly / selection=none;

run;

Curious why you would have an issue if your variables are so short. Please give this a try and let me know how it went.

Thanks,

Miguel

sas-innovate-2024.png

Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.

Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.

 

Register now!

How to choose a machine learning algorithm

Use this tutorial as a handy guide to weigh the pros and cons of these commonly used machine learning algorithms.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 5 replies
  • 1212 views
  • 0 likes
  • 2 in conversation