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.

predict

Clase: LinearMixedModel

Predecir la respuesta del modelo lineal de efectos mixtos

Descripción

ejemplo

ypred = predict(lme) Devuelve un vector de los predictores originales utilizados para ajustarse al modelo lineal de efectos mixtos.respuestas previstas condicionalesypredlme

ejemplo

ypred = predict(lme,tblnew) Devuelve un vector de respuestas predichas condicionales desde el modelo de efectos mixtos lineales ajustados en los valores de la nueva tabla o matriz de DataSet.ypredlmetblnew Utilice una matriz de tabla o DataSet para si utiliza una matriz de tabla o DataSet para ajustar el modelo.Predecirlme

Si una variable de agrupación determinada tiene niveles que no están en los datos originales, los efectos aleatorios de esa variable de agrupación no contribuyen a la predicción en las observaciones en las que la variable de agrupación tiene nuevos niveles.tblnew'Conditional'

ypred = predict(lme,Xnew,Znew) Devuelve un vector de respuestas previstas condicionales del modelo de efectos mixtos lineales ajustados en los valores de las nuevas matrices de diseño de efectos fijos y aleatorios, y, respectivamente. también puede ser una matriz de matrices de celdas.ypredlmeXnewZnewZnew En este caso, la variable de agrupamiento es, donde es el número de observaciones utilizadas en el ajuste.Gones(n,1)n

Utilice el formato de matriz si utiliza matrices de diseño para ajustar el modelo.Predecirlme

ejemplo

ypred = predict(lme,Xnew,Znew,Gnew) Devuelve un vector de las respuestas previstas condicionales del modelo de efectos mixtos lineales ajustados en los valores de las nuevas matrices de diseño de efectos fijos y aleatorios, y, respectivamente, y la variable de agrupación.ypredlmeXnewZnewGnew

y también pueden ser matrices de celdas de matrices y variables de agrupamiento, respectivamente.ZnewGnew

ejemplo

ypred = predict(___,Name,Value) Devuelve un vector de respuestas pronosticadas del modelo de efectos mixtos lineales ajustados con opciones adicionales especificadas por uno o más argumentos de par.ypredlmeName,Value

Por ejemplo, puede especificar el nivel de confianza, los límites de confianza simultáneos o las contribuciones de solo efectos fijos.

ejemplo

[ypred,ypredCI] = predict(___) también devuelve intervalos de confianza para las predicciones de cualquiera de los argumentos de entrada en las sintaxis anteriores.ypredCIypred

ejemplo

[ypred,ypredCI,DF] = predict(___) también devuelve los grados de libertad utilizados en la computación de los intervalos de confianza para cualquiera de los argumentos de entrada en las sintaxis anteriores.DF

Argumentos de entrada

expandir todo

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

Nuevos datos de entrada, que incluyen la variable de respuesta, las variables predictoras y, especificadas como una tabla o matriz de DataSet.variables de agrupamiento Las variables predictoras pueden ser continuas o agrupar variables. deben tener las mismas variables que en la tabla original o la matriz de DataSet utilizada para ajustarse al modelo lineal de efectos mixtos.tblnewlme

Nueva 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 fijas.npnp Cada fila de corresponde a una observación y cada columna corresponde a una variable.XX

Tipos de datos: single | double

Nuevo diseño de efectos aleatorios, especificado como una matriz de matrices o un array de celdas de diseño, donde = 1, 2,...,.nqRZ{r}rR Si es una matriz de celdas, cada una es una matriz-por-(), donde es el número de observaciones, y () es el número de variables predictoras aleatorias.ZnewZ{r}nqrnqr

Tipos de datos: single | double | cell

Nuevo, especificado como un vector o una matriz de celdas, de longitud, de agrupar variables con los mismos niveles o grupos que las variables de agrupación originales utilizadas para ajustar el modelo de efectos mixtos lineales.variable de agrupación o variablesRlme

Tipos de datos: single | double | categorical | logical | 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

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

Indicador para s, especificado como el par separado por comas que consta de y uno de los siguientes.predicción condicional'Conditional'

trueContribuciones de efectos fijos y efectos aleatorios (condicional)
falseContribución de sólo efectos fijos (marginal)

