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.

compare

Clase: LinearMixedModel

Compare los modelos lineales de efectos mixtos

Descripción

results = compare(lme,altlme) Devuelve los resultados de un que compara los modelos de efectos mixtos lineales y.prueba de relación de probabilidadlmealtlme Ambos modelos deben utilizar el mismo vector de respuesta en el ajuste y deben anidarse para una prueba de relación de verosimilitud teórica válida.lmealtlme Introduzca siempre el modelo más pequeño primero y el modelo más grande en segundo lugar.

prueba las siguientes hipótesis nulas y alternativas:compare

H0: El vector de respuesta observado es generado por.lme

H1: El vector de respuesta observado se genera por modelo.altlme

Se recomienda que ajuste y utilice el método de máxima verosimilitud (ML) antes de la comparación de modelos.lmealtlme Si utiliza el método de máxima verosimilitud restringida (REML), ambos modelos deben tener la misma matriz de diseño de efectos fijos.

Para probar los efectos fijos, utilírelos cuando y se ajusten mediante ML o utilice los métodos, o.compareprueba de relación de probabilidad simuladalmealtlmefixedEffectsanovacoefTest

ejemplo

results = compare(___,Name,Value) también devuelve los resultados de una prueba de relación de probabilidad que compara los modelos de efectos mixtos lineales y con opciones adicionales especificadas por uno o más argumentos de par.lmealtlmeName,Value

Por ejemplo, puede comprobar si el primer modelo de entrada está anidado en el segundo modelo de entrada.

ejemplo

[results,siminfo] = compare(lme,altlme,'NSim',nsim) Devuelve los resultados de una prueba de relación de probabilidad simulada que compara los modelos de efectos mixtos lineales y.lmealtlme

Puede ajustar y utilizar ML o REML.lmealtlme Además, no tiene que estar anidado.lmealtlme Si utiliza el método de máxima verosimilitud restringida (REML) para ajustarse a los modelos, ambos modelos deben tener la misma matriz de diseño de efectos fijos.

ejemplo

[results,siminfo] = compare(___,Name,Value) también devuelve los resultados de una prueba de relación de probabilidad simulada que compara los modelos de efectos mixtos lineales y con opciones adicionales especificadas por uno o más argumentos de par.lmealtlmeName,Value

Por ejemplo, puede cambiar las opciones para realizar la prueba de relación de verosimilitud simulada o cambiar el nivel de confianza del intervalo de confianza para el valor-Value.p

Argumentos de entrada

expandir todo

Modelo lineal de efectos mixtos, especificado como un objeto construido mediante o.LinearMixedModelfitlmefitlmematrix

El modelo de efectos mixtos lineales alternativo se ajusta al mismo vector de respuesta pero con diferentes especificaciones de modelo, especificado como un objeto. debe anidarse en, es decir, debe obtenerse estableciendo algunos parámetros en valores fijos, como 0.LinearMixedModellmealtlmelmealtlme Puede crear un objeto lineal de efectos mixtos utilizando o.fitlmefitlmematrix

Número de replicaciones para simulaciones en la prueba de relación de probabilidad simulada, especificadas como un número entero positivo. Debe especificar que se realice una prueba de relación de probabilidad simulada.nsim

Ejemplo: 'NSim',1000

Tipos de datos: double | single

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

Nivel de significancia, especificado como el par separado por comas que consta de y un valor escalar en el rango de 0 a 1.'Alpha' Para un valor α, el nivel de confianza es 100 * (1 – α)%.

Por ejemplo, para intervalos de confianza del 99%, puede especificar el nivel de confianza de la siguiente manera.

Ejemplo: 'Alpha',0.01

Tipos de datos: single | double

Opciones para realizar la prueba de relación de probabilidad simulada en paralelo, especificada como el par separado por comas que consta de, y una estructura creada por.'Options'statset('LinearMixedModel')

Estas opciones requieren.Parallel Computing Toolbox™

utiliza los siguientes campos.compare

'UseParallel'
  • para el cómputo en serie.False Predeterminado.

  • para el cómputo paralelo.True

Necesitas computación paralela.Parallel Computing Toolbox

'UseSubstreams'
  • por no utilizar un subflujo separado del generador de números aleatorios para cada iteración.False Predeterminado.

  • para utilizar un subflujo separado del generador de números aleatorios para cada iteración.True Solo puede utilizar esta opción con tipos de secuencia aleatorios que admitan subsecuencias.

