GeneralizedLinearMixedModel.refit - Refit generalized linear mixed-effects model - MATLAB (original) (raw)

Class: GeneralizedLinearMixedModel

Refit generalized linear mixed-effects model

Syntax

Description

[glmenew](#bubtd6w-glmenew) = refit([glme](#bubtd6w%5Fsep%5Fshared-glme),[ynew](#bubtd6w-ynew)) returns a refitted generalized linear mixed-effects model, glmenew, based on the input model glme, using a new response vector, ynew.

example

Input Arguments

expand all

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

New response vector, specified as an _n_-by-1 vector of scalar values, where n is the number of observations used to fit glme.

For an observation i with prior weights wip and binomial size ni (when applicable), the response values yi contained in ynew can have the following values.

Distribution Permitted Values Notes
Binomial {0,1wipni,2wipni,.…,1} wip and ni are integer values > 0
Poisson {0,1wip,2wip,⋯,1} wip is an integer value > 0
Gamma (0,∞) wip ≥ 0
InverseGaussian (0,∞) wip ≥ 0
Normal (–∞,∞) wip ≥ 0

You can access the prior weights property wip using dot notation.

glme.ObservationInfo.Weights

Data Types: single | double

Output Arguments

expand all

Generalized linear mixed-effects model, returned as a GeneralizedLinearMixedModel object. glmenew is an updated version of the generalized linear mixed-effects model glme, refit to the values in the response vector ynew.

For properties and methods of this object, see GeneralizedLinearMixedModel.

Examples

expand all

Load the sample data.

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:

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

defectsij∼Poisson(μij)

This corresponds to the generalized linear mixed-effects model

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

where

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

Use random to simulate a new response vector from the fitted model.

rng(0,'twister'); % For reproducibility ynew = random(glme);

Refit the model using the new response vector.

glme = Generalized linear mixed-effects model fit by ML

Model information: Number of observations 100 Fixed effects coefficients 6 Random effects coefficients 20 Covariance parameters 1 Distribution Poisson Link Log
FitMethod Laplace

Formula: defects ~ 1 + newprocess + time_dev + temp_dev + supplier + (1 | factory)

Model fit statistics: AIC BIC LogLikelihood Deviance 469.24 487.48 -227.62 455.24

Fixed effects coefficients (95% CIs): Name Estimate SE tStat DF pValue Lower Upper
{'(Intercept)'} 1.5738 0.18674 8.4276 94 4.0158e-13 1.203 1.9445 {'newprocess' } -0.21089 0.2306 -0.91455 94 0.36277 -0.66875 0.24696 {'time_dev' } -0.13769 0.77477 -0.17772 94 0.85933 -1.676 1.4006 {'temp_dev' } 0.24339 0.84657 0.2875 94 0.77436 -1.4375 1.9243 {'supplier_C' } -0.12102 0.07323 -1.6526 94 0.10175 -0.26642 0.024381 {'supplier_B' } 0.098254 0.066943 1.4677 94 0.14551 -0.034662 0.23117

Random effects covariance parameters: Group: factory (20 Levels) Name1 Name2 Type Estimate {'(Intercept)'} {'(Intercept)'} {'std'} 0.46587

Group: Error Name Estimate {'sqrt(Dispersion)'} 1

Tips