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

Don't miss out on SAS Innovate - Register now for the FREE Livestream!

Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.

 

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
  • 1234 views
  • 0 likes
  • 2 in conversation