Ejemplo: 'Conditional,false

Método para calcular los grados de libertad aproximados para usar en el cálculo del intervalo de confianza, especificado como el par separado por comas que consta de uno de los siguientes.'DFMethod'

'residual'Predeterminado. Se asume que los grados de libertad son constantes e iguales a –, donde está el número de observaciones y es el número de efectos fijos.npnp
'satterthwaite'Aproximación de Satterthwaite.
'none'Todos los grados de libertad están fijados al infinito.

Por ejemplo, puede especificar la aproximación de Satterthwaite como se indica a continuación.

Ejemplo: 'DFMethod','satterthwaite'

Tipo de límites de confianza, especificados como el par separado por comas que consta de y uno de los siguientes.'Simultaneous'

falsePredeterminado. Límites no simultáneos.
trueLímites simultáneos.

Ejemplo: 'Simultaneous',true

Tipo de predicción, especificada como el par separado por comas que consta de y uno de los siguientes.'Prediction'

'curve'Predeterminado. Límites de confianza para las predicciones basadas en la función ajustada.
'observation'La variabilidad debida al error de observación para las nuevas observaciones también se incluye en los cálculos enlazados a la confianza y esto da lugar a límites más amplios.

Ejemplo: 'Prediction','observation'

Argumentos de salida

expandir todo

Respuestas previstas, devueltas como vector. puede contener las respuestas condicionales o marginales, según la opción de valor del argumento de par nombre-valor.ypred'Conditional' Las predicciones condicionales incluyen contribuciones de efectos fijos y aleatorios.

Intervalos de confianza puntuales para los valores previstos, devueltos como una matriz de dos columnas. La primera columna de contiene los límites inferiores, y la segunda columna contiene el límite superior.yCI De forma predeterminada, contiene los intervalos de confianza de 95% para las predicciones.yCI Puede cambiar el nivel de confianza mediante el argumento de par nombre-valor, hacerlos simultáneos mediante el argumento de par nombre-valor y también hacerlos para una nueva observación en lugar de para la curva mediante el argumento de par nombre-valor.AlphaSimultaneousPredicción

Grados de libertad utilizados en la computación de los intervalos de confianza, devueltos como un vector o un valor escalar.

  • Si el argumento de par nombre-valor es, a continuación, es un vector.'Simultaneous'falseDF

  • Si el argumento de par nombre-valor es, a continuación, es un valor escalar.'Simultaneous'trueDF

Ejemplos

expandir todo

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)');

Predecir los valores de respuesta en los valores de diseño originales. Visualice las primeras cinco predicciones con los valores de respuesta observados.

yhat = predict(lme); [yhat(1:5) ds.Yield(1:5)]
ans = 5×2

  115.4788  104.0000
  135.1455  136.0000
  152.8121  158.0000
  160.4788  174.0000
   58.0839   57.0000

Cargue los datos de ejemplo.

load carsmall

Ajuste un modelo lineal de efectos mixtos, con un efecto fijo para, y una intercepción aleatoria agrupada por.WeightModel_Year En primer lugar, almacene los datos en una tabla.

tbl = table(MPG,Weight,Model_Year); lme = fitlme(tbl,'MPG ~ Weight + (1|Model_Year)');

Crear respuestas pronosticadas a los datos.

yhat = predict(lme,tbl);

Trace las respuestas originales y las respuestas previstas para ver cómo difieren. Agruparlos por año de modelo.

figure() gscatter(Weight,MPG,Model_Year) hold on gscatter(Weight,yhat,Model_Year,[],'o+x') legend('70-data','76-data','82-data','70-pred','76-pred','82-pred') hold off

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)');

Cree una nueva matriz de DataSet con valores de diseño. La nueva matriz de DataSet debe tener las mismas variables que la matriz de conjunto de datos original que utiliza para ajustar el modelo.lme

dsnew = dataset(); dsnew.Soil = nominal({'Sandy';'Silty'}); dsnew.Tomato = nominal({'Cherry';'Vine'}); dsnew. Fertilizer = nominal([2;2]);

Predecir las respuestas condicionales y marginales en los puntos de diseño originales.

