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.

mvregress

La regresión lineal multivariada

Descripción

ejemplo

beta = mvregress(X,Y) Devuelve los coeficientes estimados para una de las respuestas dimensionales en las matrices de diseño.regresión normal multivariadadYX

ejemplo

beta = mvregress(X,Y,Name,Value) Devuelve los coeficientes estimados utilizando opciones adicionales especificadas por uno o más argumentos de par nombre-valor. Por ejemplo, puede especificar el algoritmo de estimación, los valores de estimación inicial o el número máximo de iteraciones para la regresión.

ejemplo

[beta,Sigma] = mvregress(___) también devuelve la matriz estimada por varianza-covarianza de, utilizando cualquiera de los argumentos de entrada de las sintaxis anteriores.ddY

ejemplo

[beta,Sigma,E,CovB,logL] = mvregress(___) también devuelve una matriz de residuos, una matriz de varianza-covarianza estimada de los coeficientes de regresión y el valor de la función de objetivo log verosimilitud después de la última iteración.ECovBlogL

Ejemplos

contraer todo

Ajuste un modelo de regresión multivariada a los datos del panel, asumiendo diferentes Interceptas y pendientes comunes.

Cargue los datos de ejemplo.

load('flu') 

La matriz de DataSet contiene estimaciones nacionales de la gripe CDC y nueve estimaciones regionales separadas basadas en datos de consulta de Google®.flu

Extraiga los datos de respuesta y predictor.

Y = double(flu(:,2:end-1)); [n,d] = size(Y); x = flu.WtdILI; 

Las respuestas son las nueve estimaciones regionales de la gripe.Y Las observaciones existen para cada semana durante un período de un año, por lo que = 52. La dimensión de las respuestas corresponde a las regiones, por lo que = 9. Los predictores en son las estimaciones de la gripe nacional semanal.x

Graficar los datos de la gripe, agrupados por región.

figure; regions = flu.Properties.VarNames(2:end-1); plot(x,Y,'x') legend(regions,'Location','NorthWest') 

Ajuste el modelo de regresión multivariada

Dónde Y , con correlación simultánea entre regiones

Hay = 10 coeficientes de regresión a estimar: nueve términos de intercepción y una pendiente común. El argumento de entrada debe ser unX matriz de celdas de elementos de por matrices de diseño.

X = cell(n,1); for i = 1:n  X{i} = [eye(d) repmat(x(i),d,1)]; end [beta,Sigma] = mvregress(X,Y); 

contiene estimaciones delbeta Vector de coeficiente dimensional

contiene estimaciones delSigma por matriz de varianza-covarianza , para las correlaciones simultáneas entre regiones.

Trace el modelo de regresión ajustada.

