Accelerating the pace of engineering and science

# coefTest

Class: NonLinearModel

Linear hypothesis test on nonlinear 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.

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.

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

## Input Arguments

 mdl Nonlinear regression model, constructed by fitnlm. H Numeric matrix having one column for each coefficient in the model. When H is an input, the output p is the p-value for an F test that H*B = 0, where B represents the coefficient vector. C 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

 p p-value of the F test (see Definitions). F Value of the test statistic for the F test (see Definitions). r Numerator degrees of freedom for the F test (see Definitions). 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 normal distribution.

• The entries are independent.

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={\left(H\stackrel{^}{\beta }-v\right)}^{\prime }{\left(HC{H}^{\prime }\right)}^{-1}\left(H\stackrel{^}{\beta }-v\right).$

Here $\stackrel{^}{\beta }$ 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 Nonlinear Regression Model Coefficients

Make a nonlinear model of mileage as a function of the weight from the carsmall data set. Test the coefficients to see if all should be zero.

Create an exponential model of car mileage as a function of weight from the carsmall data. Scale the weight by a factor of 1000 so all the variables are roughly equal in size.

```load carsmall
X = Weight;
y = MPG;
modelfun = 'y ~ b1 + b2*exp(-b3*x/1000)';
beta0 = [1 1 1];
mdl = fitnlm(X,y,modelfun,beta0);```

Test the model for significant differences from a constant model.

`p = coefTest(mdl)`
```p =

1.3708e-36
```

There is no doubt that the model contains nonzero terms.

## Alternatives

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