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

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 en .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 iniciales 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, la matriz de varianza-covarianza estimada de los coeficientes de regresión y el valor de la función de objetivo de probabilidad de registro después de la última iteración.ECovBlogL

Ejemplos

contraer todo

Ajuste un modelo de regresión multivariante a los datos del panel, suponiendo diferentes interceptaciones y pendientes comunes.

Cargue los datos de ejemplo.

load('flu') 

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

Extraiga la respuesta y los datos del predictor.

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

Las respuestas son las nueve estimaciones regionales de gripe.Y Existen observaciones por cada semana durante un período de un año, por lo que $n$ N.o 52. La dimensión de las respuestas corresponde a las regiones, por lo que $d$ N.o 9. Los predictores son las estimaciones semanales de gripe nacional.x

Trazar 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 multivariante

$$ y_{ij} = \alpha_j + \beta x_{ij} + \epsilon_{ij},$$

Dónde $i=1,\dots,n$ Y $j=1,\dots,d$, con correlación simultánea entre regiones

$$ COV(\epsilon_{ij},\epsilon_{ij}) = \sigma_{jj}.$$

Hay $K$ • 10 coeficientes de regresión para estimar: nueve términos de interceptación y una pendiente común. El argumento de entrada debe ser unX $n$-matriz de celdas de elementos de $d$ -por- $K$ 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 de labeta $K$Vector de coeficiente dimensional

$$ (\alpha_1,\alpha_2,\dots,\alpha_9,\beta)'. $$

contiene estimaciones de laSigma $d$ -por- $d$ Matriz de varianza-covarianza ${( \sigma_{ij} )}_{d \times d}$, $i,j = 1,\dots,d$ para las correlaciones simultáneas entre regiones.

Trazar el modelo de regresión ajustado.

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

El trazado 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 otras.

Ajuste un modelo de regresión multivariante a los datos del panel utilizando mínimos cuadrados, suponiendo diferentes interceptaciones y pendientes.

Cargue los datos de ejemplo.

load('flu'); 

La matriz de conjuntos de datos contiene estimaciones nacionales de la gripe de los CDC y nueve estimaciones regionales independientes basadas en consultas ® Google.flu

Extraiga la respuesta y los datos del predictor.

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

Las respuestas son las nueve estimaciones regionales de gripe.Y Existen observaciones por cada semana durante un período de un año, por lo que $n$ N.o 52. La dimensión de las respuestas corresponde a las regiones, por lo que $d$ N.o 9. Los predictores son las estimaciones semanales de gripe nacional.x

Ajuste el modelo de regresión multivariante

$$ y_{ij} = \alpha_j + \beta_j x_{ij} + \epsilon_{ij},$$

Dónde $i=1,\dots,n$ Y $j=1,\dots,d$, con correlación simultánea entre regiones

$$ COV(\epsilon_{ij},\epsilon_{ij}) = \sigma_{jj}.$$

Hay $K$ • 18 coeficientes de regresión para estimar: nueve términos de interceptación y nueve términos de pendiente. es unX $n$-matriz de celdas de elementos de $d$ -por- $K$ 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 de labeta $K$Vector de coeficiente dimensional

$$ (\alpha_1,\alpha_2,\dots,\alpha_9,\beta_1,\beta_2,\dots,\beta_9)'. $$

Trazar el modelo de regresión ajustado.

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

El trazado muestra que cada línea de regresión tiene una intercepción y una pendiente diferentes.

Ajustar un modelo de regresión multivariante con un solo modelo de regresión

<math display="block">
<mrow>
<mi>n</mi>
</mrow>
</math>
-por-
<math display="block">
<mrow>
<mi>P</mi>
</mrow>
</math>
matriz de diseño para todas las dimensiones de respuesta.

Cargue los datos de ejemplo.

load('flu')

La matriz de conjuntos de datos contiene estimaciones nacionales de la gripe de los CDC y nueve estimaciones regionales independientes basadas en consultas ® Google.flu

Extraiga la respuesta y los datos del predictor.

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

Las respuestas son las nueve estimaciones regionales de gripe.Y Existen observaciones por cada semana durante un período de un año, por lo que

