linhyptest
Linear hypothesis test
Syntax
p = linhyptest(beta,COVB,c,H,dfe)
[p,t,r] = linhyptest(...)
Description
p = linhyptest(beta,COVB,c,H,dfe) returns
the p value p of a hypothesis
test on a vector of parameters. beta is a vector
of k parameter estimates. COVB is
the k-by-k estimated covariance
matrix of the parameter estimates. c and H specify
the null hypothesis in the form H*b = c, where b is
the vector of unknown parameters estimated by beta. dfe is
the degrees of freedom for the COVB estimate, or Inf if COVB is
known rather than estimated.
beta is required. The remaining arguments
have default values:
COVB = eye(k)c = zeros(k,1)H = eye(K)dfe = Inf
If H is omitted, c must
have k elements and it specifies the null hypothesis
values for the entire parameter vector.
Note
The following functions return outputs that are suitable for use as the
COVB input argument to linhyptest:
nlinfit, coxphfit, glmfit, fitmnr,
regstats, and robustfit. nlinfit returns
COVB directly. fitmnr returns a
covariance matrix in MnrMdl.CoefficientCovariance. The
remaining functions return COVB in
stats.covb.
[p,t,r] = linhyptest(...) also returns the test
statistic t and the rank r of the hypothesis
matrix H. If dfe is Inf or is
not given, t*r is a chi-square statistic with r
degrees of freedom. If dfe is specified as a finite value,
t is an F statistic with r
and dfe degrees of freedom.
linhyptest performs a test based on an
asymptotic normal distribution for the parameter estimates. It can
be used after any estimation procedure for which the parameter covariances
are available, such as regstats or glmfit. For linear regression, the p-values
are exact. For other procedures, the p-values are
approximate, and may be less accurate than other procedures such as
those based on a likelihood ratio.
Examples
Fit a multiple linear model to the data in hald.mat:
load hald
stats = regstats(heat,ingredients,'linear');
beta = stats.beta
beta =
62.4054
1.5511
0.5102
0.1019
-0.1441Perform an F-test that the last two coefficients are both 0:
SIGMA = stats.covb;
dfe = stats.fstat.dfe;
H = [0 0 0 1 0;0 0 0 0 1];
c = [0;0];
[p,F] = linhyptest(beta,SIGMA,c,H,dfe)
p =
0.4668
F =
0.8391Version History
Introduced in R2007a