yhatC = predict(lme,dsnew); yhatM = predict(lme,dsnew,'Conditional',false); [yhatC yhatM]
ans = 2×2

   92.7505  111.6667
   87.5891   82.6667

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 interceptar y acelerar agrupados por año de 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]; 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'});

Cree las matrices de diseño que contienen los datos en los que se predicen los valores de respuesta. debe tener tres columnas como en.XnewX La primera columna debe ser una columna de 1s. Y los valores de las dos últimas columnas deben corresponder a y, respectivamente.AccelerationHorsepower La primera columna de debe ser una columna de 1s, y la segunda columna debe contener los mismos valores que en.ZnewAccelerationXnew La variable de agrupación original en es el año del modelo.G Por lo tanto, debe contener valores para el año del modelo.Gnew Tenga en cuenta que debe contener valores nominales.Gnew

Xnew = [1,13.5,185; 1,17,205; 1,21.2,193]; Znew = [1,13.5; 1,17; 1,21.2]; % alternatively Znew = Xnew(:,1:2); Gnew = nominal([73 77 82]);

Predecir las respuestas de los datos en las nuevas matrices de diseño.

yhat = predict(lme,Xnew,Znew,Gnew)
yhat = 3×1

    8.7063
    5.4423
   12.5384

Ahora, repite lo mismo para un modelo de efectos mixtos lineales con términos de efectos aleatorios no correlacionados para interceptar y acelerar. Primero, cambie el diseño original de efectos aleatorios y las variables de agrupamiento de efectos aleatorios. A continuación, vuelva a ajustar el modelo.

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

Ahora, vuelva a crear el nuevo diseño de efectos aleatorios y el diseño de la variable de agrupación, con el que se predicen los valores de respuesta.ZnewGnew

Znew = {[1;1;1],[13.5;17;21.2]}; MY = nominal([73 77 82]); Gnew = {MY,MY};

Predecir las respuestas utilizando las nuevas matrices de diseño.

yhat = predict(lme,Xnew,Znew,Gnew)
yhat = 3×1

    8.6365
    5.9199
   12.1247

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 interceptar y acelerar agrupados por año de modelo. En primer lugar, almacene las variables en una tabla.

tbl = table(MPG,Acceleration,Horsepower,Model_Year);

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

lme = fitlme(tbl,'MPG ~ Acceleration + Horsepower + (Acceleration|Model_Year)');

Cree los nuevos datos y almacénlos en una tabla nueva.

tblnew = table(); tblnew.Acceleration = linspace(8,25)'; tblnew.Horsepower = linspace(nanmin(Horsepower),nanmax(Horsepower))'; tblnew.Model_Year = repmat(70,100,1);

crea 100 valores igualmente distanciado entre los límites de entrada inferior y superior. se fija en 70.linspaceModel_Year Puede repetirlo para cualquier año de modelo.

Calcule y trace los valores previstos y los límites de confianza del 95% (no simultáneos).

[ypred,yCI,DF] = predict(lme,tblnew); figure();  h1 = line(tblnew.Acceleration,ypred); hold on; h2 = plot(tblnew.Acceleration,yCI,'g-.');

Muestra los grados de libertad.

DF(1)
ans = 389 

Calcule y trace los límites de confianza simultáneos.

[ypred,yCI,DF] = predict(lme,tblnew,'Simultaneous',true); h3 = plot(tblnew.Acceleration,yCI,'r--');

Muestra los grados de libertad.

DF
DF = 389 

Calcule los límites de confianza simultáneos utilizando el método Satterthwaite para calcular los grados de libertad.

[ypred,yCI,DF] = predict(lme,tblnew,'Simultaneous',true,'DFMethod','satterthwaite'); h4 = plot(tblnew.Acceleration,yCI,'k:'); hold off xlabel('Acceleration') ylabel('Response') ylim([-50,60]) xlim([8,25]) legend([h1,h2(1),h3(1),h4(1)],'Predicted response','95%','95% Sim',... '95% Sim-Satt','Location','Best')

Muestra los grados de libertad.

DF
DF = 3.6002 

Más acerca de

expandir todo

Consulte también

| |