Main Content

fixedEffects

Class: GeneralizedLinearMixedModel

Estimates of fixed effects and related statistics

Description

beta = fixedEffects(glme) returns the estimated fixed-effects coefficients, beta, of the generalized linear mixed-effects model glme.

[beta,betanames] = fixedEffects(glme) also returns the names of estimated fixed-effects coefficients in betanames. Each name corresponds to a fixed-effects coefficient in beta.

example

[beta,betanames,stats] = fixedEffects(glme) also returns a table of statistics, stats, related to the estimated fixed-effects coefficients of glme.

[___] = fixedEffects(glme,Name,Value) returns any of the output arguments in previous syntaxes using additional options specified by one or more Name,Value pair arguments. For example, you can specify the confidence level, or the method for computing the approximate degrees of freedom for the t-statistic.

Input Arguments

expand all

Generalized linear mixed-effects model, specified as a GeneralizedLinearMixedModel object. For properties and methods of this object, see GeneralizedLinearMixedModel.

Name-Value Arguments

Specify optional comma-separated pairs of Name,Value arguments. Name is the argument name and Value is the corresponding value. Name must appear inside quotes. You can specify several name and value pair arguments in any order as Name1,Value1,...,NameN,ValueN.

Significance level, specified as the comma-separated pair consisting of 'Alpha' and a scalar value in the range [0,1]. For a value α, the confidence level is 100 × (1 – α)%.

For example, for 99% confidence intervals, you can specify the confidence level as follows.

Example: 'Alpha',0.01

Data Types: single | double

Method for computing approximate degrees of freedom, specified as the comma-separated pair consisting of 'DFMethod' and one of the following.

ValueDescription
'residual'The degrees of freedom value is assumed to be constant and equal to np, where n is the number of observations and p is the number of fixed effects.
'none'The degrees of freedom is set to infinity.

Example: 'DFMethod','none'

Output Arguments

expand all

Estimated fixed-effects coefficients of the fitted generalized linear mixed-effects model glme, returned as a vector.

Names of fixed-effects coefficients in beta, returned as a table.

Fixed-effects estimates and related statistics, returned as a dataset array that has one row for each of the fixed effects and one column for each of the following statistics.

Column NameDescription
NameName of the fixed-effects coefficient
EstimateEstimated coefficient value
SEStandard error of the estimate
tStatt-statistic for a test that the coefficient is 0
DFEstimated degrees of freedom for the t-statistic
pValuep-value for the t-statistic
LowerLower limit of a 95% confidence interval for the fixed-effects coefficient
UpperUpper limit of a 95% confidence interval for the fixed-effects coefficient

When fitting a model using fitglme and one of the maximum likelihood fit methods ('Laplace' or 'ApproximateLaplace'), if you specify the 'CovarianceMethod' name-value pair argument as 'conditional', then SE does not account for the uncertainty in estimating the covariance parameters. To account for this uncertainty, specify 'CovarianceMethod' as 'JointHessian'.

When fitting a GLME model using fitglme and one of the pseudo likelihood fit methods ('MPL' or 'REMPL'), fixedEffects bases the fixed effects estimates and related statistics on the fitted linear mixed-effects model from the final pseudo likelihood iteration.

Examples

expand all

Load the sample data.

load mfr

This simulated data is from a manufacturing company that operates 50 factories across the world, with each factory running a batch process to create a finished product. The company wants to decrease the number of defects in each batch, so it developed a new manufacturing process. To test the effectiveness of the new process, the company selected 20 of its factories at random to participate in an experiment: Ten factories implemented the new process, while the other ten continued to run the old process. In each of the 20 factories, the company ran five batches (for a total of 100 batches) and recorded the following data:

  • Flag to indicate whether the batch used the new process (newprocess)

  • Processing time for each batch, in hours (time)

  • Temperature of the batch, in degrees Celsius (temp)

  • Categorical variable indicating the supplier (A, B, or C) of the chemical used in the batch (supplier)

  • Number of defects in the batch (defects)

The data also includes time_dev and temp_dev, which represent the absolute deviation of time and temperature, respectively, from the process standard of 3 hours at 20 degrees Celsius.

Fit a generalized linear mixed-effects model using newprocess, time_dev, temp_dev, and supplier as fixed-effects predictors. Include a random-effects term for intercept grouped by factory, to account for quality differences that might exist due to factory-specific variations. The response variable defects has a Poisson distribution, and the appropriate link function for this model is log. Use the Laplace fit method to estimate the coefficients. Specify the dummy variable encoding as 'effects', so the dummy variable coefficients sum to 0.

The number of defects can be modeled using a Poisson distribution

defectsijPoisson(μij)

This corresponds to the generalized linear mixed-effects model

log(μij)=β0+β1newprocessij+β2time_devij+β3temp_devij+β4supplier_Cij+β5supplier_Bij+bi,

where

  • defectsij is the number of defects observed in the batch produced by factory i during batch j.

  • μij is the mean number of defects corresponding to factory i (where i=1,2,...,20) during batch j (where j=1,2,...,5).

  • newprocessij, time_devij, and temp_devij are the measurements for each variable that correspond to factory i during batch j. For example, newprocessij indicates whether the batch produced by factory i during batch j used the new process.

  • supplier_Cij and supplier_Bij are dummy variables that use effects (sum-to-zero) coding to indicate whether company C or B, respectively, supplied the process chemicals for the batch produced by factory i during batch j.

  • biN(0,σb2) is a random-effects intercept for each factory i that accounts for factory-specific variation in quality.

glme = fitglme(mfr,'defects ~ 1 + newprocess + time_dev + temp_dev + supplier + (1|factory)', ...
    'Distribution','Poisson','Link','log','FitMethod','Laplace','DummyVarCoding','effects');

Compute and display the estimated fixed-effects coefficient values and related statistics.

[beta,betanames,stats] = fixedEffects(glme);
stats
stats = 
    Fixed effect coefficients: DFMethod = 'residual', Alpha = 0.05

    Name                   Estimate     SE          tStat       DF    pValue    
    {'(Intercept)'}           1.4689     0.15988      9.1875    94    9.8194e-15
    {'newprocess' }         -0.36766     0.17755     -2.0708    94      0.041122
    {'time_dev'   }        -0.094521     0.82849    -0.11409    94       0.90941
    {'temp_dev'   }         -0.28317      0.9617    -0.29444    94       0.76907
    {'supplier_C' }        -0.071868    0.078024     -0.9211    94       0.35936
    {'supplier_B' }         0.071072     0.07739     0.91836    94       0.36078


    Lower        Upper    
       1.1515       1.7864
     -0.72019    -0.015134
      -1.7395       1.5505
      -2.1926       1.6263
     -0.22679     0.083051
    -0.082588      0.22473

The returned results indicate, for example, that the estimated coefficient for temp_dev is –0.28317. Its large p-value, 0.76907, indicates that it is not a statistically significant predictor at the 5% significance level. Additionally, the confidence interval boundaries Lower and Upper indicate that the 95% confidence interval for the coefficient for temp_dev is [-2.1926 , 1.6263]. This interval contains 0, which supports the conclusion that temp_dev is not statistically significant at the 5% significance level.