B = [beta(1:d)';repmat(beta(end),1,d)]; xx = linspace(.5,3.5)'; fits = [ones(size(xx)),xx]*B;  figure; h = plot(x,Y,'x',xx,fits,'-'); for i = 1:d  set(h(d+i),'color',get(h(i),'color')); end legend(regions,'Location','NorthWest'); 

La gráfica muestra que cada línea de regresión tiene una intercepción diferente pero la misma pendiente. Tras la inspección visual, algunas líneas de regresión parecen ajustarse mejor a los datos que otros.

Ajuste un modelo de regresión multivariada a los datos del panel utilizando mínimos cuadrados, asumiendo diferentes Interceptas y pendientes.

Cargue los datos de ejemplo.

load('flu'); 

La matriz de DataSet contiene estimaciones nacionales de la gripe CDC y nueve estimaciones regionales separadas basadas en las consultas de Google®.flu

Extraiga los datos de respuesta y predictor.

Y = double(flu(:,2:end-1)); [n,d] = size(Y); x = flu.WtdILI; 

Las respuestas son las nueve estimaciones regionales de la gripe.Y Las observaciones existen para cada semana durante un período de un año, por lo que = 52. La dimensión de las respuestas corresponde a las regiones, por lo que = 9. Los predictores en son las estimaciones de la gripe nacional semanal.x

Ajuste el modelo de regresión multivariada

Dónde Y , con correlación simultánea entre regiones

Hay = 18 coeficientes de regresión para estimar: nueve términos de intercepción y nueve términos de pendiente. es unaX matriz de celdas de elementos de por matrices de diseño.

X = cell(n,1); for i = 1:n     X{i} = [eye(d) x(i)*eye(d)]; end [beta,Sigma] = mvregress(X,Y,'algorithm','cwls'); 

contiene estimaciones delbeta Vector de coeficiente dimensional

Trace el modelo de regresión ajustada.

B = [beta(1:d)';beta(d+1:end)']; xx = linspace(.5,3.5)'; fits = [ones(size(xx)),xx]*B;  figure; h = plot(x,Y,'x',xx,fits,'-'); for i = 1:d  set(h(d+i),'color',get(h(i),'color')); end  regions = flu.Properties.VarNames(2:end-1); legend(regions,'Location','NorthWest'); 

La gráfica muestra que cada línea de regresión tiene una intercepción y una pendiente diferentes.

Ajuste un modelo de regresión multivariada con una sola por matriz de diseño para todas las dimensiones de respuesta.

Cargue los datos de ejemplo.

load('flu'); 

La matriz de DataSet contiene estimaciones nacionales de la gripe CDC y nueve estimaciones regionales separadas basadas en las consultas de Google®.flu

Extraiga los datos de respuesta y predictor.

Y = double(flu(:,2:end-1)); [n,d] = size(Y); x = flu.WtdILI; 

Las respuestas son las nueve estimaciones regionales de la gripe.Y Las observaciones existen para cada semana durante un período de un año, por lo que = 52. La dimensión de las respuestas corresponde a las regiones, por lo que = 9. Los predictores en son las estimaciones de la gripe nacional semanal.x

Cree una por matriz de diseño.X Agregue una columna de unos para incluir un término constante en la regresión.

X = [ones(size(x)),x]; 

Ajuste el modelo de regresión multivariada

Dónde Y , con correlación simultánea entre regiones

Hay 18 coeficientes de regresión para estimar: nueve términos de intercepción y nueve términos de pendiente.

[beta,Sigma,E,CovB,logL] = mvregress(X,Y); 

contiene estimaciones delbeta por matriz de coeficiente. contiene estimaciones delSigma por matriz de varianza-covarianza para las correlaciones simultáneas entre regiones. es una matriz de los residuos. es la matriz de varianza-covarianza estimada de los coeficientes de regresión. es el valor de la función de objetivo log verosimilitud después de la última iteración.ECovBlogL

Trace el modelo de regresión ajustada.

B = beta; xx = linspace(.5,3.5)'; fits = [ones(size(xx)),xx]*B;  figure; h = plot(x,Y,'x', xx,fits,'-'); for i = 1:d     set(h(d+i),'color',get(h(i),'color')); end  regions = flu.Properties.VarNames(2:end-1); legend(regions,'Location','NorthWest'); 

La gráfica muestra que cada línea de regresión tiene una intercepción y una pendiente diferentes.

Argumentos de entrada

contraer todo

Matrices de diseño para la regresión multivariada, especificadas como matriz o array de celdas de matrices. es el número de observaciones en los datos, es el número de coeficientes de regresión a estimar, es el número de variables predictoras, y es el número de dimensiones en la matriz de variable de respuesta.nKpdY

  • If = 1, a continuación, especifique como una matriz de un solo diseño.dXnK

  • Si > 1 y todas las dimensiones tienen la misma matriz de diseño, entonces puede especificar como una matriz de un solo diseño (no en una matriz de celdas).ddXnp

  • Si > 1 y todas las observaciones tienen la misma matriz de diseño, entonces puede especificar como una matriz de celdas que contiene una matriz de un solo diseño.dnXdK

  • Si > 1 y todas las observaciones no tienen la misma matriz de diseño, entonces especifique como una matriz de celdas de longitud que contiene matrices de diseño.dnXndK

Para incluir un término constante en el modelo de regresión, cada matriz de diseño debe contener una columna de unos.

trata los valores como valores faltantes y omite las filas con valores faltantes.mvregressNaNXX

Tipos de datos: single | double | cell

Variables de respuesta, especificadas como una-por-matriz. es el número de observaciones en los datos y es el número de dimensiones en la respuesta.ndnd When = 1, trata los valores como valores de respuesta independientes.dmvregressYn

trata los valores como valores faltantes y los controla según el algoritmo de estimación especificado mediante el argumento de par nombre-valor.mvregressNaNYAlgoritmo

Tipos de datos: single | double

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 la estimación de mínimos cuadrados ponderados por covarianza mediante la matriz de covarianza.'algorithm','cwls','covar0',CC

Algoritmo de estimación, especificado como el par separado por comas y que consta de uno de los siguientes.'algorithm'

'mvn'Estimación normal de la máxima verosimilitud ordinaria multivariada.
'ecm'Estimación de máxima verosimilitud mediante el algoritmo ECM.
'cwls'Estimación de mínimos cuadrados ponderados por covarianza.

El algoritmo predeterminado depende de la presencia de datos faltantes.

  • Para obtener datos completos, el valor predeterminado es.'mvn'

  • Si hay respuestas faltantes (indicadas por), el valor predeterminado es, siempre que el tamaño de la muestra sea suficiente para estimar todos los parámetros.NaN'ecm' De lo contrario, el algoritmo predeterminado es.'cwls'

Nota

Si tiene el valor, elimina las observaciones con valores de respuesta faltantes antes de la estimación.Algoritmo'mvn'mvregress

Ejemplo: 'algorithm','ecm'

Estimaciones iniciales para los coeficientes de regresión, especificadas como el par separado por comas que consta de y un vector con elementos.'beta0'K El valor predeterminado es un vector de 0s.

El argumento no se utiliza si la estimación es.beta0Algoritmo'mvn'

Estimación inicial para la matriz de varianza-covarianza, especificada como el par separado por comas que consiste en una matriz simétrica, positiva y definida por una.Sigma'covar0'dd El valor predeterminado es la matriz de identidad.

Si la estimación es, a continuación, se utiliza como la matriz de ponderación en cada iteración, sin cambiarlo.Algoritmo'cwls'mvregresscovar0

Tipo de varianza-matriz de covarianza a estimar para, especificado como el par separado por comas que consta de y uno de los siguientes.Y'covtype'

'full'Estimar todos los elementos (+ 1)/2 varianza-covarianza.dd
'diagonal'Calcule sólo los elementos diagonales de la matriz de varianzas-covarianzas.d

Ejemplo: 'covtype','diagonal'

Número máximo de iteraciones para el algoritmo de estimación, especificado como el par separado por comas y que consta de un entero positivo.'maxiter'

Las iteraciones continúan hasta que las estimaciones se encuentran dentro de las tolerancias de convergencia y, o se alcanza el número máximo de iteraciones especificadas.tolbetatolobjmaxiter Si ambos y son 0, a continuación, realiza iteraciones sin pruebas de convergencia.tolbetatolobjmvregressmaxiter

Ejemplo: 'maxiter',50

Función para evaluar en cada iteración, especificada como el par separado por comas que consta de y un identificador de función.'outputfcn' La función debe devolver un valor lógico o.truefalse En cada iteración, evalúa la función.mvregress Si el resultado es, las iteraciones se detienen.true De lo contrario, continúan las iteraciones. Por ejemplo, puede especificar una función que Trace o muestre los resultados de la iteración actual, y devuelve si cierra la figura.true

La función debe aceptar tres argumentos de entrada, en este orden:

  • Vector de las estimaciones de coeficiente actuales

  • Estructura que contiene estos tres campos:

    CovarEl valor actual de la matriz de varianza-covarianza
    iterationNúmero de iteración actual
    fvalEl valor actual de la función objetivo de logverosimilitud

  • Texto que toma estos tres valores:

    'init'Cuando se llama a la función durante la inicialización
    'iter'Cuando se llama a la función después de una iteración
    'done'Cuando se llama a la función después de la finalización

Tolerancia de convergencia para los coeficientes de regresión, especificado como el par separado por comas que consta de y un valor escalar positivo.'tolbeta'

Dejar bt denotan la estimación del vector de coeficiente en la iteración, yt τβ ser la tolerancia especificada por.tolbeta El criterio de convergencia para la estimación del coeficiente de regresión es

btbt1<τβK(1+bt),

¿Dónde está la longitud deK bt Y v es la norma de un vector v.

Las iteraciones continúan hasta que las estimaciones se encuentran dentro de las tolerancias de convergencia y, o se alcanza el número máximo de iteraciones especificadas.tolbetatolobjmaxiter Si ambos y son 0, a continuación, realiza iteraciones sin pruebas de convergencia.tolbetatolobjmvregressmaxiter

Ejemplo: 'tolbeta',1e-5

Tolerancia de convergencia para la función de objetivo de logverosimilitud, especificada como el par separado por comas que consta de y un valor escalar positivo.'tolobj'

Dejar Lt denotan el valor de la función de objetivo de logverosimilitud en la iteración yt τ ser la tolerancia especificada por.tolobj El criterio de convergencia para la función objetiva es

|LtLt1|<τ(1+|Lt|).

Las iteraciones continúan hasta que las estimaciones se encuentran dentro de las tolerancias de convergencia y, o se alcanza el número máximo de iteraciones especificadas.tolbetatolobjmaxiter Si ambos y son 0, a continuación, realiza iteraciones sin pruebas de convergencia.tolbetatolobjmvregressmaxiter

Ejemplo: 'tolobj',1e-5

Formato para el parámetro de estimación de varianza-covarianza matriz,, especificado como el par separado por comas que consta de y uno de los siguientes.CovB'varformat'

'beta'Devuelva la matriz de varianzas-covarianzas sólo para las estimaciones del coeficiente de regresión.beta
'full'Devuelva la matriz de varianza-covarianza tanto para las estimaciones del coeficiente de regresión como para la estimación de la matriz de varianzas-covarianzas.betaSigma

Ejemplo: 'varformat','full'

Tipo de matriz de varianza-covarianza para las estimaciones de parámetros, especificada como el par separado por comas que consta de y cualquiera o.'vartype''hessian''fisher'

  • Si el valor es, a continuación, utiliza la información hessian, o observada, matriz para calcular.'hessian'mvregressCovB

  • Si el valor es, a continuación, utiliza el Fisher de datos completos, o información esperada, matriz para calcular.'fisher'mvregressCovB

El método tiene en cuenta el aumento de incertidumbres debido a la falta de datos, mientras que el método no lo hace.'hessian''fisher'

Ejemplo: 'vartype','fisher'

Argumentos de salida

contraer todo

Coeficientes de regresión estimados, devueltos como vector de columna o matriz.

  • Si se especifica como una matriz de un solo por diseño, a continuación, se devuelve como un vector de columna de longitud.XnKmvregressbetaK Por ejemplo, si es una matriz de diseño de 20 por 5, entonces es un vector de columna de 5 por 1.Xbeta

  • Si especifica como una matriz de celdas que contiene una o más matrices de diseño, a continuación, devuelve como un vector de columna de longitud.XdKmvregressbetaK Por ejemplo, si es una matriz de celdas que contiene matrices de diseño de 2 por 10, entonces es un vector de columna de 10 por 1.Xbeta

  • Si se especifica como una matriz de un solo por diseño (no en una matriz de celdas), y tiene la dimensión > 1, a continuación, devuelve como una matriz.XnpYdmvregressbetapd Por ejemplo, si es una matriz de diseño de 20 por 5, y tiene dos dimensiones tales que = 2, entonces es una matriz de 5 por 2, y los valores ajustados son ×.XYdbetaYXbeta

Varianza estimada-matriz de covarianza para las respuestas en, devuelta como matriz a-por-cuadrado.Ydd

Nota

La matriz de varianza-covarianza estimada, no es la matriz de covarianza de muestra de la matriz residual,.SigmaE

Residuales para el modelo de regresión ajustada, devuelto como una matriz.nd

Si tiene el valor o, a continuación, calcula los valores residuales correspondientes a los valores faltantes en como la diferencia entre los valores ajustados y.Algoritmo'ecm''cwls'mvregressYvalores imputados condicionalmente

Nota

Si tiene el valor, elimina las observaciones con valores de respuesta faltantes antes de la estimación.Algoritmo'mvn'mvregress

Varianza de estimación de parámetro-matriz de covarianza, devuelta como una matriz cuadrada.

  • Si tiene el valor (predeterminado), entonces es la matriz de varianza-covarianza estimada de las estimaciones de coeficiente en.varformat'beta'CovBbeta

  • Si tiene el valor, entonces es la matriz de varianza-covarianza estimada de las estimaciones combinadas en y.varformat'full'CovBbetaSigma

Valor de la función objetiva de logverosimilitud después de la última iteración, devuelta como un valor escalar.

Más acerca de

contraer todo

Regresión normal multivariada

La regresión normal multivariada es la regresión de una respuesta dimensional en una matriz de diseño de variables predictoras, con errores normalmente distribuidos.d Los errores pueden ser heteroscedásticos y correlacionados.

El modelo es

yi=Xiβ+ei,i=1,,n,

Dónde

  • yi es un vector dimensional de respuestas.d

  • Xi es una matriz de diseño de variables predictoras.

  • β es vector o matriz de coeficientes de regresión.

  • ei es un vector dimensional de términos de error, con distribución normal multivariadad

    ei~MVNd(0,Σ).

Valores imputados condicionalmente

Los algoritmos de estimación de expectativa/maximización condicional () y de mínimos cuadrados ponderados por covarianza () incluyen la imputación de los valores de respuesta faltantes.'ecm''cwls'

Dejar y˜ denotan las observaciones faltantes. Los valores imputados condicionalmente son el valor esperado de la observación faltante dados los datos observados, Ε(y˜|y).

La distribución conjunta de las respuestas faltantes y observadas es una distribución normal multivariada,

(y˜y)~MVN{(X˜βXβ),(Σy˜Σy˜yΣyy˜Σy)}.

Utilizando las propiedades de la distribución normal multivariada, la expectativa condicional imputada viene dada por

Ε(y˜|y)=X˜β+Σy˜yΣy1(yXβ).

Nota

solo imputa los valores de respuesta faltantes.mvregress Se eliminan las observaciones con valores faltantes en la matriz de diseño.

Referencias

[1] Little, Roderick J. A., and Donald B. Rubin. Statistical Analysis with Missing Data. 2nd ed., Hoboken, NJ: John Wiley & Sons, Inc., 2002.

[2] Meng, Xiao-Li, and Donald B. Rubin. “Maximum Likelihood Estimation via the ECM Algorithm.” Biometrika. Vol. 80, No. 2, 1993, pp. 267–278.

[3] Sexton, Joe, and A. R. Swensen. “ECM Algorithms that Converge at the Rate of EM.” Biometrika. Vol. 87, No. 3, 2000, pp. 651–662.

[4] Dempster, A. P., N. M. Laird, and D. B. Rubin. “Maximum Likelihood from Incomplete Data via the EM Algorithm.” Journal of the Royal Statistical Society. Series B, Vol. 39, No. 1, 1977, pp. 1–37.

Introducido en R2006b