Set p-value threshold for stepwiseglm() function?
조회 수: 1 (최근 30일)
이전 댓글 표시
Hi, I am using
stepwiseglm(D(1:2719,2:end),D(1:2719,1),'constant','upper','linear','Distribution','binomial','Link','logit')
in a process to explore available parameters for a logistic regression and decide on which ones to use and which ones to ignore.
The function adds the parameter if p-value of marginal value is <.05, discards parameter if >.10
Since my purpose is exploratory, I'd be interested in having a look at parameters with a p-value of say, up to .25
I am new to matlab and having trouble finding if I can adjust the p-value thresh-hold.
Anyone know? Thanks-- Justin
댓글 수: 0
채택된 답변
the cyclist
2014년 9월 18일
편집: the cyclist
2014년 9월 18일
Use the Criterion name-value pair to specify which criterion is measured to determine terms to remove, and the PRemove name-value pair to specify the value.
댓글 수: 8
the cyclist
2014년 10월 4일
I finally found some time to explore. Here is a contrived example in which I construct three different models -- "strict","loose", and "very loose" -- off the same data.
rng(1)
N = 50;
X = randn(N,2);
noise = 10;
Y = 2 + 3*X(:,1) + 3.6*X(:,2) + noise*randn(N,1);
model_strict = stepwiseglm(X,Y,'constant','upper','linear')
model_loose = stepwiseglm(X,Y,'constant','upper','linear','Criterion','Deviance','PEnter',0.25,'PRemove',1)
model_very_loose = stepwiseglm(X,Y,'constant','upper','linear','Criterion','Deviance','PEnter',0.90,'PRemove',1)
"model_strict" uses default MATLAB settings for adding and removing terms. Notice that this model does not add either X(:,1) or X(:,2).
"model_loose" adds terms if p-value is less than 0.25, and only removes if p-value greater than 1. (In other words, it never removes terms.) This model adds X(:,2), but not X(:,1).
"model_very_loose" adds terms if p-value is less than 0.90, and only removes if p-value greater than 1. (In other words, it never removes terms.) This model adds both X(:,2) and X(:,1).
I think "model_loose" is effectively to what you are trying to achieve.
I hope this helps. The "Algorithm" section of this documentation page describes the algorithm MATLAB uses to add and remove terms.
추가 답변 (0개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!