<math display="block">
<mrow>
<mi>n</mi>
</mrow>
</math>
N.o 52. La dimensión de las respuestas corresponde a las regiones, por lo que
<math display="block">
<mrow>
<mi>d</mi>
</mrow>
</math>
N.o 9. Los predictores son las estimaciones semanales de gripe nacional.x

Crear un

<math display="block">
<mrow>
<mi>n</mi>
</mrow>
</math>
-por-
<math display="block">
<mrow>
<mi>P</mi>
</mrow>
</math>
matriz de diseño .X Agregue una columna de varios para incluir un término constante en la regresión.

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

Ajuste el modelo de regresión multivariante

<math display="block">
<mrow>
<msub>
<mrow>
<mi>y</mi>
</mrow>
<mrow>
<mi>i</mi>
<mi>j</mi>
</mrow>
</msub>
<mo>=</mo>
<msub>
<mrow>
<mi>α</mi>
</mrow>
<mrow>
<mi>j</mi>
</mrow>
</msub>
<mo>+</mo>
<msub>
<mrow>
<mi>β</mi>
</mrow>
<mrow>
<mi>j</mi>
</mrow>
</msub>
<msub>
<mrow>
<mi>x</mi>
</mrow>
<mrow>
<mi>i</mi>
<mi>j</mi>
</mrow>
</msub>
<mo>+</mo>
<msub>
<mrow>
<mi>ϵ</mi>
</mrow>
<mrow>
<mi>i</mi>
<mi>j</mi>
</mrow>
</msub>
<mo>,</mo>
</mrow>
</math>

Dónde

<math display="block">
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
<mo>,</mo>
<mo></mo>
<mo>,</mo>
<mi>n</mi>
</mrow>
</math>
Y
<math display="block">
<mrow>
<mi>j</mi>
<mo>=</mo>
<mn>1</mn>
<mo>,</mo>
<mo></mo>
<mo>,</mo>
<mi>d</mi>
</mrow>
</math>
, con correlación simultánea entre regiones

<math display="block">
<mrow>
<mi>C</mi>
<mi>O</mi>
<mi>V</mi>
<mo stretchy="false">(</mo>
<msub>
<mrow>
<mi>ϵ</mi>
</mrow>
<mrow>
<mi>i</mi>
<mi>j</mi>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mrow>
<mi>ϵ</mi>
</mrow>
<mrow>
<mi>i</mi>
<mi>j</mi>
</mrow>
</msub>
<mo stretchy="false">)</mo>
<mo>=</mo>
<msub>
<mrow>
<mi>σ</mi>
</mrow>
<mrow>
<mi>j</mi>
<mi>j</mi>
</mrow>
</msub>
<mo>.</mo>
</mrow>
</math>

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

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

contiene estimaciones de labeta

<math display="block">
<mrow>
<mi>P</mi>
</mrow>
</math>
-por-
<math display="block">
<mrow>
<mi>d</mi>
</mrow>
</math>
matriz de coeficientes. contiene estimaciones de laSigma
<math display="block">
<mrow>
<mi>d</mi>
</mrow>
</math>
-por-
<math display="block">
<mrow>
<mi>d</mi>
</mrow>
</math>
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 de probabilidad de registro después de la última iteración.ECovBlogL

Trazar el modelo de regresión ajustado.

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

El trazado muestra que cada línea de regresión tiene una intercepción y una pendiente diferentes.

Argumentos de entrada

contraer todo

Diseñar matrices para la regresión multivariante, especificada como una matriz o matriz de matrices de células. 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 variables de respuesta.nKpdY

  • Si es 1, especifique como una matriz de diseño única por.dXnK

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

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

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

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

trata los valores como valores que faltan e ignora las filas con valores que faltan.mvregressNaNXX

Tipos de datos: single | double | cell

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

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

Tipos de datos: single | double

Argumentos de par nombre-valor

Especifique pares opcionales separados por comas de argumentos. es el nombre del argumento y es el valor correspondiente. deben aparecer entre comillas.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 ponderadas por covarianza utilizando la matriz de covarianza.'algorithm','cwls','covar0',CC

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