'Streams'
  • Si es así, debe ser una única secuencia numérica aleatoria o una matriz de celdas escalar que contenga una sola secuencia.'UseSubstreams'True'Streams'

  • Si es y'UseSubstreams'False

    • es, a continuación, debe ser una sola secuencia de números aleatorios, o una matriz de celdas escalar que contiene una sola secuencia.'UseParallel'False'Streams'

    • es, a continuación, debe ser igual al número de procesadores utilizados.'UseParallel'True'Streams' Si un grupo paralelo está abierto, entonces el es la misma longitud que el tamaño del grupo paralelo.'Streams' Si es así, una agrupación paralela podría abrirse para usted.'UseParallel'True Pero dado que debe ser igual al número de procesadores utilizados, es mejor abrir un grupo explícitamente mediante el comando, antes de llamar con la opción.'Streams'parpoolcompare'UseParallel','True'

Para obtener información sobre la Computación estadística paralela en la línea de mandatos, introduzca

help parallelstats

Tipos de datos: struct

Indicador de entre dos modelos, especificado como el par separado por comas que consta de y uno de los siguientes.comprobar anidamiento'CheckNesting'

falsePredeterminado. No hay cheques.
truecomprueba si el modelo más pequeño está anidado en el modelo más grande.comparelmealtlme

debe anidarse en el modelo alternativo para un teórico válido. Devuelve un mensaje de error si no se satisfacen los requisitos de anidamiento.lmealtlmeprueba de relación de probabilidadcompare

Aunque son válidos para ambas pruebas, los requisitos de anidamiento son más débiles para el.prueba de relación de probabilidad simulada

Ejemplo: 'CheckNesting',true

Tipos de datos: single | double

Argumentos de salida

expandir todo

Resultados de la prueba de relación de probabilidad o prueba de relación de probabilidad simulada, devuelta como una matriz de conjunto de datos con dos filas. La primera fila es para, y la segunda fila es para.lmealtlme Las columnas dependen de si la prueba es una relación de probabilidad o una prueba de relación de probabilidad simulada.results

  • Si utiliza el, a continuación, contiene las siguientes columnas.prueba de relación de probabilidadresults

    ModelNombre del modelo
    DFGrados de libertad, es decir, el número de parámetros libres en el modelo
    AICEl criterio de información de Akaike para el modelo
    BICEl criterio de información bayesiana para el modelo
    LogLikLa probabilidad de registro maximizada para el modelo
    LRStatEstadística de prueba de relación de probabilidad para comparar frente aaltlmelme
    deltaDFpor menos paraDFaltlmeDFlme
    pValue-valor para la prueba de relación de verosimilitudp
  • Si utiliza el, a continuación, contiene las siguientes columnas.prueba de relación de probabilidad simuladaresults

    ModelNombre del modelo
    DFGrados de libertad, es decir, el número de parámetros libres en el modelo
    LogLikLa probabilidad de registro maximizada para el modelo
    LRStatEstadística de prueba de relación de probabilidad para comparar frente aaltlmelme
    pValue-valor para la prueba de relación de verosimilitudp
    LowerLímite inferior del intervalo de confianza parapValue
    UpperLímite superior del intervalo de confianza parapValue

Salida de simulación, devuelta como una estructura con los siguientes campos.

nsimValor establecido para.nsim
alphaValor establecido para.'Alpha'
pValueSimValor basado en simulación.p
pValueSimCIIntervalo de confianza para.pValueSim El primer elemento del vector es el límite inferior y el segundo elemento del vector contiene el límite superior.
deltaDFEl número de parámetros libres en menos el número de parámetros libres en. por menos para.altlmelmeDFaltlmeDFlme
THOUn vector de estadísticas de prueba de relación de probabilidad simulada bajo la hipótesis nula de que el modelo generó el vector de respuesta observado.lmey

Ejemplos

expandir todo

Cargue los datos de ejemplo.

load flu

La matriz de conjuntos de datos tiene una variable y 10 variables que contienen 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 CDC).fluDate

Para ajustar un modelo de efectos mixtos lineales, los datos deben estar en una matriz de DataSet con el formato correcto. Para ajustar un modelo de efectos mixtos lineales con las tasas de influenza como las respuestas y la región como la variable predictora, combine las nueve columnas correspondientes a las regiones en una matriz. La nueva matriz de DataSet, debe tener la variable de respuesta, la variable nominal, que muestra de qué región es cada estimación y la variable de agrupación.flu2FluRateRegionDate

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

Ajuste un modelo lineal de efectos mixtos, con una intersección variable y una pendiente variable para cada región, agrupadas por.Date

altlme = fitlme(flu2,'FluRate ~ 1 + Region + (1 + Region|Date)');

