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

Predecir la respuesta del modelo de regresión lineal generalizada

Sintaxis

ypred = predict(mdl,Xnew)
[ypred,yci] = predict(mdl,Xnew)
[ypred,yci] = predict(mdl,Xnew,Name,Value)

Descripción

ypred = predict(mdl,Xnew) Devuelve la respuesta pronosticada del modelo de regresión lineal generalizada a los puntos en.mdlXnew

[ypred,yci] = predict(mdl,Xnew) Devuelve intervalos de confianza para las respuestas medias verdaderas.

[ypred,yci] = predict(mdl,Xnew,Name,Value) predice las respuestas con opciones adicionales especificadas por uno o más argumentos de par.Name,Value

Argumentos de entrada

mdl

Modelo lineal generalizado, especificado como un objeto completo construido mediante o, o un objeto compactado construido medianteGeneralizedLinearModelfitglmstepwiseglmCompactGeneralizedLinearModel compact.

Xnew

Puntos en los que predice las respuestas.mdl

  • Si es una matriz de tabla o DataSet, debe contener los nombres de predictor en.Xnewmdl

  • Si es una matriz numérica, debe tener el mismo número de variables (columnas) que se usó para crear.Xnewmdl Además, todas las variables utilizadas en la creación deben ser numéricas.mdl

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

'Alpha'

Escalar positivo desde a.01 El nivel de confianza es 100 (1 –)%.ycialpha

Predeterminado: , lo que significa un intervalo de confianza del 95%.0,05

'BinomialSize'

Valor del parámetro binomial para cada fila de los datos de entrenamiento. puede ser un vector de la misma longitud que, o un escalar que se aplica a cada fila.nBinomialSizeXnew El valor predeterminado produce valores que son proporciones previstas.1ypred Utilice sólo si es apto para una distribución binomial.BinomialSizemdl

Predeterminado: 1

'Offset'

Valor del desfase para cada fila de. puede ser un vector de la misma longitud que, o un escalar que se aplica a cada fila.XnewOffsetXnew El desfase se utiliza como un predictor adicional con un valor de coeficiente fijado en.1 En otras palabras, si es el vector de coeficiente ajustado, y es la función de enlace,blink

.link(ypred) = Offset + Xnew * b

Predeterminado: zeros(size(Xnew,1))

'Simultaneous'

Valor lógico que especifica si los límites de confianza son para todos los valores predictores simultáneamente (), o mantener para cada valor predictor individual ().truefalse Los límites simultáneos son más anchos que los límites independientes, ya que es más estricto exigir que toda la curva esté dentro de los límites que exigir que la curva en un solo valor predictor esté dentro de los límites.

Para obtener más información, consulte.polyconf

Predeterminado: false

Argumentos de salida

ypred

Vector de valores media previstos en.Xnew

yci

Intervalos de confianza, una matriz de dos columnas con cada fila que proporciona un intervalo. El significado del intervalo de confianza depende de la configuración de los pares nombre-valor.

Ejemplos

expandir todo

Cree un modelo lineal generalizado y pronostique su respuesta a los nuevos datos.

Genere datos artificiales para el modelo utilizando números aleatorios de Poisson con dos predictores subyacentes y.X(1)X(2)

rng('default') % For reproducibility rndvars = randn(100,2); X = [2+rndvars(:,1),rndvars(:,2)]; mu = exp(1 + X*[1;2]); y = poissrnd(mu);

Cree un modelo de regresión lineal generalizado de datos de Poisson.

mdl = fitglm(X,y,'y ~ x1 + x2','distr','poisson');

Cree puntos para la predicción.

[Xtest1 Xtest2] = meshgrid(-1:.5:3,-2:.5:2); Xnew = [Xtest1(:),Xtest2(:)];

Predecir respuestas en los nuevos puntos.

ypred = predict(mdl,Xnew);

Trace las predicciones.

surf(Xtest1,Xtest2,reshape(ypred,9,9))

