This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.


Class: GeneralizedLinearModel

Remove terms from generalized linear model


mdl1 = removeTerms(mdl,terms)


mdl1 = removeTerms(mdl,terms) returns a linear model the same as mdl but with fewer terms.

Input Arguments


Generalized linear model, as constructed by fitglm or stepwiseglm.


Terms to remove from the mdl regression model. Specify as either a:

  • Text representing one or more terms to remove. For details, see Wilkinson Notation.

  • Row or rows in the terms matrix (see modelspec in fitglm). For example, if there are three variables A, B, and C:

    [0 0 0] represents a constant term or intercept
    [0 1 0] represents B; equivalently, A^0 * B^1 * C^0
    [1 0 1] represents A*C
    [2 0 0] represents A^2
    [0 1 2] represents B*(C^2)

Output Arguments


Generalized linear model, the same as mdl but without the terms given in terms. You can set mdl1 equal to mdl to overwrite mdl.


Wilkinson Notation

Wilkinson notation describes the factors present in models. The notation relates to factors present in models, not to the multipliers (coefficients) of those factors.

Wilkinson NotationFactors in Standard Notation
1Constant (intercept) term
A^k, where k is a positive integerA, A2, ..., Ak
A + BA, B
A*BA, B, A*B
A:BA*B only
-BDo not include B
A*B + CA, B, C, A*B
A + B + C + A:BA, B, C, A*B
A*B*C - A:B:CA, B, C, A*B, A*C, B*C
A*(B + C)A, B, C, A*B, A*C

Statistics and Machine Learning Toolbox™ notation always includes a constant term unless you explicitly remove the term using -1.

For details, see Wilkinson and Rogers [1].


expand all

This example makes a model using two predictors, then removes one.

Generate artificial data for the model, Poisson random numbers with two underlying predictors X(1) and X(2).

rng('default') % for reproducibility
rndvars = randn(100,2);
X = [2+rndvars(:,1),rndvars(:,2)];
mu = exp(1 + X*[1;2]);
y = poissrnd(mu);

Create a generalized linear regression model of Poisson data.

mdl = fitglm(X,y,'y ~ x1 + x2','distr','poisson')
mdl = 

Generalized Linear regression model:
    log(y) ~ 1 + x1 + x2
    Distribution = Poisson

Estimated Coefficients:
                   Estimate    SE           tStat     pValue
    (Intercept)    1.0405       0.022122    47.034    0     
    x1             0.9968       0.003362    296.49    0     
    x2              1.987      0.0063433    313.24    0     

100 observations, 97 error degrees of freedom
Dispersion: 1
Chi^2-statistic vs. constant model: 2.95e+05, p-value = 0

Remove the second predictor from the model.

mdl1 = removeTerms(mdl,'x2')
mdl1 = 

Generalized Linear regression model:
    log(y) ~ 1 + x1
    Distribution = Poisson

Estimated Coefficients:
                   Estimate    SE           tStat     pValue
    (Intercept)    2.7784       0.014043    197.85    0     
    x1             1.1732      0.0033653     348.6    0     

100 observations, 98 error degrees of freedom
Dispersion: 1
Chi^2-statistic vs. constant model: 1.25e+05, p-value = 0

Related Examples


[1] Wilkinson, G. N., and C. E. Rogers. Symbolic description of factorial models for analysis of variance. J. Royal Statistics Society 22, pp. 392–399, 1973.


step adds or removes terms from a model using a greedy one-step algorithm.

Was this topic helpful?