refit

Класс: GeneralizedLinearMixedModel

Переоборудуйте обобщенную линейную модель смешанных эффектов

Синтаксис

Описание

пример

glmenew = refit(glme,ynew) возвращает переоборудованную обобщенную линейную модель смешанных эффектов, glmenew, на основе входной модели glme, с помощью нового вектора отклика, ynew.

Входные параметры

развернуть все

Обобщенная линейная модель смешанных эффектов в виде GeneralizedLinearMixedModel объект. Для свойств и методов этого объекта, смотрите GeneralizedLinearMixedModel.

Новый вектор отклика в виде n-by-1 вектор из скалярных значений, где n является количеством наблюдений, раньше соответствовал glme.

Для наблюдения i с предшествующими весами wip и биномиальный размер ni (когда применимый), значения отклика yi содержится в ynew может иметь следующие значения.

РаспределениеРазрешенные значенияПримечания
Binomial

{0,1wipni,2wipni,.,1}

wip и ni является целочисленными значениями> 0
Poisson

{0,1wip,2wip,,1}

wip целочисленное значение> 0
Gamma(0,∞)wip ≥ 0
InverseGaussian(0,∞)wip ≥ 0
Normal(–∞,∞)wip ≥ 0

Можно получить доступ к предшествующему свойству весов wip использование записи через точку.

glme.ObservationInfo.Weights

Типы данных: single | double

Выходные аргументы

развернуть все

Обобщенная линейная модель смешанных эффектов, возвращенная как GeneralizedLinearMixedModel объект. glmenew обновленная версия обобщенной линейной модели glme смешанных эффектов, переоборудуйте к значениям в векторе отклика ynew.

Для свойств и методов этого объекта, смотрите GeneralizedLinearMixedModel.

Примеры

развернуть все

Загрузите выборочные данные.

load mfr

Эти симулированные данные от компании-производителя, которая управляет 50 фабриками во всем мире с каждой фабрикой, запускающей процесс пакетной обработки, чтобы создать готовое изделие. Компания хочет сократить число дефектов в каждом пакете, таким образом, это разработало новый производственный процесс. Чтобы протестировать эффективность нового процесса, компания выбрала 20 своих фабрик наугад, чтобы участвовать в эксперименте: Десять фабрик реализовали новый процесс, в то время как другие десять продолжали запускать старый процесс. На каждой из этих 20 фабрик компания запустила пять пакетов (для в общей сложности 100 пакетов) и записала следующие данные:

  • Отметьте, чтобы указать, использовал ли пакет новый процесс (newprocess)

  • Время вычислений для каждого пакета, в часах (time)

  • Температура пакета, в градусах Цельсия (temp)

  • Категориальная переменная, указывающая на поставщика (AB, или C) из химиката, используемого в пакете (supplier)

  • Количество дефектов в пакете (defects)

Данные также включают time_dev и temp_dev, которые представляют абсолютное отклонение времени и температуры, соответственно, из стандарта процесса 3 часов на уровне 20 градусов Цельсия.

Подбирайте обобщенную линейную модель смешанных эффектов использование newprocess, time_dev, temp_dev, и supplier как предикторы фиксированных эффектов. Включайте термин случайных эффектов для точки пересечения, сгруппированной factory, с учетом качественных различий, которые могут существовать из-за специфичных для фабрики изменений. Переменная отклика defects имеет распределение Пуассона, и соответствующая функция ссылки для этой модели является журналом. Используйте подходящий метод Лапласа, чтобы оценить коэффициенты. Задайте фиктивную переменную, кодирующую как 'effects', таким образом, фиктивные переменные коэффициенты суммируют к 0.

Количество дефектов может быть смоделировано с помощью распределения Пуассона

defectsijПуассон(μij)

Это соответствует обобщенной линейной модели смешанных эффектов

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

где

  • defectsij количество дефектов, наблюдаемых в пакете, произведенном фабрикой i во время пакета j.

  • μij среднее количество дефектов, соответствующих фабрике i (где i=1,2,...,20) во время пакета j (где j=1,2,...,5).

  • newprocessij, time_devij, и temp_devij измерения для каждой переменной, которые соответствуют фабрике i во время пакета j. Например, newprocessij указывает ли пакет, произведенный фабрикой i во время пакета j используемый новый процесс.

  • supplier_Cij и supplier_Bij фиктивные переменные, которые используют эффекты (сумма к нулю) кодирование, чтобы указать ли компания C или B, соответственно, предоставленный химикаты процесса для пакета производятся фабрикой i во время пакета j.

  • biN(0,σb2) точка пересечения случайных эффектов для каждой фабрики i это составляет специфичное для фабрики изменение по качеству.

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

Используйте random симулировать новый вектор отклика от подобранной модели.

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

Переоборудуйте модель с помощью нового вектора отклика.

glme = refit(glme,ynew)
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    
    {'(Intercept)'}          1.5738     0.18674      8.4276    94    4.0158e-13
    {'newprocess' }        -0.21089      0.2306    -0.91455    94       0.36277
    {'time_dev'   }        -0.13769     0.77477    -0.17772    94       0.85933
    {'temp_dev'   }         0.24339     0.84657      0.2875    94       0.77436
    {'supplier_C' }        -0.12102     0.07323     -1.6526    94       0.10175
    {'supplier_B' }        0.098254    0.066943      1.4677    94       0.14551


    Lower        Upper   
        1.203      1.9445
     -0.66875     0.24696
       -1.676      1.4006
      -1.4375      1.9243
     -0.26642    0.024381
    -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       

Советы

  • Можно использовать refit и random провести симулированный тест отношения правдоподобия или параметрическую начальную загрузку.

Смотрите также

| | |