'mvn'Estimación de probabilidad máxima normal multivariante ordinaria.
'ecm'Estimación de máxima verosimilitud a través del algoritmo ECM.
'cwls'Estimación de mínimos cuadrados ponderadas por covarianza.

El algoritmo predeterminado depende de la presencia de datos que faltan.

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

  • Si faltan respuestas (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 que faltan antes de la estimación.algorithm'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 .beta0algorithm'mvn'

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

Si la estimación es , entonces se utiliza como la matriz de ponderación en cada iteración, sin cambiarla.algorithm'cwls'mvregresscovar0

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

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

Ejemplo: 'covtype','diagonal'

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

Las iteraciones continúan hasta que las estimaciones están dentro de las tolerancias de convergencia y , o se alcanza el número máximo de iteraciones especificado por.tolbetatolobjmaxiter Si ambos y son 0, entonces 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 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, las iteraciones continúan. Por ejemplo, puede especificar una función que trace o muestre los resultados de iteración actuales y devuelva si cierra la figura.true

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

  • Vector de estimaciones del coeficiente actual

  • Estructura que contiene estos tres campos:

    CovarValor actual de la matriz de varianza-covarianza
    iterationNúmero de iteración actual
    fvalValor actual de la función objetivo loglikelihood

  • 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 coeficientes de regresión, especificada como el par separado por comas que consta de y un valor escalar positivo.'tolbeta'

Dejar bt denotar 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 están dentro de las tolerancias de convergencia y , o se alcanza el número máximo de iteraciones especificado por.tolbetatolobjmaxiter Si ambos y son 0, entonces realiza iteraciones sin pruebas de convergencia.tolbetatolobjmvregressmaxiter

Ejemplo: 'tolbeta',1e-5

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

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

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

Las iteraciones continúan hasta que las estimaciones están dentro de las tolerancias de convergencia y , o se alcanza el número máximo de iteraciones especificado por.tolbetatolobjmaxiter Si ambos y son 0, entonces realiza iteraciones sin pruebas de convergencia.tolbetatolobjmvregressmaxiter

Ejemplo: 'tolobj',1e-5

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

'beta'Devuelve la matriz de varianza-covarianza solo para las estimaciones del coeficiente de regresión, .beta
'full'Devuelve la matriz de varianza-covarianza tanto para las estimaciones del coeficiente de regresión como para la estimación de matriz de varianza-covarianza, .betaSigma

Ejemplo: 'varformat','full'

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

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

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

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

Ejemplo: 'vartype','fisher'

Argumentos de salida

contraer todo

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

  • Si especifica como una matriz de diseño única por, 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 -by-, 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 10 por 1.Xbeta

  • Si especifica como una matriz de diseño única por (no en una matriz de celdas) y tiene dimensión > 1, se devuelve como una matriz -por-.XnpYdmvregressbetapd Por ejemplo, si es una matriz de diseño de 20 por 5 y tiene dos dimensiones de tal forma que es 2, entonces es una matriz de 5 por 2, y los valores ajustados son .XYdbetaYXbeta

Matriz de varianza-covarianza estimada para las respuestas en , devuelta como una matriz cuadrada -por-.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 ajustado, devueltos como una matriz -by-.nd

Si tiene el valor o , calcula los valores residuales correspondientes a los valores que faltan como la diferencia entre los valores ajustados y los valores ajustados.algorithm'ecm''cwls'mvregressYvalores condicionalmente imputados

Nota

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

Matriz de varianza-covarianza de estimación de parámetros, devuelta como una matriz cuadrada.

  • Si tiene el valor (predeterminado), 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 objetivo Loglikelihood después de la última iteración, devuelto como un valor escalar.

Más acerca de

contraer todo

Regresión normal multivariante

La regresión normal multivariante es la regresión de una respuesta dimensional en una matriz de diseño de variables predictoras, con errores distribuidos normalmente.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 las 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 condicionalmente imputados

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

Dejar y˜ denotan observaciones que faltan. 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 multivariante, la expectativa condicional imputada es dada por

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

Nota

sólo imputa los valores de respuesta que faltan.mvregress Se eliminan las observaciones con valores que faltan 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