p-value for nlmlefit

I want to fit my data set to a mixed effect logistic regression model and determine which of the coefficients of my model are statistically significant. How do I determine the p-values for the coefficients in nlmefit?
Thanks!

 Accepted Answer

I assume you mean you want to know if each coefficient is statistically significantly different from zero.
If you call nlmefit with stats output,
[beta,psi,stats,b] = nlmefit(...)
then
stats.sebeta
is the standard error of the coefficients. You can calculate p-values from the values of beta and their standard errors.
[Leave a comment if you don't know how to do that and I can try to add more detail.]

4 Comments

ilana
ilana on 1 Aug 2013
Thanks for the answer, and yes, I meant statistically different from 0. But how exactly do I calculate a p-value using beta and the standard error of beta?
It's a straightforward calculation. I suggest you look at this wikipedia page for some background: http://en.wikipedia.org/wiki/Standard_score.
% Values of beta and sebeta from nlmefit
beta = 1.96; % MLE of the coefficient
sebeta = 1.0; % Standard error of the coefficient
% Calculate the z-score (number of standard deviations the mean is from zero, in your case)
z = beta/sebeta;
% Get the p-value from the z-score
pvalue = 2*(1 - normcdf(z))
Here I multiplied by 2, for a two-sided test (assuming you did not have reason to think ahead of time whether the coefficient might be bigger or smaller than 0, so either direction is significant).
Please be careful generalizing what I have done here. It is pretty specific to your case. I suggest you play around with the parameters, to get a feel for the relationships among the variables.
ilana
ilana on 1 Aug 2013
I wasn't sure if I should assume a z-distribution or a t-distribution with a certain number of degrees of freedom. How do we know the z-distribution is correct in this case? thanks!
I am starting to get a little out of my depth here, but I think you are right that one should actually use a t-distribution.
In that case, I think the correct calculation is
t = beta/sebeta;
pvalue = 2*(1-tcdf(t,dfe))
where dfe is the degrees of freedom from the stats output.

Sign in to comment.

More Answers (1)

Alexis Villacis
Alexis Villacis on 15 Dec 2018

0 votes

Hello everybody!
I am estimating a non-linear mixed effect model using nlmefit, and although Matlab produces standard errors for the estimated betas, it does not produce standard errors for the variance components (the PSI matrix). How can I obtain/estimate the standard errors for the variance components? Would it also be possible to estimate the s.e. for the covariance components of the PSI matrix?
Thank you in advance,

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!