Documentation

coefTest

Class: CompactLinearModel

Linear hypothesis test on linear regression model coefficients

Syntax

p = coefTest(mdl)
p = coefTest(mdl,H)
p = coefTest(mdl,H,C)
[p,F] = coefTest(mdl,___)
[p,F,r] = coefTest(mdl,___)

Description

p = coefTest(mdl) computes the p-value for an F test that all coefficient estimates in mdl are zero, except for the intercept term.

p = coefTest(mdl,H) performs an F test that H × B = 0, where B represents the coefficient vector.

p = coefTest(mdl,H,C) performs an F test that H × B = C.

[p,F] = coefTest(mdl,___) returns the F test statistic, F, using any of the previous syntaxes.

[p,F,r] = coefTest(mdl,___) returns the numerator degrees of freedom, r, for the test.

Input Arguments

expand all

mdl — Linear model objectLinearModel object | CompactLinearModel object

Linear model object, specified as a full LinearModel object constructed using fitlm or stepwiselm, or a compacted CompactLinearModel object constructed using compact.

H — Hypothesized model coefficientsnumeric matrix

Hypothesized model coefficients, specified as a numeric matrix with one column for each coefficient in the model. If H is an input, then the output p is the p-value for an F test that H × B = 0, where B represents the coefficient vector.

C — Hypothesized valuenumeric vector

Hypothesized value for testing the null hypothesis, specified as a numeric vector with the same number of rows as H. When C is an input, the output p is the p-value for an F test that H × B = C, where B represents the coefficient vector.

Output Arguments

expand all

pp-value for F testnumeric value in the range [0,1]

p-value of the F test, returned as a numeric value in the range [0,1].

F — Test statistic for F testnumeric value

Value of the test statistic for the F test, returned as a numeric value.

r — Numerator degrees of freedom for F testpositive integer

Numerator degrees of freedom for the F test, returned as a positive integer. The F statistic has r degrees of freedom in the numerator and mdl.DFE degrees of freedom in the denominator.

Definitions

Test Statistics

The p-value, F statistic, and numerator degrees of freedom are valid under these assumptions:

  • The data comes from a model represented by the formula mdl.Formula.

  • The observations are independent conditional on the predictor values.

Suppose these assumptions hold. Let β represent the (unknown) coefficient vector of the linear regression. Suppose H is a full-rank matrix of size r-by-s, where s is the number of terms in β. Let v be a vector the same size as β. The following is a test statistic for the hypothesis that  = v:

F=(Hβ^v)(HCH)1(Hβ^v).

Here β^ is the estimate of the coefficient vector β in mdl.Coefs, and C is the estimated covariance of the coefficient estimates in mdl.CoefCov. When the hypothesis is true, the test statistic F has an F Distribution with r and u degrees of freedom.

Examples

expand all

Test Significance of Linear Regression Model

Fit a linear regression model of mileage as a function of the weight, weight squared, and model year from the carsmall data set. Test the coefficients to see if all should be zero.

Load the data and make a table, where the model year is an ordinal variable.

load carsmall
tbl = table(MPG,Weight);
tbl.Year = ordinal(Model_Year);
mdl = fitlm(tbl,'MPG ~ Year + Weight + Weight^2');

Test the model for significant differences from a constant model.

p = coefTest(mdl)
p =

   5.5208e-41

The returned $p$-value indicates that the fitted model contains more than the intercept term.

Test Significance of Linear Model Coefficient

Test the Weight^2 coefficient in a linear model of mileage as a function of the weight, weight squared, and model year.

Load the data and make a table, where the model year is an ordinal variable.

load carsmall
tbl = table(MPG,Weight);
tbl.Year = ordinal(Model_Year);
mdl = fitlm(tbl,'MPG ~ Year + Weight + Weight^2');

Test the significance of the Weight^2 coefficient. To do so, find the coefficient corresponding to Weight^2.

mdl.CoefficientNames
ans = 

    '(Intercept)'    'Weight'    'Year_76'    'Year_82'    'Weight^2'

Weight^2 is the fifth (final) coefficient.

Test the significance of the Weight^2 coefficient.

p = coefTest(mdl,[0 0 0 0 1])
p =

    0.0022

Alternatives

The values of commonly used test statistics are available in the mdl.Coefficients table.

anova provides a test for each model term.

Was this topic helpful?