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
.
Input Arguments
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
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
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:
- 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
, orC
) 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
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
- 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
orB
, respectively, supplied the process chemicals for the batch produced by factory i during batch j. - bi∼N(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');
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
- You can use
refit
and random to conduct a simulated likelihood ratio test or parametric bootstrap.