Ajuste un modelo lineal de efectos mixtos con efectos fijos para la región y una intercepción aleatoria que varíe.Date

lme = fitlme(flu2,'FluRate ~ 1 + Region + (1|Date)');

Compare los dos modelos. Compruebe también si está anidado en.lme2lme

compare(lme,altlme,'CheckNesting',true)
ans =      Theoretical Likelihood Ratio Test      Model     DF    AIC        BIC        LogLik     LRStat    deltaDF    pValue     lme       11     318.71     364.35    -148.36                                    altlme    55    -305.51    -77.346     207.76    712.22    44         0       

El pequeño

<math display="block">
<mrow>
<mi>p</mi>
</mrow>
</math>
-valor de 0 indica que el modelo es significativamente mejor que el modelo más simple.altlmelme

Cargue los datos de ejemplo.

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

La matriz de DataSet incluye datos de un experimento de parcela dividida, donde el suelo se divide en tres bloques basados en el tipo de suelo: arenoso, sedoso y Franco. Cada bloque se divide en cinco parcelas, donde cinco tipos diferentes de plantas de tomate (cereza, reliquia, uva, vid y ciruela) se asignan aleatoriamente a estas parcelas. Las plantas de tomate en las parcelas se dividen en subparcelas, donde cada subparcela es tratada por uno de los cuatro fertilizantes. Se trata de datos simulados.

Almacene los datos en una matriz de DataSet llamada, con fines prácticos, y defina, y como variables categóricas.dsTomatoSoilFertilizer

ds = fertilizer; ds.Tomato = nominal(ds.Tomato); ds.Soil = nominal(ds.Soil); ds.Fertilizer = nominal(ds.Fertilizer);

Ajuste un modelo lineal de efectos mixtos, donde y son las variables de efectos fijos, y el rendimiento medio varía según el bloque (tipo de suelo) y las parcelas dentro de los bloques (tipos de tomate dentro de los tipos de suelo) de forma independiente.FertilizerTomato

lmeBig = fitlme(ds,'Yield ~ Fertilizer * Tomato + (1|Soil) + (1|Soil:Tomato)');

Vuelva a ajustar el modelo después de eliminar el término de interacción y el término de efectos aleatorios.Tomato:Fertilizer(1 | Soil)

lmeSmall = fitlme(ds,'Yield ~ Fertilizer + Tomato + (1|Soil:Tomato)');

Compare los dos modelos utilizando la prueba de relación de verosimilitud simulada con 1000 replicaciones. Debe usar esta prueba para probar los términos de efecto fijo y aleatorio. Tenga en cuenta que ambos modelos se ajustan mediante el método de ajuste predeterminado, ML. Por eso, no hay ninguna restricción en las matrices de diseño de efectos fijos. Si utiliza el método de máxima verosimilitud restringida (REML), ambos modelos deben tener matrices de diseño de efectos fijos idénticos.

[table,siminfo] = compare(lmeSmall,lmeBig,'nsim',1000)
table =      Simulated Likelihood Ratio Test: Nsim = 1000, Alpha = 0.05      Model       DF    AIC       BIC       LogLik     LRStat    pValue      lmeSmall    10    511.06       532    -245.53                          lmeBig      23    522.57    570.74    -238.29    14.491    0.57343       Lower      Upper                              0.54211    0.60431  
siminfo = struct with fields:
           nsim: 1000
          alpha: 0.0500
      pvalueSim: 0.5734
    pvalueSimCI: [0.5421 0.6043]
        deltaDF: 13
            TH0: [1000x1 double]

La alta

<math display="block">
<mrow>
<mi>p</mi>
</mrow>
</math>
-Value sugiere que el modelo más grande, no es significativamente mejor que el modelo más pequeño,.lmelme2 Los valores más pequeños de para también admiten esto.Los criterios de información de Akaike y Bayesianolme2

Cargue los datos de ejemplo.

load carbig 

Ajuste un modelo lineal de efectos mixtos para millas por galón (MPG), con efectos fijos para aceleración, potencia y cilindros, y efectos aleatorios potencialmente correlacionados para intercepción y aceleración agrupados por año de modelo.

Primero, prepare las matrices de diseño.

X = [ones(406,1) Acceleration Horsepower]; Z = [ones(406,1) Acceleration]; Model_Year = nominal(Model_Year); G = 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'}); 

Vuelva a ajustar el modelo con efectos aleatorios no correlacionados para interceptar y acelerar. Primero Prepare el diseño de efectos aleatorios y las variables de agrupamiento de efectos aleatorios.

