Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

fitlmematrix

Ajuste el modelo lineal de efectos mixtos

Descripción

ejemplo

lme = fitlmematrix(X,y,Z,[]) crea un modelo lineal de efectos mixtos de las respuestas utilizando la matriz de diseño de efectos fijos y matrices de diseño de efectos aleatorios en.yXZ

implica que hay un grupo.[] Es decir, la variable de agrupamiento es, donde es el número de observaciones.Gones(n,1)n El uso sin un patrón de covarianza especificado probablemente resulte en un modelo no identificable.fitlmematrix(X,Y,Z,[]) Esta sintaxis solo se recomienda si se compila la información de agrupamiento en el diseño de efectos aleatorios y se especifica un patrón de covarianza para los efectos aleatorios mediante el argumento de par nombre-valor.Z'CovariancePattern'

ejemplo

lme = fitlmematrix(X,y,Z,G) crea un modelo lineal de efectos mixtos de las respuestas utilizando la matriz de diseño de efectos fijos y matrices de diseño de efectos aleatorios en, y la variable de agrupación o variables en.yXZZG

ejemplo

lme = fitlmematrix(___,Name,Value) también crea un modelo lineal de efectos mixtos con opciones adicionales especificadas por uno o más argumentos de par, utilizando cualquiera de los argumentos de entrada anteriores.Name,Value

Por ejemplo, puede especificar los nombres de las variables de respuesta, predictor y agrupación. También puede especificar el patrón de covarianza, el método de ajuste o el algoritmo de optimización.

Ejemplos

contraer todo

Cargue los datos de ejemplo.

load carsmall

Ajuste un modelo lineal de efectos mixtos, donde millas por galón (MPG) es la respuesta, el peso es la variable predictora y la intercepción varía según el año del modelo. En primer lugar, defina las matrices de diseño. A continuación, ajuste el modelo utilizando las matrices de diseño especificadas.

y = MPG; X = [ones(size(Weight)), Weight]; Z = ones(size(y)); lme = fitlmematrix(X,y,Z,Model_Year)
lme =  Linear mixed-effects model fit by ML  Model information:     Number of observations              94     Fixed effects coefficients           2     Random effects coefficients          3     Covariance parameters                2  Formula:     y ~ x1 + x2 + (z11 | g1)  Model fit statistics:     AIC       BIC       LogLikelihood    Deviance     486.09    496.26    -239.04          478.09    Fixed effects coefficients (95% CIs):     Name        Estimate      SE           tStat      DF    pValue         'x1'            43.575       2.3038     18.915    92    1.8371e-33     'x2'        -0.0067097    0.0004242    -15.817    92    5.5373e-28       Lower         Upper                  39        48.151     -0.0075522    -0.0058672  Random effects covariance parameters (95% CIs): Group: g1 (3 Levels)     Name1        Name2        Type         Estimate    Lower     Upper      'z11'        'z11'        'std'        3.301       1.4448    7.5421  Group: Error     Name             Estimate    Lower     Upper      'Res Std'        2.8997      2.5075    3.3532  

Ahora, ajuste el mismo modelo construyendo la agrupación en la matriz.Z

Z = double([Model_Year==70, Model_Year==76, Model_Year==82]); lme = fitlmematrix(X,y,Z,[],'Covariancepattern','Isotropic')
lme =  Linear mixed-effects model fit by ML  Model information:     Number of observations              94     Fixed effects coefficients           2     Random effects coefficients          3     Covariance parameters                2  Formula:     y ~ x1 + x2 + (z11 + z12 + z13 | g1)  Model fit statistics:     AIC       BIC       LogLikelihood    Deviance     486.09    496.26    -239.04          478.09    Fixed effects coefficients (95% CIs):     Name        Estimate      SE           tStat      DF    pValue         'x1'            43.575       2.3038     18.915    92    1.8371e-33     'x2'        -0.0067097    0.0004242    -15.817    92    5.5373e-28       Lower         Upper                  39        48.151     -0.0075522    -0.0058672  Random effects covariance parameters (95% CIs): Group: g1 (1 Levels)     Name1        Name2        Type         Estimate    Lower     Upper      'z11'        'z11'        'std'        3.301       1.4448    7.5421  Group: Error     Name             Estimate    Lower     Upper      'Res Std'        2.8997      2.5075    3.3532  

Cargue los datos de ejemplo.

load(fullfile(matlabroot,'examples','stats','weight.mat'));

contiene datos de un estudio longitudinal, donde 20 sujetos son asignados aleatoriamente 4 programas de ejercicios (A, B, C, D) y su pérdida de peso se registra durante seis períodos de tiempo de 2 semanas.weight Se trata de datos simulados.

Definir y como variables categóricas.SubjectProgram Cree las matrices de diseño para un modelo lineal de efectos mixtos, con el peso inicial, el tipo de programa, la semana y la interacción entre la semana y el tipo de programa como los efectos fijos. La intercepción y el coeficiente de la semana varían según el sujeto.

Este modelo corresponde a