Cree intervalos de confianza en las predicciones.

[ypred yci] = predict(mdl,Xnew);

Entrenar un modelo lineal generalizado y, a continuación, generar código a partir de una función que clasifique las nuevas observaciones basadas en el modelo. Este ejemplo se basa en el ejemplo.Las predicciones del modelo lineal generalizado

Genere datos artificiales.

rng('default') % For reproducibility rndvars = randn(100,2); X = [2+rndvars(:,1),rndvars(:,2)]; mu = exp(1 + X*[1;2]); y = poissrnd(mu); 

Cree un modelo de regresión lineal generalizado. Especifique que la distribución de la respuesta es Poisson.

mdl = fitglm(X,y,'y ~ x1 + x2','Distribution','poisson'); 

Cree puntos para la predicción.

[Xtest1 Xtest2] = meshgrid(-1:.5:3,-2:.5:2); Xnew = [Xtest1(:),Xtest2(:)]; 

Guarde el modelo lineal generalizado ajustado en el archivo.GLMMdl.mat

saveCompactModel(mdl,'GLMMdl'); 

Defina una función en su carpeta de trabajo llamada así:mypredictGLM.m

  • Acepta mediciones con columnas correspondientes a los argumentos de par nombre-valor y válidosXnew

  • Carga el modelo lineal generalizado ajustado enGLMMdl.mat

  • Devuelve predicciones y límites de intervalo de confianza

 function [yhat,ci] = mypredictGLM(x,varargin) %#codegen %MYPREDICTGLM Predict response using GLM model  %   MYPREDICTGLM predicts responses for the n observations in the n-by-1 %   vector x using using the GLM model stored in the MAT-file GLMMdl.mat, %   and then returns the predictions in the n-by-1 vector yhat. %   MYPREDICTGLM also returns confidence interval bounds for the %   predictions in the n-by-2 vector ci. CompactMdl = loadCompactModel('GLMMdl'); narginchk(1,Inf); [yhat,ci] = predict(CompactMdl,x,varargin{:}); end  

Genere una función MEX desde.mypredictGLM.m Especifique el retorno de intervalos de confianza simultáneos del 90% en las predicciones. Dado que C utiliza la tipificación estática, debe determinar las propiedades de todas las variables en los archivos de MATLAB® en tiempo de compilación.codegen Para designar argumentos como constantes de tiempo de compilación, utilice.coder.Constant

codegen -config:mex mypredictGLM -args {Xnew,coder.Constant('Alpha'),0.1,coder.Constant('Simultaneous'),true} 

El archivo MEX genera a su directorio de trabajo.mypredictGLM_mex.mexw64 La extensión de archivo depende de la plataforma del sistema.

Compare las predicciones utilizando y.PredecirmypredictGLM_mex Especifique los argumentos de par nombre-valor en el mismo orden que en el argumento en la llamada a.-argscodegen

[yhat1,ci1] = predict(mdl,Xnew,'Alpha',0.1,'Simultaneous',true); [yhat2,ci2] = mypredictGLM_mex(Xnew,'Alpha',0.1,'Simultaneous',true);  comp1 = (yhat1 - yhat2)'*(yhat1 - yhat2); comp2 = diag((ci1 - ci2)'*(ci1 - ci2)); agree1 = comp1 < eps agree2 = comp2 < eps 
 agree1 =    logical     1   agree2 =    2x1 logical array     1    1  

El archivo MEX generado produce las mismas predicciones que.Predecir

Sugerencias

  • Para las predicciones con ruido añadido, utilice random.

  • Para obtener una sintaxis que puede ser más fácil de usar con los modelos creados a partir de matrices de conjuntos de datos, intente feval.

Alternativas

feval Devuelve las mismas predicciones, pero utiliza matrices de entrada separadas para cada predictor, en lugar de una matriz de entrada que contiene todos los predictores.

random Devuelve predicciones con ruido añadido.

Capacidades ampliadas

Introducido en R2012a