Z = {ones(406,1),Acceleration}; G = {Model_Year,Model_Year};  lme2 = fitlmematrix(X,MPG,Z,G,'FixedEffectPredictors',.... {'Intercept','Acceleration','Horsepower'},'RandomEffectPredictors',... {{'Intercept'},{'Acceleration'}},'RandomEffectGroups',... {'Model_Year','Model_Year'}); 

Compare y utilice la prueba de relación de probabilidad simulada.lmelme2

compare(lme2,lme,'CheckNesting',true,'NSim',1000) 
 ans =        SIMULATED LIKELIHOOD RATIO TEST: NSIM = 1000, ALPHA = 0.05      Model    DF    AIC       BIC       LogLik     LRStat    pValue      Lower        lme2     6     2194.5    2218.3    -1091.3                                       lme      7     2193.5    2221.3    -1089.7    3.0323    0.094905    0.077462       Upper                   0.11477  

La alta -valor indica que no es un ajuste significativamente mejor que.lme2lme

Cargue los datos de ejemplo.

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

La matriz de DataSet incluye datos de un experimento de parcela dividida, donde el suelo se divide en tres bloques basados en el tipo de suelo: arenoso, sedoso y Franco. Cada bloque se divide en cinco parcelas, donde cinco tipos diferentes de plantas de tomate (cereza, reliquia, uva, vid y ciruela) se asignan aleatoriamente a estas parcelas. Las plantas de tomate en las parcelas se dividen en subparcelas, donde cada subparcela es tratada por uno de los cuatro fertilizantes. Se trata de datos simulados.

Almacene los datos en una matriz de DataSet llamada, con fines prácticos, y defina, y como variables categóricas.dsTomatoSoilFertilizer

ds = fertilizer; ds.Tomato = nominal(ds.Tomato); ds.Soil = nominal(ds.Soil); ds.Fertilizer = nominal(ds.Fertilizer);

Ajuste un modelo lineal de efectos mixtos, donde y son las variables de efectos fijos, y el rendimiento medio varía según el bloque (tipo de suelo), y las parcelas dentro de los bloques (tipos de tomate dentro de los tipos de suelo) de forma independiente.FertilizerTomato

lme = fitlme(ds,'Yield ~ Fertilizer * Tomato + (1|Soil) + (1|Soil:Tomato)');

Vuelva a ajustar el modelo después de eliminar el término de interacción y el término de efectos aleatorios.Tomato:Fertilizer(1|Soil)

lme2 = fitlme(ds,'Yield ~ Fertilizer + Tomato + (1|Soil:Tomato)');

Cree la estructura de opciones para.LinearMixedModel

opt = statset('LinearMixedModel')
opt = struct with fields:
          Display: 'off'
      MaxFunEvals: []
          MaxIter: 10000
           TolBnd: []
           TolFun: 1.0000e-06
       TolTypeFun: []
             TolX: 1.0000e-12
         TolTypeX: []
          GradObj: []
         Jacobian: []
        DerivStep: []
      FunValCheck: []
           Robust: []
     RobustWgtFun: []
           WgtFun: []
             Tune: []
      UseParallel: []
    UseSubstreams: []
          Streams: {}
        OutputFcn: []

Cambie las opciones para las pruebas paralelas.

opt.UseParallel = true;

Inicie un entorno paralelo.

mypool = parpool();
Starting parallel pool (parpool) using the 'local' profile ... Connected to the parallel pool (number of workers: 4). 

Compare y utilice la prueba de relación de probabilidad simulada con 1000 replicaciones y computación paralela.lme2lme

compare(lme2,lme,'nsim',1000,'Options',opt)
ans =      Simulated Likelihood Ratio Test: Nsim = 1000, Alpha = 0.05      Model    DF    AIC       BIC       LogLik     LRStat    pValue     Lower     lme2     10    511.06       532    -245.53                                   lme      23    522.57    570.74    -238.29    14.491    0.52747    0.496       Upper                   0.55878  

La alta

<math display="block">
<mrow>
<mi>p</mi>
</mrow>
</math>
-Value sugiere que el modelo más grande, no es significativamente mejor que el modelo más pequeño,.lmelme2 Los valores más pequeños de y para también apoyan esto.AICBIClme2

Más acerca de

expandir todo

Referencias

[1] Hox, J. Multilevel Analysis, Techniques and Applications. Lawrence Erlbaum Associates, Inc., 2002.

[2] Stram D. O. and J. W. Lee. “Variance components testing in the longitudinal mixed-effects model”. Biometrics, Vol. 50, 4, 1994, pp. 1171–1177.

Capacidades ampliadas