Hello, this is my first post and I hope it's in the correct place.
It appears proc ADAPTIVEREG ignores variables that have a p-value > 0.05
Is it possible to change this limit?
I need to estimate the splines on a variable that gets a p-value of ~0.055. In addition I can imagine other situation where it might be necessary for marginally significant variables or when considering one-sided t-tests.
Thanks in advance
I don't understand what the JMP table is... OLS parameter estimates? The p-value for the variable in an OLS model is not used by PROC ADAPTIVEREG. You might be thinking about PROC REG or PROC GLMSELECT which both have forward/backward selection methods that use options (SLENTRY= SLSTAY=) that look at p-values for a parameter in order to include/exclude a variable.
PROC ADAPTIVEREG does not use p-values of the parameter of the linear model to determine inclusion of a term. By default it uses the GCV criterion, or it can use cross-validation.
It sounds like you want to FORCE the X5 variable to be in the final model. You can use the KEEP=X5 option to force X5 into the model. The following call illustrates the syntax. Without the KEEP=MSRP option, that variable does not enter the model.
proc adaptivereg data=sashelp.cars details=bases;
model mpg_city = Cylinders EngineSize Horsepower Length
MPG_Highway Weight MSRP / additive linear=MSRP;
run;
Can you provide an example of what you are seeing, preferably by using one of the sample data sets in the doc? PROC ADAPTIVEREG creates multiple spline basis functions and then performs variable selection on the splines. It does not perform variable selection on the variables themselves.
One possible source of confusion: PROC ADAPTIVEREG has a parameter called ALPHA that controls the number of knots that are considered for each variable. By default ALPHA=0.05. However, this parameter is different from the significance value in linear models that is sometimes used to determine which variables enter/leave a model. Same name, but not the same purpose.
Thanks for looking into this matter.
I didn't find a suitable dataset to reproduce but let me share some screenshots. I don't think it's related to the ALPHA parameter.
I'm trying to evaluate the splines on a 5 variable model, and according to JMP the variable X5 has a p-value > 0.05, but only slightly so, so I would like to include it regardless.
However running ADAPTIVEREG in SAS just ignores it.
And doesn't include it in any of the outputs
Is it possible to enable it regardless of statistical significance?
I don't understand what the JMP table is... OLS parameter estimates? The p-value for the variable in an OLS model is not used by PROC ADAPTIVEREG. You might be thinking about PROC REG or PROC GLMSELECT which both have forward/backward selection methods that use options (SLENTRY= SLSTAY=) that look at p-values for a parameter in order to include/exclude a variable.
PROC ADAPTIVEREG does not use p-values of the parameter of the linear model to determine inclusion of a term. By default it uses the GCV criterion, or it can use cross-validation.
It sounds like you want to FORCE the X5 variable to be in the final model. You can use the KEEP=X5 option to force X5 into the model. The following call illustrates the syntax. Without the KEEP=MSRP option, that variable does not enter the model.
proc adaptivereg data=sashelp.cars details=bases;
model mpg_city = Cylinders EngineSize Horsepower Length
MPG_Highway Weight MSRP / additive linear=MSRP;
run;
Yes adding KEEP to MODEL helps, but it seems to keep it linear instead of applying the splines. I'll have to look into it further but this gives me something to work with. Thanks!
Try KEEP= option of MODEL statement .
Available on demand!
Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.
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.