<math display="block">
<mrow>
<mtable columnalign="left">
<mtr>
<mtd>
<mrow>
<mrow>
<msub>
<mrow>
<mi>y</mi>
</mrow>
<mrow>
<mi>i</mi>
<mi>m</mi>
</mrow>
</msub>
</mrow>
<mo>=</mo>
<mrow>
<msub>
<mrow>
<mi>β</mi>
</mrow>
<mrow>
<mn>0</mn>
</mrow>
</msub>
</mrow>
<mo>+</mo>
<mrow>
<msub>
<mrow>
<mi>β</mi>
</mrow>
<mrow>
<mn>1</mn>
</mrow>
</msub>
</mrow>
<mrow>
<mstyle mathvariant="normal">
<mrow>
<mrow>
<mi>I</mi>
</mrow>
</mrow>
</mstyle>
</mrow>
<mrow>
<msub>
<mrow>
<mstyle mathvariant="normal">
<mrow>
<mrow>
<mi>W</mi>
</mrow>
</mrow>
</mstyle>
</mrow>
<mrow>
<mi>i</mi>
</mrow>
</msub>
</mrow>
<mo>+</mo>
<mrow>
<msub>
<mrow>
<mi>β</mi>
</mrow>
<mrow>
<mn>2</mn>
</mrow>
</msub>
</mrow>
<mrow>
<mstyle mathvariant="normal">
<mrow>
<mrow>
<mi>W</mi>
<mi>e</mi>
<mi>e</mi>
</mrow>
</mrow>
</mstyle>
</mrow>
<mrow>
<msub>
<mrow>
<mstyle mathvariant="normal">
<mrow>
<mrow>
<mi>k</mi>
</mrow>
</mrow>
</mstyle>
</mrow>
<mrow>
<mi>i</mi>
</mrow>
</msub>
</mrow>
<mo>+</mo>
<mrow>
<msub>
<mrow>
<mi>β</mi>
</mrow>
<mrow>
<mn>3</mn>
</mrow>
</msub>
</mrow>
<mi>I</mi>
<mrow>
<msub>
<mrow>
<mo>[</mo>
<mrow>
<mrow>
<mstyle mathvariant="normal">
<mrow>
<mrow>
<mi>P</mi>
<mi>B</mi>
</mrow>
</mrow>
</mstyle>
</mrow>
</mrow>
<mo>]</mo>
</mrow>
<mrow>
<mi>i</mi>
</mrow>
</msub>
</mrow>
<mo>+</mo>
<mrow>
<msub>
<mrow>
<mi>β</mi>
</mrow>
<mrow>
<mn>4</mn>
</mrow>
</msub>
</mrow>
<mi>I</mi>
<mrow>
<msub>
<mrow>
<mo>[</mo>
<mrow>
<mrow>
<mstyle mathvariant="normal">
<mrow>
<mrow>
<mi>P</mi>
<mi>C</mi>
</mrow>
</mrow>
</mstyle>
</mrow>
</mrow>
<mo>]</mo>
</mrow>
<mrow>
<mi>i</mi>
</mrow>
</msub>
</mrow>
<mo>+</mo>
<mrow>
<msub>
<mrow>
<mi>β</mi>
</mrow>
<mrow>
<mn>5</mn>
</mrow>
</msub>
</mrow>
<mi>I</mi>
<mrow>
<msub>
<mrow>
<mo>[</mo>
<mrow>
<mrow>
<mstyle mathvariant="normal">
<mrow>
<mrow>
<mi>P</mi>
<mi>D</mi>
</mrow>
</mrow>
</mstyle>
</mrow>
</mrow>
<mo>]</mo>
</mrow>
<mrow>
<mi>i</mi>
</mrow>
</msub>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mspace width="1em"></mspace>
<mspace width="1em"></mspace>
<mo>+</mo>
<mrow>
<msub>
<mrow>
<mi>β</mi>
</mrow>
<mrow>
<mn>6</mn>
</mrow>
</msub>
</mrow>
<mrow>
<mo>(</mo>
<mrow>
<mrow>
<mstyle mathvariant="normal">
<mrow>
<mrow>
<mi>W</mi>
<mi>e</mi>
<mi>e</mi>
</mrow>
</mrow>
</mstyle>
</mrow>
<mrow>
<msub>
<mrow>
<mstyle mathvariant="normal">
<mrow>
<mrow>
<mi>k</mi>
</mrow>
</mrow>
</mstyle>
</mrow>
<mrow>
<mi>i</mi>
</mrow>
</msub>
</mrow>
<mo>*</mo>
<mi>I</mi>
<mrow>
<msub>
<mrow>
<mrow>
<mo>[</mo>
<mrow>
<mrow>
<mstyle mathvariant="normal">
<mrow>
<mrow>
<mi>P</mi>
<mi>B</mi>
</mrow>
</mrow>
</mstyle>
</mrow>
</mrow>
<mo>]</mo>
</mrow>
</mrow>
<mrow>
<mi>i</mi>
</mrow>
</msub>
</mrow>
</mrow>
<mo>)</mo>
</mrow>
<mo>+</mo>
<mrow>
<msub>
<mrow>
<mi>β</mi>
</mrow>
<mrow>
<mn>7</mn>
</mrow>
</msub>
</mrow>
<mrow>
<mo>(</mo>
<mrow>
<mrow>
<mstyle mathvariant="normal">
<mrow>
<mrow>
<mi>W</mi>
<mi>e</mi>
<mi>e</mi>
</mrow>
</mrow>
</mstyle>
</mrow>
<mrow>
<msub>
<mrow>
<mstyle mathvariant="normal">
<mrow>
<mrow>
<mi>k</mi>
</mrow>
</mrow>
</mstyle>
</mrow>
<mrow>
<mi>i</mi>
</mrow>
</msub>
</mrow>
<mo>*</mo>
<mi>I</mi>
<mrow>
<msub>
<mrow>
<mrow>
<mo>[</mo>
<mrow>
<mrow>
<mstyle mathvariant="normal">
<mrow>
<mrow>
<mi>P</mi>
<mi>C</mi>
</mrow>
</mrow>
</mstyle>
</mrow>
</mrow>
<mo>]</mo>
</mrow>
</mrow>
<mrow>
<mi>i</mi>
</mrow>
</msub>
</mrow>
</mrow>
<mo>)</mo>
</mrow>
<mo>+</mo>
<mrow>
<msub>
<mrow>
<mi>β</mi>
</mrow>
<mrow>
<mn>8</mn>
</mrow>
</msub>
</mrow>
<mrow>
<mo>(</mo>
<mrow>
<mrow>
<mstyle mathvariant="normal">
<mrow>
<mrow>
<mi>W</mi>
<mi>e</mi>
<mi>e</mi>
</mrow>
</mrow>
</mstyle>
</mrow>
<mrow>
<msub>
<mrow>
<mstyle mathvariant="normal">
<mrow>
<mrow>
<mi>k</mi>
</mrow>
</mrow>
</mstyle>
</mrow>
<mrow>
<mi>i</mi>
</mrow>
</msub>
</mrow>
<mo>*</mo>
<mi>I</mi>
<mrow>
<msub>
<mrow>
<mrow>
<mo>[</mo>
<mrow>
<mrow>
<mstyle mathvariant="normal">
<mrow>
<mrow>
<mi>P</mi>
<mi>D</mi>
</mrow>
</mrow>
</mstyle>
</mrow>
</mrow>
<mo>]</mo>
</mrow>
</mrow>
<mrow>
<mi>i</mi>
</mrow>
</msub>
</mrow>
</mrow>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mspace width="1em"></mspace>
<mspace width="1em"></mspace>
<mo>+</mo>
<mi>b</mi>
<msub>
<mrow></mrow>
<mrow>
<mn>0</mn>
<mi>m</mi>
</mrow>
</msub>
<mo>+</mo>
<mspace width="0.16666666666666666em"></mspace>
<mrow>
<msub>
<mrow>
<mi>b</mi>
</mrow>
<mrow>
<mn>1</mn>
<mi>m</mi>
</mrow>
</msub>
</mrow>
<mrow>
<mstyle mathvariant="normal">
<mrow>
<mrow>
<mi>W</mi>
<mi>e</mi>
<mi>e</mi>
</mrow>
</mrow>
</mstyle>
</mrow>
<mrow>
<msub>
<mrow>
<mstyle mathvariant="normal">
<mrow>
<mrow>
<mi>k</mi>
</mrow>
</mrow>
</mstyle>
</mrow>
<mrow>
<mi>i</mi>
<mi>m</mi>
</mrow>
</msub>
</mrow>
<mo>+</mo>
<mrow>
<msub>
<mrow>
<mi>ε</mi>
</mrow>
<mrow>
<mi>i</mi>
<mi>m</mi>
</mrow>
</msub>
</mrow>
<mo>,</mo>
</mrow>
</mtd>
</mtr>
</mtable>
</mrow>
</math>

Dónde

<math display="block">
<mrow>
<mi>i</mi>
</mrow>
</math>
= 1, 2,..., 120, y
<math display="block">
<mrow>
<mi>m</mi>
</mrow>
</math>
= 1, 2,..., 20.
<math display="block">
<mrow>
<msub>
<mrow>
<mi>β</mi>
</mrow>
<mrow>
<mi>j</mi>
</mrow>
</msub>
</mrow>
</math>
son los coeficientes de efectos fijos,
<math display="block">
<mrow>
<mi>j</mi>
</mrow>
</math>
= 0, 1,..., 8 y
<math display="block">
<mrow>
<msub>
<mrow>
<mi>b</mi>
</mrow>
<mrow>
<mn>0</mn>
<mi>m</mi>
</mrow>
</msub>
</mrow>
</math>
Y
<math display="block">
<mrow>
<msub>
<mrow>
<mi>b</mi>
</mrow>
<mrow>
<mn>1</mn>
<mi>m</mi>
</mrow>
</msub>
</mrow>
</math>
son efectos aleatorios.
<math display="block">
<mrow>
<mstyle mathvariant="normal">
<mrow>
<mrow>
<mi>I</mi>
<mi>W</mi>
</mrow>
</mrow>
</mstyle>
</mrow>
</math>
es sinónimo de peso inicial y
<math display="block">
<mrow>
<mi>I</mi>
<mo stretchy="false">[</mo>
<mo></mo>
<mo stretchy="false">]</mo>
</mrow>
</math>
es una variable ficticia que representa un tipo de programa. Por ejemplo,
<math display="block">
<mrow>
<mi>I</mi>
<mo stretchy="false">[</mo>
<mrow>
<mstyle mathvariant="normal">
<mrow>
<mrow>
<mi>P</mi>
<mi>B</mi>
</mrow>
</mrow>
</mstyle>
</mrow>
<msub>
<mrow>
<mo stretchy="false">]</mo>
</mrow>
<mrow>
<mi>i</mi>
</mrow>
</msub>
</mrow>
</math>
es la variable ficticia que representa el tipo de programa B. Los efectos aleatorios y el error de observación tienen las siguientes distribuciones previas:

<math display="block">
<mrow>
<msub>
<mrow>
<mi>b</mi>
</mrow>
<mrow>
<mn>0</mn>
<mi>m</mi>
</mrow>
</msub>
<mo></mo>
<mi>N</mi>
<mo stretchy="false">(</mo>
<mn>0</mn>
<mo>,</mo>
<msubsup>
<mrow>
<mi>σ</mi>
</mrow>
<mrow>
<mn>0</mn>
</mrow>
<mrow>
<mn>2</mn>
</mrow>
</msubsup>
<mo stretchy="false">)</mo>
</mrow>
</math>

<math display="block">
<mrow>
<msub>
<mrow>
<mi>b</mi>
</mrow>
<mrow>
<mn>1</mn>
<mi>m</mi>
</mrow>
</msub>
<mo></mo>
<mi>N</mi>
<mo stretchy="false">(</mo>
<mn>0</mn>
<mo>,</mo>
<msubsup>
<mrow>
<mi>σ</mi>
</mrow>
<mrow>
<mn>1</mn>
</mrow>
<mrow>
<mn>2</mn>
</mrow>
</msubsup>
<mo stretchy="false">)</mo>
</mrow>
</math>

<math display="block">
<mrow>
<msub>
<mrow>
<mi>ε</mi>
</mrow>
<mrow>
<mi>i</mi>
<mi>m</mi>
</mrow>
</msub>
<mo></mo>
<mi>N</mi>
<mo stretchy="false">(</mo>
<mn>0</mn>
<mo>,</mo>
<msup>
<mrow>
<mi>σ</mi>
</mrow>
<mrow>
<mn>2</mn>
</mrow>
</msup>
<mo stretchy="false">)</mo>
<mo>.</mo>
</mrow>
</math>

Subject = nominal(Subject); Program = nominal(Program); D = dummyvar(Program); % Create dummy variables for Program X = [ones(120,1), InitialWeight, D(:,2:4), Week,...    D(:,2).*Week, D(:,3).*Week, D(:,4).*Week]; Z = [ones(120,1), Week]; G = Subject;

Dado que el modelo tiene una intercepción, solo necesita las variables ficticias para los programas B, C y D. Esto también se conoce como el método de codificación de variables ficticias.'reference'

Ajuste el modelo utilizando las matrices de diseño definidas y las variables de agrupamiento.fitlmematrix

lme = fitlmematrix(X,y,Z,G,'FixedEffectPredictors',... {'Intercept','InitWeight','PrgB','PrgC','PrgD','Week','Week_PrgB','Week_PrgC','Week_PrgD'},... 'RandomEffectPredictors',{{'Intercept','Week'}},'RandomEffectGroups',{'Subject'})
lme =  Linear mixed-effects model fit by ML  Model information:     Number of observations             120     Fixed effects coefficients           9     Random effects coefficients         40     Covariance parameters                4  Formula:     Linear Mixed Formula with 10 predictors.  Model fit statistics:     AIC        BIC       LogLikelihood    Deviance     -22.981    13.257    24.49            -48.981   Fixed effects coefficients (95% CIs):     Name                Estimate     SE           tStat       DF     pValue        'Intercept'           0.66105      0.25892      2.5531    111     0.012034     'InitWeight'        0.0031879    0.0013814      2.3078    111     0.022863     'PrgB'                0.36079      0.13139       2.746    111    0.0070394     'PrgC'              -0.033263      0.13117    -0.25358    111      0.80029     'PrgD'                0.11317      0.13132     0.86175    111      0.39068     'Week'                 0.1732     0.067454      2.5677    111     0.011567     'Week_PrgB'          0.038771     0.095394     0.40644    111      0.68521     'Week_PrgC'          0.030543     0.095394     0.32018    111      0.74944     'Week_PrgD'          0.033114     0.095394     0.34713    111      0.72915       Lower         Upper            0.14798       1.1741     0.00045067    0.0059252        0.10044      0.62113       -0.29319      0.22666       -0.14706       0.3734       0.039536      0.30686       -0.15026       0.2278       -0.15849      0.21957       -0.15592      0.22214  Random effects covariance parameters (95% CIs): Group: Subject (20 Levels)     Name1              Name2              Type          Estimate    Lower       'Intercept'        'Intercept'        'std'         0.18407     0.12281     'Week'             'Intercept'        'corr'        0.66841     0.21077     'Week'             'Week'             'std'         0.15033     0.11004       Upper       0.27587     0.88573     0.20537  Group: Error     Name             Estimate    Lower       Upper       'Res Std'        0.10261     0.087882    0.11981  

Examine la tabla de coeficientes de efectos fijos. La fila etiquetada tiene un'InitWeight'

<math display="block">
<mrow>
<mi>p</mi>
</mrow>
</math>
-valor de 0,0228, y la fila etiquetada tiene un'Week'
<math display="block">
<mrow>
<mi>p</mi>
</mrow>
</math>
-valor de 0,0115. Estos
<math display="block">
<mrow>
<mi>p</mi>
</mrow>
</math>
-valores indican efectos significativos de los pesos iniciales de los sujetos y el factor de tiempo en la cantidad de peso perdido. La pérdida de peso de los sujetos que están en el programa B es significativamente diferente en relación con la pérdida de peso de los sujetos que están en el programa A. Los límites inferior y superior de los parámetros de covarianza para los efectos aleatorios no incluyen cero, por lo que parecen significativos. También puede probar la importancia de los efectos aleatorios mediante el método.compare

Cargue los datos de ejemplo.

load flu

La matriz de conjuntos de datos tiene una variable y 10 variables para las tasas de gripe estimadas (en 9 regiones diferentes, estimadas a partir de búsquedas de Google®, además de una estimación Nacional de los centros para el control y la prevención de enfermedades, CDC).fluDate

Para ajustar un modelo de efectos mixtos lineales, donde las tasas de influenza son las respuestas, combine las nueve columnas correspondientes a las regiones en una matriz que tenga una variable de respuesta única, y una variable nominal, la estimación nacional, que muestra qué región cada estimación es de, y la variable de agrupamiento.FluRateRegionWtdILIDate

flu2 = stack(flu,2:10,'NewDataVarName','FluRate',...     'IndVarName','Region'); flu2.Date = nominal(flu2.Date);

Defina las matrices de diseño para un modelo de efectos mixtos lineales de interceptación aleatoria, donde la intercepción varía.Date El modelo correspondiente es

<math display="block">
<mrow>
<mrow>
<msub>
<mrow>
<mi>y</mi>
</mrow>
<mrow>
<mi>i</mi>
<mi>m</mi>
</mrow>
</msub>
</mrow>
<mo>=</mo>
<mrow>
<msub>
<mrow>
<mi>β</mi>
</mrow>
<mrow>
<mn>0</mn>
</mrow>
</msub>
</mrow>
<mo>+</mo>
<mrow>
<msub>
<mrow>
<mi>β</mi>
</mrow>
<mrow>
<mn>1</mn>
</mrow>
</msub>
</mrow>
<msub>
<mrow>
<mstyle mathvariant="normal">
<mrow>
<mrow>
<mi>W</mi>
<mi>t</mi>
<mi>d</mi>
<mi>I</mi>
<mi>L</mi>
<mi>I</mi>
</mrow>
</mrow>
</mstyle>
</mrow>
<mrow>
<mi>i</mi>
<mi>m</mi>
</mrow>
</msub>
<mo>+</mo>
<mrow>
<msub>
<mrow>
<mi>b</mi>
</mrow>
<mrow>
<mn>0</mn>
<mi>m</mi>
</mrow>
</msub>
</mrow>
<mo>+</mo>
<mrow>
<msub>
<mrow>
<mi>ε</mi>
</mrow>
<mrow>
<mi>i</mi>
<mi>m</mi>
</mrow>
</msub>
</mrow>
<mo>,</mo>
<mspace width="1em"></mspace>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
<mo>,</mo>
<mn>2</mn>
<mo>,</mo>
<mo>.</mo>
<mo>.</mo>
<mo>.</mo>
<mo>,</mo>
<mn>4</mn>
<mn>6</mn>
<mn>8</mn>
<mo>,</mo>
<mspace width="1em"></mspace>
<mi>m</mi>
<mo>=</mo>
<mn>1</mn>
<mo>,</mo>
<mn>2</mn>
<mo>,</mo>
<mo>.</mo>
<mo>.</mo>
<mo>.</mo>
<mo>,</mo>
<mn>5</mn>
<mn>2</mn>
<mo>,</mo>
</mrow>
</math>

Dónde

<math display="block">
<mrow>
<msub>
<mrow>
<mi>y</mi>
</mrow>
<mrow>
<mi>i</mi>
<mi>m</mi>
</mrow>
</msub>
</mrow>
</math>
es la observación
<math display="block">
<mrow>
<mi>i</mi>
</mrow>
</math>
para el nivel
<math display="block">
<mrow>
<mi>m</mi>
</mrow>
</math>
de la variable de agrupamiento,Date
<math display="block">
<mrow>
<msub>
<mrow>
<mi>b</mi>
</mrow>
<mrow>
<mn>0</mn>
<mi>m</mi>
</mrow>
</msub>
</mrow>
</math>
es el efecto aleatorio para el nivel
<math display="block">
<mrow>
<mi>m</mi>
</mrow>
</math>
de la variable de agrupación yDate
<math display="block">
<mrow>
<msub>
<mrow>
<mi>ε</mi>
</mrow>
<mrow>
<mi>i</mi>
<mi>m</mi>
</mrow>
</msub>
</mrow>
</math>
es el error de observación para la observación
<math display="block">
<mrow>
<mi>i</mi>
</mrow>
</math>
. El efecto aleatorio tiene la distribución previa,

<math display="block">
<mrow>
<msub>
<mrow>
<mi>b</mi>
</mrow>
<mrow>
<mn>0</mn>
<mi>m</mi>
</mrow>
</msub>
<mo></mo>
<mi>N</mi>
<mo stretchy="false">(</mo>
<mn>0</mn>
<mo>,</mo>
<msubsup>
<mrow>
<mi>σ</mi>
</mrow>
<mrow>
<mi>b</mi>
</mrow>
<mrow>
<mn>2</mn>
</mrow>
</msubsup>
<mo stretchy="false">)</mo>
<mo>,</mo>
</mrow>
</math>

y el término de error tiene la distribución,

<math display="block">
<mrow>
<msub>
<mrow>
<mi>ε</mi>
</mrow>
<mrow>
<mi>i</mi>
<mi>m</mi>
</mrow>
</msub>
<mo></mo>
<mi>N</mi>
<mo stretchy="false">(</mo>
<mn>0</mn>
<mo>,</mo>
<msup>
<mrow>
<mi>σ</mi>
</mrow>
<mrow>
<mn>2</mn>
</mrow>
</msup>
<mo stretchy="false">)</mo>
<mo>.</mo>
</mrow>
</math>

y = flu2.FluRate; X = [ones(468,1) flu2.WtdILI]; Z = [ones(468,1)]; G = flu2.Date;

Ajuste el modelo lineal de efectos mixtos.

lme = fitlmematrix(X,y,Z,G,'FixedEffectPredictors',{'Intercept','NationalRate'},... 'RandomEffectPredictors',{{'Intercept'}},'RandomEffectGroups',{'Date'})
lme =  Linear mixed-effects model fit by ML  Model information:     Number of observations             468     Fixed effects coefficients           2     Random effects coefficients         52     Covariance parameters                2  Formula:     y ~ Intercept + NationalRate + (Intercept | Date)  Model fit statistics:     AIC       BIC       LogLikelihood    Deviance     286.24    302.83    -139.12          278.24    Fixed effects coefficients (95% CIs):     Name                  Estimate    SE          tStat     DF     pValue         'Intercept'           0.16385     0.057525    2.8484    466     0.0045885     'NationalRate'         0.7236     0.032219    22.459    466    3.0502e-76       Lower       Upper       0.050813    0.27689      0.66028    0.78691  Random effects covariance parameters (95% CIs): Group: Date (52 Levels)     Name1              Name2              Type         Estimate    Lower       'Intercept'        'Intercept'        'std'        0.17146     0.13227       Upper       0.22226  Group: Error     Name             Estimate    Lower      Upper       'Res Std'        0.30201     0.28217    0.32324  

Los límites de confianza de la desviación estándar del término de efectos aleatorios

<math display="block">
<mrow>
<msub>
<mrow>
<mi>σ</mi>
</mrow>
<mrow>
<mi>b</mi>
</mrow>
</msub>
</mrow>
</math>
, no incluya cero (0,13227, 0,22226), lo que indica que el término de efectos aleatorios es significativo. También puede probar la importancia de los efectos aleatorios usando el método.compare

El valor estimado de una observación es la suma de los valores de efectos fijos y el valor del efecto aleatorio en el nivel variable de agrupamiento correspondiente a esa observación. Por ejemplo, la tasa de gripe estimada para la observación 28

<math display="block">
<mrow>
<mtable columnalign="left">
<mtr>
<mtd>
<mrow>
<mrow>
<msub>
<mrow>
<munderover accent="true">
<mrow>
<mi>y</mi>
</mrow>
<mrow></mrow>
<mrow>
<mo>ˆ</mo>
</mrow>
</munderover>
</mrow>
<mrow>
<mn>2</mn>
<mn>8</mn>
</mrow>
</msub>
</mrow>
<mo>=</mo>
<mrow>
<msub>
<mrow>
<munderover accent="true">
<mrow>
<mi>β</mi>
</mrow>
<mrow></mrow>
<mrow>
<mo>ˆ</mo>
</mrow>
</munderover>
</mrow>
<mrow>
<mn>0</mn>
</mrow>
</msub>
</mrow>
<mo>+</mo>
<mrow>
<msub>
<mrow>
<munderover accent="true">
<mrow>
<mi>β</mi>
</mrow>
<mrow></mrow>
<mrow>
<mo>ˆ</mo>
</mrow>
</munderover>
</mrow>
<mrow>
<mn>1</mn>
</mrow>
</msub>
</mrow>
<msub>
<mrow>
<mstyle mathvariant="normal">
<mrow>
<mrow>
<mi>W</mi>
<mi>t</mi>
<mi>d</mi>
<mi>I</mi>
<mi>L</mi>
<mi>I</mi>
</mrow>
</mrow>
</mstyle>
</mrow>
<mrow>
<mn>2</mn>
<mn>8</mn>
</mrow>
</msub>
<mo>+</mo>
<mrow>
<msub>
<mrow>
<munderover accent="true">
<mrow>
<mi>b</mi>
</mrow>
<mrow></mrow>
<mrow>
<mo>ˆ</mo>
</mrow>
</munderover>
</mrow>
<mrow>
<mn>1</mn>
<mn>0</mn>
<mo>/</mo>
<mn>3</mn>
<mn>0</mn>
<mo>/</mo>
<mn>2</mn>
<mn>0</mn>
<mn>0</mn>
<mn>5</mn>
</mrow>
</msub>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mspace width="1em"></mspace>
<mspace width="1em"></mspace>
<mspace width="1em"></mspace>
<mspace width="1em"></mspace>
<mspace width="1em"></mspace>
<mo>=</mo>
<mn>0</mn>
<mo>.</mo>
<mn>1</mn>
<mn>6</mn>
<mn>3</mn>
<mn>9</mn>
<mo>+</mo>
<mn>0</mn>
<mo>.</mo>
<mn>7</mn>
<mn>2</mn>
<mn>3</mn>
<mn>6</mn>
<mo>*</mo>
<mo stretchy="false">(</mo>
<mn>1</mn>
<mo>.</mo>
<mn>3</mn>
<mn>4</mn>
<mn>3</mn>
<mo stretchy="false">)</mo>
<mo>+</mo>
<mn>0</mn>
<mo>.</mo>
<mn>3</mn>
<mn>3</mn>
<mn>1</mn>
<mn>8</mn>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mspace width="1em"></mspace>
<mspace width="1em"></mspace>
<mspace width="1em"></mspace>
<mspace width="1em"></mspace>
<mspace width="1em"></mspace>
<mo>=</mo>
<mn>1</mn>
<mo>.</mo>
<mn>4</mn>
<mn>6</mn>
<mn>7</mn>
<mn>4</mn>
<mn>9</mn>
<mo>,</mo>
</mrow>
</mtd>
</mtr>
</mtable>
</mrow>
</math>

Dónde

<math display="block">
<mrow>
<munderover accent="true">
<mrow>
<mi>b</mi>
</mrow>
<mrow></mrow>
<mrow>
<mo>ˆ</mo>
</mrow>
</munderover>
</mrow>
</math>
es el mejor predictor lineal imparcial (BLUP) de los efectos aleatorios para la intercepción. Puede calcular este valor de la siguiente manera.

beta = fixedEffects(lme); [~,~,STATS] = randomEffects(lme); % compute the random effects statistics STATS STATS.Level = nominal(STATS.Level); y_hat = beta(1) + beta(2)*flu2.WtdILI(28) + STATS.Estimate(STATS.Level=='10/30/2005')
y_hat = 1.4674 

Puede mostrar simplemente el valor ajustado utilizando el método.fitted(lme)

F = fitted(lme); F(28)
ans = 1.4674 

Cargue los datos de ejemplo.

load(fullfile(matlabroot,'examples','stats','shift.mat'));

Los datos muestran las desviaciones de la característica de calidad objetivo medida a partir de los productos que cinco operadores fabrican durante tres turnos: mañana, noche y noche. Este es un diseño de bloque aleatorio, donde los operadores son los bloques. El experimento está diseñado para estudiar el impacto del tiempo de cambio en el rendimiento. La medida de rendimiento es la desviación de las características de calidad del valor objetivo. Se trata de datos simulados.

Defina las matrices de diseño para un modelo lineal de efectos mixtos con una intersección aleatoria agrupada por operador y cambie como efectos fijos. Usa los contrastes. contrastes significan que los coeficientes suman 0.'effects''effects' Debe crear dos variables codificadas de contraste en la matriz de diseño de efectos fijos y, cuandoX1X2

<math display="block">
<mrow>
<mrow>
<mtext>Shift</mtext>
<mtext>_</mtext>
<mtext>Evening</mtext>
</mrow>
<mo>=</mo>
<mrow>
<mo>{</mo>
<mtable columnalign="left left">
<mtr>
<mtd>
<mrow>
<mn>0</mn>
<mo>,</mo>
</mrow>
</mtd>
<mtd>
<mrow>
<mrow>
<mtext>if Morning</mtext>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mn>1</mn>
<mo>,</mo>
</mrow>
</mtd>
<mtd>
<mrow>
<mrow>
<mtext>if Evening</mtext>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mo>-</mo>
<mn>1</mn>
<mo>,</mo>
</mrow>
</mtd>
<mtd>
<mrow>
<mrow>
<mtext>if Night</mtext>
</mrow>
</mrow>
</mtd>
</mtr>
</mtable>
</mrow>
</mrow>
</math>

<math display="block">
<mrow>
<mrow>
<mtext>Shift</mtext>
<mtext>_</mtext>
<mtext>Morning</mtext>
</mrow>
<mo>=</mo>
<mrow>
<mo>{</mo>
<mtable columnalign="left left">
<mtr>
<mtd>
<mrow>
<mn>1</mn>
<mo>,</mo>
</mrow>
</mtd>
<mtd>
<mrow>
<mrow>
<mtext>if Morning</mtext>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mn>0</mn>
<mo>,</mo>
</mrow>
</mtd>
<mtd>
<mrow>
<mrow>
<mtext>if Evening</mtext>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mo>-</mo>
<mn>1</mn>
<mo>,</mo>
</mrow>
</mtd>
<mtd>
<mrow>
<mrow>
<mtext>if Night</mtext>
</mrow>
</mrow>
</mtd>
</mtr>
</mtable>
</mrow>
</mrow>
</math>

El modelo corresponde a

<math display="block">
<mrow>
<mtable columnalign="left right left">
<mtr>
<mtd>
<mrow>
<mrow>
<mtext>Morning Shift: </mtext>
</mrow>
</mrow>
</mtd>
<mtd>
<mrow>
<msub>
<mrow>
<mtext>QCDev</mtext>
</mrow>
<mrow>
<mi>i</mi>
<mi>m</mi>
</mrow>
</msub>
</mrow>
</mtd>
<mtd>
<mrow>
<mo>=</mo>
<msub>
<mrow>
<mi>β</mi>
</mrow>
<mrow>
<mn>0</mn>
</mrow>
</msub>
<mo>+</mo>
<msub>
<mrow>
<mi>β</mi>
</mrow>
<mrow>
<mn>2</mn>
</mrow>
</msub>
<msub>
<mrow>
<mtext>Shift</mtext>
<mtext>_</mtext>
<mtext>Morning</mtext>
</mrow>
<mrow>
<mi>i</mi>
</mrow>
</msub>
<mo>+</mo>
<msub>
<mrow>
<mi>b</mi>
</mrow>
<mrow>
<mn>0</mn>
<mi>m</mi>
</mrow>
</msub>
<mo>+</mo>
<msub>
<mrow>
<mi>ϵ</mi>
</mrow>
<mrow>
<mi>i</mi>
<mi>m</mi>
</mrow>
</msub>
<mo>,</mo>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mrow>
<mtext>Evening Shift: </mtext>
</mrow>
</mrow>
</mtd>
<mtd>
<mrow>
<msub>
<mrow>
<mtext>QCDev</mtext>
</mrow>
<mrow>
<mi>i</mi>
<mi>m</mi>
</mrow>
</msub>
</mrow>
</mtd>
<mtd>
<mrow>
<mo>=</mo>
<msub>
<mrow>
<mi>β</mi>
</mrow>
<mrow>
<mn>0</mn>
</mrow>
</msub>
<mo>+</mo>
<msub>
<mrow>
<mi>β</mi>
</mrow>
<mrow>
<mn>1</mn>
</mrow>
</msub>
<msub>
<mrow>
<mtext>Shift</mtext>
<mtext>_</mtext>
<mtext>Evening</mtext>
</mrow>
<mrow>
<mi>i</mi>
</mrow>
</msub>
<mo>+</mo>
<msub>
<mrow>
<mi>b</mi>
</mrow>
<mrow>
<mn>0</mn>
<mi>m</mi>
</mrow>
</msub>
<mo>+</mo>
<msub>
<mrow>
<mi>ϵ</mi>
</mrow>
<mrow>
<mi>i</mi>
<mi>m</mi>
</mrow>
</msub>
<mo>,</mo>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mrow>
<mtext>Night Shift: </mtext>
</mrow>
</mrow>
</mtd>
<mtd>
<mrow>
<msub>
<mrow>
<mtext>QCDev</mtext>
</mrow>
<mrow>
<mi>i</mi>
<mi>m</mi>
</mrow>
</msub>
</mrow>
</mtd>
<mtd>
<mrow>
<mo>=</mo>
<msub>
<mrow>
<mi>β</mi>
</mrow>
<mrow>
<mn>0</mn>
</mrow>
</msub>
<mo>-</mo>
<msub>
<mrow>
<mi>β</mi>
</mrow>
<mrow>
<mn>1</mn>
</mrow>
</msub>
<msub>
<mrow>
<mtext>Shift</mtext>
<mtext>_</mtext>
<mtext>Evening</mtext>
</mrow>
<mrow>
<mi>i</mi>
</mrow>
</msub>
<mo>-</mo>
<msub>
<mrow>
<mi>β</mi>
</mrow>
<mrow>
<mn>2</mn>
</mrow>
</msub>
<msub>
<mrow>
<mtext>Shift</mtext>
<mtext>_</mtext>
<mtext>Morning</mtext>
</mrow>
<mrow>
<mi>i</mi>
</mrow>
</msub>
<mo>+</mo>
<msub>
<mrow>
<mi>b</mi>
</mrow>
<mrow>
<mn>0</mn>
<mi>m</mi>
</mrow>
</msub>
<mo>+</mo>
<msub>
<mrow>
<mi>ϵ</mi>
</mrow>
<mrow>
<mi>i</mi>
<mi>m</mi>
</mrow>
</msub>
<mo>,</mo>
</mrow>
</mtd>
</mtr>
</mtable>
</mrow>
</math>

Dónde

<math display="block">
<mrow>
<mi>i</mi>
</mrow>
</math>
representa las observaciones, y
<math display="block">
<mrow>
<mi>m</mi>
</mrow>
</math>
representa a los operadores,
<math display="block">
<mrow>
<mi>i</mi>
</mrow>
</math>
= 1, 2,..., 15 y
<math display="block">
<mrow>
<mi>m</mi>
</mrow>
</math>
= 1, 2,..., 5. Los efectos aleatorios y el error de observación tienen las siguientes distribuciones:

<math display="block">
<mrow>
<msub>
<mrow>
<mi>b</mi>
</mrow>
<mrow>
<mn>0</mn>
<mi>m</mi>
</mrow>
</msub>
<mo></mo>
<mi>N</mi>
<mo stretchy="false">(</mo>
<mn>0</mn>
<mo>,</mo>
<msubsup>
<mrow>
<mi>σ</mi>
</mrow>
<mrow>
<mi>b</mi>
</mrow>
<mrow>
<mn>2</mn>
</mrow>
</msubsup>
<mo stretchy="false">)</mo>
</mrow>
</math>

Y

<math display="block">
<mrow>
<msub>
<mrow>
<mi>ε</mi>
</mrow>
<mrow>
<mi>i</mi>
<mi>m</mi>
</mrow>
</msub>
<mo></mo>
<mi>N</mi>
<mo stretchy="false">(</mo>
<mn>0</mn>
<mo>,</mo>
<msup>
<mrow>
<mi>σ</mi>
</mrow>
<mrow>
<mn>2</mn>
</mrow>
</msup>
<mo stretchy="false">)</mo>
<mo>.</mo>
</mrow>
</math>

S = shift.Shift; X1 = (S=='Morning') - (S=='Night'); X2 = (S=='Evening') - (S=='Night'); X = [ones(15,1), X1, X2]; y = shift.QCDev; Z = ones(15,1); G = shift.Operator;

Ajuste un modelo lineal de efectos mixtos utilizando las matrices de diseño especificadas y el método de máxima verosimilitud restringido.

lme = fitlmematrix(X,y,Z,G,'FitMethod','REML','FixedEffectPredictors',.... {'Intercept','S_Morning','S_Evening'},'RandomEffectPredictors',{{'Intercept'}},... 'RandomEffectGroups',{'Operator'},'DummyVarCoding','effects')
lme =  Linear mixed-effects model fit by REML  Model information:     Number of observations              15     Fixed effects coefficients           3     Random effects coefficients          5     Covariance parameters                2  Formula:     y ~ Intercept + S_Morning + S_Evening + (Intercept | Operator)  Model fit statistics:     AIC       BIC       LogLikelihood    Deviance     58.913    61.337    -24.456          48.913    Fixed effects coefficients (95% CIs):     Name               Estimate    SE         tStat      DF    pValue        'Intercept'          3.6525    0.94109     3.8812    12    0.0021832     'S_Morning'        -0.91973    0.31206    -2.9473    12     0.012206     'S_Evening'        -0.53293    0.31206    -1.7078    12      0.11339       Lower      Upper         1.6021       5.703     -1.5997    -0.23981     -1.2129     0.14699  Random effects covariance parameters (95% CIs): Group: Operator (5 Levels)     Name1              Name2              Type         Estimate    Lower       'Intercept'        'Intercept'        'std'        2.0457      0.98207       Upper      4.2612  Group: Error     Name             Estimate    Lower      Upper     'Res Std'        0.85462     0.52357    1.395  

Calcule las mejores estimaciones de predictores no sesgados lineales (BLUP) de efectos aleatorios.

B = randomEffects(lme)
B = 5×1

    0.5775
    1.1757
   -2.1715
    2.3655
   -1.9472

La desviación estimada de las características de calidad objetivo para el tercer operador que trabaja el turno de noche es

<math display="block">
<mrow>
<mtable columnalign="left">
<mtr>
<mtd>
<mrow>
<mrow>
<msub>
<mrow>
<munderover accent="true">
<mrow>
<mi>y</mi>
</mrow>
<mrow></mrow>
<mrow>
<mo>ˆ</mo>
</mrow>
</munderover>
</mrow>
<mrow>
<mrow>
<mtext>Evening</mtext>
</mrow>
<mo>,</mo>
<mrow>
<mtext>Operator</mtext>
</mrow>
<mn>3</mn>
</mrow>
</msub>
</mrow>
<mo>=</mo>
<mrow>
<msub>
<mrow>
<munderover accent="true">
<mrow>
<mi>β</mi>
</mrow>
<mrow></mrow>
<mrow>
<mo>ˆ</mo>
</mrow>
</munderover>
</mrow>
<mrow>
<mn>0</mn>
</mrow>
</msub>
</mrow>
<mo>+</mo>
<mrow>
<msub>
<mrow>
<munderover accent="true">
<mrow>
<mi>β</mi>
</mrow>
<mrow></mrow>
<mrow>
<mo>ˆ</mo>
</mrow>
</munderover>
</mrow>
<mrow>
<mn>1</mn>
</mrow>
</msub>
</mrow>
<mrow>
<mtext>Shift</mtext>
<mtext>_</mtext>
<mtext>Evening</mtext>
</mrow>
<mo>+</mo>
<mrow>
<msub>
<mrow>
<munderover accent="true">
<mrow>
<mi>b</mi>
</mrow>
<mrow></mrow>
<mrow>
<mo>ˆ</mo>
</mrow>
</munderover>
</mrow>
<mrow>
<mn>0</mn>
<mn>3</mn>
</mrow>
</msub>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mspace width="1em"></mspace>
<mspace width="1em"></mspace>
<mspace width="1em"></mspace>
<mspace width="1em"></mspace>
<mspace width="1em"></mspace>
<mspace width="1em"></mspace>
<mspace width="1em"></mspace>
<mspace width="0.2777777777777778em"></mspace>
<mo>=</mo>
<mn>3</mn>
<mo>.</mo>
<mn>6</mn>
<mn>5</mn>
<mn>2</mn>
<mn>5</mn>
<mo>-</mo>
<mn>0</mn>
<mo>.</mo>
<mn>5</mn>
<mn>3</mn>
<mn>2</mn>
<mn>9</mn>
<mn>3</mn>
<mo>-</mo>
<mn>2</mn>
<mo>.</mo>
<mn>1</mn>
<mn>7</mn>
<mn>1</mn>
<mn>5</mn>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mspace width="1em"></mspace>
<mspace width="1em"></mspace>
<mspace width="1em"></mspace>
<mspace width="1em"></mspace>
<mspace width="1em"></mspace>
<mspace width="1em"></mspace>
<mspace width="1em"></mspace>
<mspace width="0.2777777777777778em"></mspace>
<mo>=</mo>
<mn>0</mn>
<mo>.</mo>
<mn>9</mn>
<mn>4</mn>
<mn>8</mn>
<mn>0</mn>
<mn>7</mn>
<mo>.</mo>
</mrow>
</mtd>
</mtr>
</mtable>
</mrow>
</math>

También puede mostrar este valor de la siguiente manera.

F = fitted(lme); F(shift.Shift=='Evening' & shift.Operator=='3')
ans = 0.9481 

Cargue los datos de ejemplo.

load carbig

Ajuste un modelo lineal de efectos mixtos para millas por galón (MPG), con efectos fijos para la aceleración y la potencia, y efecto aleatorio no correlacionado para interceptar y aceleración agrupados por el año del modelo. Este modelo corresponde a

<math display="block">
<mrow>
<msub>
<mrow>
<mstyle mathvariant="normal">
<mrow>
<mrow>
<mi>M</mi>
<mi>P</mi>
<mi>G</mi>
</mrow>
</mrow>
</mstyle>
</mrow>
<mrow>
<mi>i</mi>
<mi>m</mi>
</mrow>
</msub>
<mo>=</mo>
<mrow>
<msub>
<mrow>
<mi>β</mi>
</mrow>
<mrow>
<mn>0</mn>
</mrow>
</msub>
</mrow>
<mo>+</mo>
<mrow>
<msub>
<mrow>
<mi>β</mi>
</mrow>
<mrow>
<mn>1</mn>
</mrow>
</msub>
</mrow>
<msub>
<mrow>
<mstyle mathvariant="normal">
<mrow>
<mrow>
<mi>A</mi>
<mi>c</mi>
<mi>c</mi>
</mrow>
</mrow>
</mstyle>
</mrow>
<mrow>
<mi>i</mi>
</mrow>
</msub>
<mo>+</mo>
<mrow>
<msub>
<mrow>
<mi>β</mi>
</mrow>
<mrow>
<mn>2</mn>
</mrow>
</msub>
</mrow>
<mrow>
<mstyle mathvariant="normal">
<mrow>
<mrow>
<mi>H</mi>
<mi>P</mi>
</mrow>
</mrow>
</mstyle>
</mrow>
<mo>+</mo>
<mrow>
<msub>
<mrow>
<mi>b</mi>
</mrow>
<mrow>
<mn>0</mn>
<mi>m</mi>
</mrow>
</msub>
</mrow>
<mo>+</mo>
<msub>
<mrow>
<msub>
<mrow>
<mi>b</mi>
</mrow>
<mrow>
<mn>1</mn>
</mrow>
</msub>
</mrow>
<mrow>
<mi>m</mi>
</mrow>
</msub>
<msub>
<mrow>
<mstyle mathvariant="normal">
<mrow>
<mrow>
<mi>A</mi>
<mi>c</mi>
<mi>c</mi>
</mrow>
</mrow>
</mstyle>
</mrow>
<mrow>
<mi>i</mi>
<mi>m</mi>
</mrow>
</msub>
<mo>+</mo>
<mrow>
<msub>
<mrow>
<mi>ε</mi>
</mrow>
<mrow>
<mi>i</mi>
<mi>m</mi>
</mrow>
</msub>
</mrow>
<mo>,</mo>
<mspace width="1em"></mspace>
<mi>m</mi>
<mo>=</mo>
<mn>1</mn>
<mo>,</mo>
<mn>2</mn>
<mo>,</mo>
<mn>3</mn>
<mo>,</mo>
</mrow>
</math>

con los términos de efectos aleatorios que tienen las siguientes distribuciones previas:

<math display="block">
<mrow>
<msub>
<mrow>
<mi>b</mi>
</mrow>
<mrow>
<mn>0</mn>
<mi>m</mi>
</mrow>
</msub>
<mo></mo>
<mi>N</mi>
<mo stretchy="false">(</mo>
<mn>0</mn>
<mo>,</mo>
<msubsup>
<mrow>
<mi>σ</mi>
</mrow>
<mrow>
<mn>0</mn>
</mrow>
<mrow>
<mn>2</mn>
</mrow>
</msubsup>
<mo stretchy="false">)</mo>
<mo>,</mo>
</mrow>
</math>

<math display="block">
<mrow>
<msub>
<mrow>
<mi>b</mi>
</mrow>
<mrow>
<mn>1</mn>
<mi>m</mi>
</mrow>
</msub>
<mo></mo>
<mi>N</mi>
<mo stretchy="false">(</mo>
<mn>0</mn>
<mo>,</mo>
<msubsup>
<mrow>
<mi>σ</mi>
</mrow>
<mrow>
<mn>1</mn>
</mrow>
<mrow>
<mn>2</mn>
</mrow>
</msubsup>
<mo stretchy="false">)</mo>
<mo>,</mo>
</mrow>
</math>

Dónde

<math display="block">
<mrow>
<mi>m</mi>
</mrow>
</math>
representa el año del modelo.

En primer lugar, prepare las matrices de diseño para ajustar el modelo lineal de efectos mixtos.

X = [ones(406,1) Acceleration Horsepower]; Z = {ones(406,1),Acceleration}; G = {Model_Year,Model_Year}; Model_Year = nominal(Model_Year);

Ahora, ajuste el modelo usando las matrices de diseño definidas y las variables de agrupamiento.fitlmematrix

lme = fitlmematrix(X,MPG,Z,G,'FixedEffectPredictors',.... {'Intercept','Acceleration','Horsepower'},'RandomEffectPredictors',... {{'Intercept'},{'Acceleration'}},'RandomEffectGroups',{'Model_Year','Model_Year'})
lme =  Linear mixed-effects model fit by ML  Model information:     Number of observations             392     Fixed effects coefficients           3     Random effects coefficients         26     Covariance parameters                3  Formula:     Linear Mixed Formula with 4 predictors.  Model fit statistics:     AIC       BIC       LogLikelihood    Deviance     2194.5    2218.3    -1091.3          2182.5    Fixed effects coefficients (95% CIs):     Name                  Estimate    SE           tStat      DF     pValue         'Intercept'             49.839       2.0518     24.291    389    5.6168e-80     'Acceleration'        -0.58565      0.10846    -5.3995    389    1.1652e-07     'Horsepower'          -0.16534    0.0071227    -23.213    389    1.9755e-75       Lower       Upper          45.806      53.873      -0.7989     -0.3724     -0.17934    -0.15133  Random effects covariance parameters (95% CIs): Group: Model_Year (13 Levels)     Name1              Name2              Type         Estimate      Lower     'Intercept'        'Intercept'        'std'        8.3495e-07    NaN         Upper     NaN    Group: Model_Year (13 Levels)     Name1                 Name2                 Type         Estimate    Lower       'Acceleration'        'Acceleration'        'std'        0.18783     0.12523       Upper       0.28172  Group: Error     Name             Estimate    Lower     Upper      'Res Std'        3.7258      3.4698    4.0007  

Tenga en cuenta que los parámetros de covarianza de efectos aleatorios para la interceptación y la aceleración son independientes en la pantalla. La desviación estándar del efecto aleatorio para la intercepción no parece significativa.

Vuelva a ajustar el modelo con efectos aleatorios potencialmente correlacionados para interceptar y acelerar. En este caso, los términos de efectos aleatorios tienen esta distribución previa

<math display="block">
<mrow>
<mrow>
<msub>
<mrow>
<mi>b</mi>
</mrow>
<mrow>
<mi>m</mi>
</mrow>
</msub>
</mrow>
<mo>=</mo>
<mrow>
<mo>(</mo>
<mtable columnalign="left">
<mtr>
<mtd>
<mrow>
<mrow>
<msub>
<mrow>
<mi>b</mi>
</mrow>
<mrow>
<mn>0</mn>
<mi>m</mi>
</mrow>
</msub>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mrow>
<msub>
<mrow>
<mi>b</mi>
</mrow>
<mrow>
<mn>1</mn>
<mi>m</mi>
</mrow>
</msub>
</mrow>
</mrow>
</mtd>
</mtr>
</mtable>
<mo>)</mo>
</mrow>
<mo></mo>
<mi>N</mi>
<mrow>
<mo>(</mo>
<mrow>
<mn>0</mn>
<mo>,</mo>
<mrow>
<mo>(</mo>
<mrow>
<mtable columnalign="center center center center center center center center center center center center center center center center center center center center">
<mtr>
<mtd>
<mrow>
<mrow>
<msubsup>
<mrow>
<mi>σ</mi>
</mrow>
<mrow>
<mn>0</mn>
</mrow>
<mrow>
<mn>2</mn>
</mrow>
</msubsup>
</mrow>
</mrow>
</mtd>
<mtd>
<mrow>
<mrow>
<mrow>
<msub>
<mrow>
<mi>σ</mi>
</mrow>
<mrow>
<mn>0</mn>
<mo>,</mo>
<mn>1</mn>
</mrow>
</msub>
</mrow>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mrow>
<mrow>
<msub>
<mrow>
<mi>σ</mi>
</mrow>
<mrow>
<mn>0</mn>
<mo>,</mo>
<mn>1</mn>
</mrow>
</msub>
</mrow>
</mrow>
</mrow>
</mtd>
<mtd>
<mrow>
<mrow>
<msubsup>
<mrow>
<mi>σ</mi>
</mrow>
<mrow>
<mn>1</mn>
</mrow>
<mrow>
<mn>2</mn>
</mrow>
</msubsup>
</mrow>
</mrow>
</mtd>
</mtr>
</mtable>
</mrow>
<mo>)</mo>
</mrow>
</mrow>
<mo>)</mo>
</mrow>
<mo>,</mo>
</mrow>
</math>

Dónde

<math display="block">
<mrow>
<mi>m</mi>
</mrow>
</math>
representa el año del modelo.

En primer lugar, prepare la matriz de diseño de efectos aleatorios y la variable de agrupación.

Z = [ones(406,1) Acceleration]; G = Model_Year;  lme = fitlmematrix(X,MPG,Z,G,'FixedEffectPredictors',.... {'Intercept','Acceleration','Horsepower'},'RandomEffectPredictors',... {{'Intercept','Acceleration'}},'RandomEffectGroups',{'Model_Year'})
lme =  Linear mixed-effects model fit by ML  Model information:     Number of observations             392     Fixed effects coefficients           3     Random effects coefficients         26     Covariance parameters                4  Formula:     Linear Mixed Formula with 4 predictors.  Model fit statistics:     AIC       BIC       LogLikelihood    Deviance     2193.5    2221.3    -1089.7          2179.5    Fixed effects coefficients (95% CIs):     Name                  Estimate    SE           tStat      DF     pValue         'Intercept'             50.133       2.2652     22.132    389    7.7727e-71     'Acceleration'        -0.58327      0.13394    -4.3545    389    1.7075e-05     'Horsepower'          -0.16954    0.0072609     -23.35    389     5.188e-76       Lower       Upper          45.679      54.586     -0.84661    -0.31992     -0.18382    -0.15527  Random effects covariance parameters (95% CIs): Group: Model_Year (13 Levels)     Name1                 Name2                 Type          Estimate     'Intercept'           'Intercept'           'std'           3.3475     'Acceleration'        'Intercept'           'corr'        -0.87971     'Acceleration'        'Acceleration'        'std'          0.33789       Lower       Upper          1.2862      8.7119     -0.98501    -0.29676       0.1825     0.62558  Group: Error     Name             Estimate    Lower     Upper      'Res Std'        3.6874      3.4298    3.9644  

Tenga en cuenta que los parámetros de covarianza de efectos aleatorios para la interceptación y la aceleración están juntos en la pantalla, con una adición de la correlación entre la intercepción y la aceleración. Los intervalos de confianza para las desviaciones estándar y la correlación entre los efectos aleatorios para la interceptación y la aceleración no incluyen 0s, por lo tanto, parecen significativos. Puede comparar estos dos modelos utilizando el método.compare

Cargue los datos de ejemplo.

load(fullfile(matlabroot,'examples','stats','weight.mat'));

contiene datos de un estudio longitudinal, donde 20 sujetos son asignados aleatoriamente 4 programas de ejercicio, y su pérdida de peso se registra en seis períodos de tiempo de 2 semanas.weight Se trata de datos simulados.

Definir y como variables categóricas.SubjectProgram

Subject = nominal(Subject); Program = nominal(Program);

Cree las matrices de diseño para un modelo lineal de efectos mixtos, con el peso inicial, el tipo de programa y la semana como efectos fijos.

D = dummyvar(Program); X = [ones(120,1), InitialWeight, D(:,2:4), Week]; Z = [ones(120,1) Week]; G = Subject;

Este modelo corresponde a

<math display="block">
<mrow>
<mtable columnalign="left">
<mtr>
<mtd>
<mrow>
<mrow>
<msub>
<mrow>
<mi>y</mi>
</mrow>
<mrow>
<mi>i</mi>
<mi>m</mi>
</mrow>
</msub>
</mrow>
<mo>=</mo>
<mrow>
<msub>
<mrow>
<mi>β</mi>
</mrow>
<mrow>
<mn>0</mn>
</mrow>
</msub>
</mrow>
<mo>+</mo>
<mrow>
<msub>
<mrow>
<mi>β</mi>
</mrow>
<mrow>
<mn>1</mn>
</mrow>
</msub>
</mrow>
<mrow>
<mstyle mathvariant="normal">
<mrow>
<mrow>
<mi>I</mi>
</mrow>
</mrow>
</mstyle>
</mrow>
<mrow>
<msub>
<mrow>
<mstyle mathvariant="normal">
<mrow>
<mrow>
<mi>W</mi>
</mrow>
</mrow>
</mstyle>
</mrow>
<mrow>
<mi>i</mi>
</mrow>
</msub>
</mrow>
<mo>+</mo>
<mrow>
<msub>
<mrow>
<mi>β</mi>
</mrow>
<mrow>
<mn>2</mn>
</mrow>
</msub>
</mrow>
<mrow>
<mstyle mathvariant="normal">
<mrow>
<mrow>
<mi>W</mi>
<mi>e</mi>
<mi>e</mi>
</mrow>
</mrow>
</mstyle>
</mrow>
<mrow>
<msub>
<mrow>
<mstyle mathvariant="normal">
<mrow>
<mrow>
<mi>k</mi>
</mrow>
</mrow>
</mstyle>
</mrow>
<mrow>
<mi>i</mi>
</mrow>
</msub>
</mrow>
<mo>+</mo>
<mrow>
<msub>
<mrow>
<mi>β</mi>
</mrow>
<mrow>
<mn>3</mn>
</mrow>
</msub>
</mrow>
<mi>I</mi>
<mrow>
<msub>
<mrow>
<mo>[</mo>
<mrow>
<mrow>
<mstyle mathvariant="normal">
<mrow>
<mrow>
<mi>P</mi>
<mi>B</mi>
</mrow>
</mrow>
</mstyle>
</mrow>
</mrow>
<mo>]</mo>
</mrow>
<mrow>
<mi>i</mi>
</mrow>
</msub>
</mrow>
<mo>+</mo>
<mrow>
<msub>
<mrow>
<mi>β</mi>
</mrow>
<mrow>
<mn>4</mn>
</mrow>
</msub>
</mrow>
<mi>I</mi>
<mrow>
<msub>
<mrow>
<mo>[</mo>
<mrow>
<mrow>
<mstyle mathvariant="normal">
<mrow>
<mrow>
<mi>P</mi>
<mi>C</mi>
</mrow>
</mrow>
</mstyle>
</mrow>
</mrow>
<mo>]</mo>
</mrow>
<mrow>
<mi>i</mi>
</mrow>
</msub>
</mrow>
<mo>+</mo>
<mrow>
<msub>
<mrow>
<mi>β</mi>
</mrow>
<mrow>
<mn>5</mn>
</mrow>
</msub>
</mrow>
<mi>I</mi>
<mrow>
<msub>
<mrow>
<mo>[</mo>
<mrow>
<mrow>
<mstyle mathvariant="normal">
<mrow>
<mrow>
<mi>P</mi>
<mi>D</mi>
</mrow>
</mrow>
</mstyle>
</mrow>
</mrow>
<mo>]</mo>
</mrow>
<mrow>
<mi>i</mi>
</mrow>
</msub>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mspace width="1em"></mspace>
<mspace width="1em"></mspace>
<mo>+</mo>
<mi>b</mi>
<msub>
<mrow></mrow>
<mrow>
<mn>0</mn>
<mi>m</mi>
</mrow>
</msub>
<mo>+</mo>
<mspace width="0.16666666666666666em"></mspace>
<mrow>
<msub>
<mrow>
<mi>b</mi>
</mrow>
<mrow>
<mn>1</mn>
<mi>m</mi>
</mrow>
</msub>
</mrow>
<mrow>
<mstyle mathvariant="normal">
<mrow>
<mrow>
<mi>W</mi>
<mi>e</mi>
<mi>e</mi>
<mi>k</mi>
</mrow>
</mrow>
</mstyle>
</mrow>
<mrow>
<msub>
<mrow>
<mstyle mathvariant="normal">
<mrow>
<mrow>
<mn>2</mn>
</mrow>
</mrow>
</mstyle>
</mrow>
<mrow>
<mi>i</mi>
<mi>m</mi>
</mrow>
</msub>
</mrow>
<mo>+</mo>
<mrow>
<msub>
<mrow>
<mi>b</mi>
</mrow>
<mrow>
<mn>2</mn>
<mi>m</mi>
</mrow>
</msub>
</mrow>
<mrow>
<mstyle mathvariant="normal">
<mrow>
<mrow>
<mi>W</mi>
<mi>e</mi>
<mi>e</mi>
<mi>k</mi>
</mrow>
</mrow>
</mstyle>
</mrow>
<mrow>
<msub>
<mrow>
<mstyle mathvariant="normal">
<mrow>
<mrow>
<mn>4</mn>
</mrow>
</mrow>
</mstyle>
</mrow>
<mrow>
<mi>i</mi>
<mi>m</mi>
</mrow>
</msub>
</mrow>
<mo>+</mo>
<mrow>
<msub>
<mrow>
<mi>b</mi>
</mrow>
<mrow>
<mn>3</mn>
<mi>m</mi>
</mrow>
</msub>
</mrow>
<mrow>
<mstyle mathvariant="normal">
<mrow>
<mrow>
<mi>W</mi>
<mi>e</mi>
<mi>e</mi>
<mi>k</mi>
</mrow>
</mrow>
</mstyle>
</mrow>
<mrow>
<msub>
<mrow>
<mstyle mathvariant="normal">
<mrow>
<mrow>
<mn>6</mn>
</mrow>
</mrow>
</mstyle>
</mrow>
<mrow>
<mi>i</mi>
<mi>m</mi>
</mrow>
</msub>
</mrow>
<mo>+</mo>
<mrow>
<msub>
<mrow>
<mi>b</mi>
</mrow>
<mrow>
<mn>4</mn>
<mi>m</mi>
</mrow>
</msub>
</mrow>
<mrow>
<mstyle mathvariant="normal">
<mrow>
<mrow>
<mi>W</mi>
<mi>e</mi>
<mi>e</mi>
<mi>k</mi>
</mrow>
</mrow>
</mstyle>
</mrow>
<mrow>
<msub>
<mrow>
<mstyle mathvariant="normal">
<mrow>
<mrow>
<mn>8</mn>
</mrow>
</mrow>
</mstyle>
</mrow>
<mrow>
<mi>i</mi>
<mi>m</mi>
</mrow>
</msub>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mspace width="1em"></mspace>
<mspace width="1em"></mspace>
<mo>+</mo>
<mrow>
<msub>
<mrow>
<mi>b</mi>
</mrow>
<mrow>
<mn>5</mn>
<mi>m</mi>
</mrow>
</msub>
</mrow>
<mrow>
<mstyle mathvariant="normal">
<mrow>
<mrow>
<mi>W</mi>
<mi>e</mi>
<mi>e</mi>
<mi>k</mi>
<mn>1</mn>
</mrow>
</mrow>
</mstyle>
</mrow>
<mrow>
<msub>
<mrow>
<mstyle mathvariant="normal">
<mrow>
<mrow>
<mn>0</mn>
</mrow>
</mrow>
</mstyle>
</mrow>
<mrow>
<mi>i</mi>
<mi>m</mi>
</mrow>
</msub>
</mrow>
<mo>+</mo>
<mrow>
<msub>
<mrow>
<mi>b</mi>
</mrow>
<mrow>
<mn>6</mn>
<mi>m</mi>
</mrow>
</msub>
</mrow>
<mrow>
<mstyle mathvariant="normal">
<mrow>
<mrow>
<mi>W</mi>
<mi>e</mi>
<mi>e</mi>
<mi>k</mi>
<mn>1</mn>
</mrow>
</mrow>
</mstyle>
</mrow>
<mrow>
<msub>
<mrow>
<mstyle mathvariant="normal">
<mrow>
<mrow>
<mn>2</mn>
</mrow>
</mrow>
</mstyle>
</mrow>
<mrow>
<mi>i</mi>
<mi>m</mi>
</mrow>
</msub>
</mrow>
<mo>+</mo>
<mrow>
<msub>
<mrow>
<mi>ε</mi>
</mrow>
<mrow>
<mi>i</mi>
<mi>m</mi>
</mrow>
</msub>
</mrow>
<mo>,</mo>
</mrow>
</mtd>
</mtr>
</mtable>
</mrow>
</math>

Dónde

<math display="block">
<mrow>
<mi>i</mi>
</mrow>
</math>
= 1, 2,..., 120, y
<math display="block">
<mrow>
<mi>m</mi>
</mrow>
</math>
= 1, 2,..., 20.

<math display="block">
<mrow>
<msub>
<mrow>
<mi>β</mi>
</mrow>
<mrow>
<mi>j</mi>
</mrow>
</msub>
</mrow>
</math>
son los coeficientes de efectos fijos,
<math display="block">
<mrow>
<mi>j</mi>
</mrow>
</math>
= 0, 1,..., 8 y
<math display="block">
<mrow>
<msub>
<mrow>
<mi>b</mi>
</mrow>
<mrow>
<mn>0</mn>
<mi>m</mi>
</mrow>
</msub>
</mrow>
</math>
Y
<math display="block">
<mrow>
<msub>
<mrow>
<mi>b</mi>
</mrow>
<mrow>
<mn>1</mn>
<mi>m</mi>
</mrow>
</msub>
</mrow>
</math>
son efectos aleatorios.
<math display="block">
<mrow>
<mstyle mathvariant="normal">
<mrow>
<mrow>
<mi>I</mi>
<mi>W</mi>
</mrow>
</mrow>
</mstyle>
</mrow>
</math>
es sinónimo de peso inicial y
<math display="block">
<mrow>
<mi>I</mi>
<mo stretchy="false">[</mo>
<mo>.</mo>
<mo stretchy="false">]</mo>
</mrow>
</math>
es una variable ficticia que representa un tipo de programa. Por ejemplo,
<math display="block">
<mrow>
<mi>I</mi>
<mo stretchy="false">[</mo>
<mrow>
<mstyle mathvariant="normal">
<mrow>
<mrow>
<mi>P</mi>
<mi>B</mi>
</mrow>
</mrow>
</mstyle>
</mrow>
<msub>
<mrow>
<mo stretchy="false">]</mo>
</mrow>
<mrow>
<mi>i</mi>
</mrow>
</msub>
</mrow>
</math>
es la variable ficticia que representa el tipo de programa B. Los efectos aleatorios y el error de observación tienen las siguientes distribuciones previas:

<math display="block">
<mrow>
<msub>
<mrow>
<mi>b</mi>
</mrow>
<mrow>
<mn>0</mn>
<mi>m</mi>
</mrow>
</msub>
<mo></mo>
<mi>N</mi>
<mo stretchy="false">(</mo>
<mn>0</mn>
<mo>,</mo>
<msubsup>
<mrow>
<mi>σ</mi>
</mrow>
<mrow>
<mn>0</mn>
</mrow>
<mrow>
<mn>2</mn>
</mrow>
</msubsup>
<mo stretchy="false">)</mo>
</mrow>
</math>

<math display="block">
<mrow>
<msub>
<mrow>
<mi>b</mi>
</mrow>
<mrow>
<mn>1</mn>
<mi>m</mi>
</mrow>
</msub>
<mo></mo>
<mi>N</mi>
<mo stretchy="false">(</mo>
<mn>0</mn>
<mo>,</mo>
<msubsup>
<mrow>
<mi>σ</mi>
</mrow>
<mrow>
<mn>1</mn>
</mrow>
<mrow>
<mn>2</mn>
</mrow>
</msubsup>
<mo stretchy="false">)</mo>
</mrow>
</math>

<math display="block">
<mrow>
<msub>
<mrow>
<mi>ε</mi>
</mrow>
<mrow>
<mi>i</mi>
<mi>m</mi>
</mrow>
</msub>
<mo></mo>
<mi>N</mi>
<mo stretchy="false">(</mo>
<mn>0</mn>
<mo>,</mo>
<msup>
<mrow>
<mi>σ</mi>
</mrow>
<mrow>
<mn>2</mn>
</mrow>
</msup>
<mo stretchy="false">)</mo>
<mo>.</mo>
</mrow>
</math>

Ajuste el modelo utilizando las matrices de diseño definidas y las variables de agrupamiento.fitlmematrix Supongamos que las observaciones repetidas recogidas en un sujeto tienen una varianza común a lo largo de las diagonales.

lme = fitlmematrix(X,y,Z,G,'FixedEffectPredictors',... {'Intercept','InitWeight','PrgB','PrgC','PrgD','Week'},... 'RandomEffectPredictors',{{'Intercept','Week'}},... 'RandomEffectGroups',{'Subject'},'CovariancePattern','Isotropic')
lme =  Linear mixed-effects model fit by ML  Model information:     Number of observations             120     Fixed effects coefficients           6     Random effects coefficients         40     Covariance parameters                2  Formula:     Linear Mixed Formula with 7 predictors.  Model fit statistics:     AIC        BIC       LogLikelihood    Deviance     -24.783    -2.483    20.391           -40.783   Fixed effects coefficients (95% CIs):     Name                Estimate     SE           tStat       DF     pValue         'Intercept'            0.4208      0.28169      1.4938    114       0.13799     'InitWeight'        0.0045552    0.0015338      2.9699    114     0.0036324     'PrgB'                0.36993      0.12119      3.0525    114     0.0028242     'PrgC'              -0.034009       0.1209    -0.28129    114       0.77899     'PrgD'                  0.121      0.12111     0.99911    114       0.31986     'Week'                0.19881     0.037134      5.3538    114    4.5191e-07       Lower        Upper          -0.13723      0.97883     0.0015168    0.0075935       0.12986         0.61      -0.27351       0.2055      -0.11891      0.36091       0.12525      0.27237  Random effects covariance parameters (95% CIs): Group: Subject (20 Levels)     Name1              Name2              Type         Estimate    Lower       'Intercept'        'Intercept'        'std'        0.16561     0.12896       Upper       0.21269  Group: Error     Name             Estimate    Lower       Upper       'Res Std'        0.10272     0.088014    0.11987  

Argumentos de entrada

contraer todo

Matriz de diseño de efectos fijos, especificada como una-por-matriz, donde es el número de observaciones, y es el número de variables predictoras de efectos fijos.npnp Cada fila de corresponde a una observación, y cada columna de corresponde a una variable.XX

Tipos de datos: single | double

Valores de respuesta, especificados como un vector-por-1, donde es el número de observaciones.nn

Tipos de datos: single | double

Diseño de efectos aleatorios, especificado como cualquiera de los siguientes.

  • Si hay un término de efectos aleatorios en el modelo, entonces debe ser un-por-matriz, donde es el número de observaciones y es el número de variables en el término de efectos aleatorios.Znqnq

  • Si hay términos de efectos aleatorios, debe ser un array de celdas de longitud.RZR Cada celda de contiene una matriz de diseño a-por-(), = 1, 2,...,, correspondiente a cada término de efectos aleatorios.ZnqrZ{r}rR Aquí, () es el número de efectos aleatorios término en la matriz de diseño de efectos aleatorios TH,.qrrZ{r}

Tipos de datos: single | double | cell

, especificado como cualquiera de los siguientes.La variable o variables de agrupación

  • Si hay un término de efectos aleatorios, debe ser un vector-by-1 correspondiente a una única variable de agrupación con niveles o grupos.GnM

    puede ser un vector categórico, un vector lógico, un vector numérico, una matriz de caracteres, una matriz de cadenas o una matriz de vectores de caracteres.G

  • Si hay varios términos de efectos aleatorios, debe ser una matriz de longitud de celda.GR Cada celda de contiene una variable de agrupación, = 1, 2,...,, con () niveles.GG{r}rRMr

    puede ser un vector categórico, un vector lógico, un vector numérico, una matriz de caracteres, una matriz de cadenas o una matriz de vectores de caracteres.G{r}

Tipos de datos: categorical | logical | single | double | char | string | cell

Argumentos de par nombre-valor

Especifique pares de argumentos separados por comas opcionales. es el nombre del argumento y es el valor correspondiente. deben aparecer dentro de las cotizaciones.Name,ValueNameValueName Puede especificar varios argumentos de par de nombre y valor en cualquier orden como.Name1,Value1,...,NameN,ValueN

Ejemplo: especifica un patrón de covarianza de efectos aleatorios con cero elementos fuera de la diagonal, crea una variable ficticia para cada nivel de una variable categórica y utiliza el algoritmo de optimización.'CovariancePattern','Diagonal','DummyVarCoding','full','Optimizer','fminunc'fminunc

Nombres de las columnas de la matriz de diseño de efectos fijos, especificadas como el par separado por comas que consta de una matriz de cadenas o una matriz de longitud de celda.X'FixedEffectPredictors'p

Por ejemplo, si tiene un término constante y dos predictores, digamos y, donde es el nivel de referencia para, como los efectos fijos, a continuación, puede especificar los nombres de sus efectos fijos de la siguiente manera. representa la variable ficticia que debe crear para la categoría.TimeSpentGenderFemaleGenderGender_MaleMale Puede elegir diferentes nombres para estas variables.

Ejemplo: ,'FixedEffectPredictors',{'Intercept','TimeSpent','Gender_Male'}

Tipos de datos: string | cell

Nombres de columnas de la matriz de diseño de efectos aleatorios o matriz de celdas, especificadas como el par separado por comas que consta de y cualquiera de los siguientes:Z'RandomEffectPredictors'

  • Una matriz de cadenas o matriz de celdas de longitud cuando es una matriz de diseño.qZnq En este caso, el valor predeterminado es.{'z1','z2',...,'zQ'}

  • Una matriz de celdas de longitud, cuando es una matriz de celdas de longitud con cada elemento de Length (), = 1, 2,...,.RZRZ{r}qrrR En este caso, el valor predeterminado es.{'z11','z12',...,'z1Q(1)'},...,{'zr1','zr2',...,'zrQ(r)'}

Por ejemplo, supongamos que tiene efectos aleatorios correlacionados para interceptar y una variable nombrada.Acceleration A continuación, puede especificar los nombres de predictor de efectos aleatorios como se indica a continuación.

Ejemplo: 'RandomEffectPredictors',{'Intercept','Acceleration'}

Si tiene dos términos de efectos aleatorios, uno para la intercepción y la variable agrupados por variable, y el segundo para la intercepción, agrupado por la variable, a continuación, especifique los nombres de predictores de efectos aleatorios de la siguiente manera.Accelerationg1g2

Ejemplo: 'RandomEffectPredictors',{{'Intercept','Acceleration'},{'Intercept'}}

Tipos de datos: string | cell

Nombre de la variable de respuesta, especificada como el par separado por comas que consta de un vector de caracteres o un escalar de cadena.'ResponseVarName'

Por ejemplo, si el nombre de la variable de respuesta es, puede especificarlo de la siguiente manera.Puntuación

Ejemplo: 'ResponseVarName','score'

Tipos de datos: char | string

Nombres de las variables de agrupación de efectos aleatorios, especificadas como el par separado por comas y cualquiera de los siguientes:'RandomEffectGroups'

  • Vector de caracteres o escalar de cadena: si solo hay un término de efectos aleatorios, es decir, si es un vector, el valor de es el nombre de la variable de agrupación.G'RandomEffectGroups'G El valor predeterminado es.'g'

  • Matriz de cadenas o matriz de celdas de vectores de caracteres: si hay varios términos de efectos aleatorios, es decir, si es una matriz de celdas de longitud, el valor de es una matriz de cadenas o matriz de celdas de longitud, donde cada elemento es el nombre de la variable de agrupación.GR'RandomEffectGroups'RG{r} El valor predeterminado es.{'g1','g2',...,'gR'}

Por ejemplo, si tiene dos términos de efectos aleatorios y, agrupados por las variables de agrupación y, a continuación, puede especificar los nombres de las variables de agrupación de la siguiente manera.z1z2sexsubject

Ejemplo: 'RandomEffectGroups',{'sex','subject'}

Tipos de datos: char | string | cell

Patrón de la matriz de covarianza de los efectos aleatorios, especificado como el par separado por comas que consta de un vector de caracteres, un escalar de cadena, una matriz lógica simétrica cuadrada, una matriz de cadenas o una matriz de celdas de vectores de caracteres o matrices lógicas.'CovariancePattern'

Si hay términos de efectos aleatorios, el valor de debe ser una matriz de cadenas o matriz de celdas de longitud, donde cada elemento de la matriz especifica el patrón de la matriz de covarianza del vector de efectos aleatorios asociado con el término de efectos aleatorios TH.R'CovariancePattern'Rrr Las opciones para cada elemento siguen.

'FullCholesky'Predeterminado. Matriz de covarianza completa mediante la parametrización de Cholesky. estima todos los elementos de la matriz de covarianza.fitlme
'Full'Matriz de covarianza completa, utilizando la parametrización log-Cholesky. estima todos los elementos de la matriz de covarianza.fitlme
'Diagonal'

Matriz de covarianza diagonal. Es decir, los elementos fuera de la diagonal de la matriz de covarianza están restringidos a ser 0.

(σb12000σb22000σb32)

'Isotropic'

Matriz de covarianza diagonal con varianzas iguales. Es decir, los elementos fuera de la diagonal de la matriz de covarianza están restringidos a ser 0, y los elementos diagonales están restringidos a ser iguales. Por ejemplo, si hay tres términos de efectos aleatorios con una estructura de covarianza isotrópica, esta matriz de covarianza se ve como

(σb2000σb2000σb2)

donde σ2b es la varianza común de los términos de efectos aleatorios.

'CompSymm'

Estructura de simetría compuesta. Es decir, la varianza común a lo largo de las diagonales y la correlación igual entre todos los efectos aleatorios. Por ejemplo, si hay tres términos de efectos aleatorios con una matriz de covarianza que tiene una estructura de simetría compuesta, esta matriz de covarianza se ve como

(σb12σb1,b2σb1,b2σb1,b2σb12σb1,b2σb1,b2σb1,b2σb12)

donde σ2b1 es la varianza común de los términos de efectos aleatorios y σb1,b2 es la covarianza común entre dos términos de efectos aleatorios.

PATMatriz lógica simétrica cuadrada. Si se define por la matriz, y si, entonces el elemento de la matriz de covarianza correspondiente se restringe a ser 0.'CovariancePattern'PATPAT(a,b) = false(a,b)

Ejemplo: 'CovariancePattern','Diagonal'

Ejemplo: 'CovariancePattern',{'Full','Diagonal'}

Tipos de datos: char | string | logical | cell

Método para estimar los parámetros del modelo lineal de efectos mixtos, especificado como el par separado por comas que consta de y cualquiera de los siguientes.'FitMethod'

'ML'Predeterminado. Estimación de máxima verosimilitud
'REML'Estimación de máxima verosimilitud restringida

Ejemplo: 'FitMethod','REML'

Los pesos de observación, especificados como el par separado por comas que consta de y un vector de longitud, donde es el número de observaciones.'Weights'nn

Tipos de datos: single | double

Índices de las filas que se excluyen del modelo de efectos mixtos lineales en los datos, especificados como el par separado por comas que consta de un vector de valores enteros o lógicos.'Exclude'

Por ejemplo, puede excluir las filas 13ª y 67 del ajuste como se indica a continuación.

Ejemplo: 'Exclude',[13,67]

Tipos de datos: single | double | logical

Codificación que se utiliza para las variables ficticias creadas a partir de las variables categóricas, especificadas como el par separado por comas y que consta de uno de los siguientes.'DummyVarCoding'

ValorDescripción
'reference'Predeterminado. Coeficiente para la primera categoría establecida en 0.
'effects'Los coeficientes suman 0.
'full'Una variable ficticia para cada categoría.

Ejemplo: 'DummyVarCoding','effects'

Algoritmo de optimización, especificado como el par separado por comas que consta de y cualquiera de los siguientes.'Optimizer'

'quasinewton'Predeterminado. Utiliza un optimizador de cuasi-Newton basado en región de confianza. Cambiar las opciones del algoritmo utilizando.statset('LinearMixedModel') Si no especifica las opciones, a continuación, utiliza las opciones predeterminadas de.LinearMixedModelstatset('LinearMixedModel')
'fminunc'Debe especificar esta opción.Optimization Toolbox™ Cambiar las opciones del algoritmo utilizando.optimoptions('fminunc') Si no especifica las opciones, a continuación, utiliza las opciones predeterminadas de con establecido en.LinearMixedModeloptimoptions('fminunc')'Algorithm''quasi-newton'

Ejemplo: 'Optimizer','fminunc'

Opciones para el algoritmo de optimización, especificado como el par separado por comas que consta de y una estructura devuelta por o un objeto devuelto por.'OptimizerOptions'statset('LinearMixedModel')optimoptions('fminunc')

  • Si es así, utilice para cambiar las opciones del algoritmo de optimización.'Optimizer''fminunc'optimoptions('fminunc') Consulte las opciones de uso.optimoptions'fminunc' Si es y no proporciona, a continuación, el valor predeterminado para es las opciones predeterminadas creadas por con establecido en.'Optimizer''fminunc''OptimizerOptions'LinearMixedModeloptimoptions('fminunc')'Algorithm''quasi-newton'

  • Si es así, utilice para cambiar los parámetros de optimización.'Optimizer''quasinewton'statset('LinearMixedModel') Si no cambia los parámetros de optimización, utiliza las opciones predeterminadas creadas por:LinearMixedModelstatset('LinearMixedModel')

El optimizador utiliza los siguientes campos en la estructura creada por.'quasinewton'statset('LinearMixedModel')

Tolerancia relativa en el degradado de la función objetiva, especificada como un valor escalar positivo.

Tolerancia absoluta en el tamaño del paso, especificado como un valor escalar positivo.

Número máximo de iteraciones permitidas, especificadas como un valor escalar positivo.

Nivel de visualización, especificado como uno de, o.'off''iter''final'

Método para iniciar la optimización iterativa, especificada como el par separado por comas que consta de y cualquiera de los siguientes.'StartMethod'

ValorDescripción
'default'Un valor predeterminado definido internamente
'random'Un valor inicial aleatorio

Ejemplo: 'StartMethod','random'

Indicador para mostrar el proceso de optimización en la pantalla, especificado como el par separado por comas que consta de y cualquiera o.'Verbose'falsetrue El valor predeterminado es.false

La configuración para invalida el campo en.'Verbose''Display''OptimizerOptions'

Ejemplo: 'Verbose',true

Indicador para comprobar la definitura positiva del hessian de la función objetiva con respecto a los parámetros no restringidos en la convergencia, especificado como el par separado por comas que consta de y cualquiera o.'CheckHessian'falsetrue El valor predeterminado es.false

Especifique como para verificar la optimalidad de la solución o para determinar si el modelo está sobreparametrizado en el número de parámetros de covarianza.'CheckHessian'true

Ejemplo: 'CheckHessian',true

Argumentos de salida

contraer todo

Modelo lineal de efectos mixtos, devuelto como un objeto.LinearMixedModel

Más acerca de

contraer todo

Parametrización de Cholesky

Uno de los supuestos de los modelos de efectos mixtos lineales es que los efectos aleatorios tienen la siguiente distribución previa.

b~N(0,σ2D(θ)),

donde se encuentra una matriz semidefinida a-por-simétrica y positiva, parametrizada por un vector de componente de varianza, es el número de variables en el término de efectos aleatorios, yDqqθqσ2 es la desviación del error de observación. Puesto que la matriz de covarianzas de los efectos aleatorios,, es simétrica, tiene (+ 1)/2 parámetros libres.Dqq Supongamos que es el factor de Cholesky triangular inferior de () tal queLDθ

D(θ)=L(θ)L(θ)T,

a continuación, el vector de parámetro * (+ 1)/2-by-1 no restringido se forma a partir de elementos de la parte triangular inferior de.qqθL

Por ejemplo, si

L=[L1100L21L220L31L32L33],

Entonces

θ=[L11L21L31L22L32L33].

Parametrización log-Cholesky

Cuando los elementos diagonales de la parametrización de Cholesky están limitados a ser positivos, la solución es única.LL La parametrización de log-Cholesky es la misma que la parametrización de Cholesky, excepto que el logaritmo de los elementos diagonales se utiliza para garantizar una parametrización única.L

Por ejemplo, para el ejemplo de 3 por 3 en la parametrización de Cholesky, aplicarLii ≥ 0,

θ=[log(L11)L21L31log(L22)L32log(L33)].

Funcionalidad alternativa

También puede ajustar un modelo lineal de efectos mixtos utilizando, donde se encuentra una tabla o conjunto de datos que contiene la respuesta, las variables predictoras y las variables de agrupamiento, y es de la formafitlme(tbl,formula)tblyXFórmula 'y ~ fixed + (random1|g1) + ... + (randomR|gR)'.

Consulte también

| |

Introducido en R2013b