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.

Modelo lineal general multivariado

En este ejemplo se muestra cómo configurar un modelo lineal general multivariado para la estimación mediante.mvregress

Cargue datos de muestra.

Estos datos contienen mediciones en una muestra de 205 importaciones de automóviles de 1985.

Aquí, modele la respuesta bivariada de la ciudad y la carretera MPG (columnas 14 y 15).

Para los predictores, utilice la base de la rueda (columna 3), el peso en vacío (columna 7) y el tipo de combustible (columna 18). Los dos primeros predictores son continuos y, en este ejemplo, se centran y se escalan. El tipo de combustible es una variable categórica con dos categorías (y), por lo que se necesita una variable indicadora ficticia para la regresión.1120

load('imports-85') Y = X(:,14:15); [n,d] = size(Y);  X1 = zscore(X(:,3)); X2 = zscore(X(:,7)); X3 = X(:,18)==20;  Xmat = [ones(n,1) X1 X2 X3];

La variable está codificada para tener valor para el tipo de combustible 20, y valor en caso contrario.X310

Para mayor comodidad, los tres predictores (base de rueda, peso en vacío y indicador de tipo de combustible) se combinan en una matriz de diseño, con un término de intercepción añadido.

Configurar matrices de diseño.

Dados estos predictores, el modelo lineal general multivariado para la respuesta de MPG bivariado es

<math display="block">
<mrow>
<mrow>
<mo>[</mo>
<mtable columnalign="center center">
<mtr>
<mtd>
<mrow>
<msub>
<mrow>
<mi>y</mi>
</mrow>
<mrow>
<mn>1</mn>
<mn>1</mn>
</mrow>
</msub>
</mrow>
</mtd>
<mtd>
<mrow>
<msub>
<mrow>
<mi>y</mi>
</mrow>
<mrow>
<mn>1</mn>
<mn>2</mn>
</mrow>
</msub>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mrow>
<mi>y</mi>
</mrow>
<mrow>
<mn>2</mn>
<mn>1</mn>
</mrow>
</msub>
</mrow>
</mtd>
<mtd>
<mrow>
<msub>
<mrow>
<mi>y</mi>
</mrow>
<mrow>
<mn>2</mn>
<mn>2</mn>
</mrow>
</msub>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mo></mo>
</mrow>
</mtd>
<mtd>
<mrow>
<mo></mo>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mrow>
<mi>y</mi>
</mrow>
<mrow>
<mi>n</mi>
<mn>1</mn>
</mrow>
</msub>
</mrow>
</mtd>
<mtd>
<mrow>
<msub>
<mrow>
<mi>y</mi>
</mrow>
<mrow>
<mi>n</mi>
<mn>2</mn>
</mrow>
</msub>
</mrow>
</mtd>
</mtr>
</mtable>
<mo>]</mo>
</mrow>
<mo>=</mo>
<mrow>
<mo>[</mo>
<mtable columnalign="center center center center">
<mtr>
<mtd>
<mrow>
<mn>1</mn>
</mrow>
</mtd>
<mtd>
<mrow>
<msub>
<mrow>
<mi>x</mi>
</mrow>
<mrow>
<mn>1</mn>
<mn>1</mn>
</mrow>
</msub>
</mrow>
</mtd>
<mtd>
<mrow>
<msub>
<mrow>
<mi>x</mi>
</mrow>
<mrow>
<mn>1</mn>
<mn>2</mn>
</mrow>
</msub>
</mrow>
</mtd>
<mtd>
<mrow>
<msub>
<mrow>
<mi>x</mi>
</mrow>
<mrow>
<mn>1</mn>
<mn>3</mn>
</mrow>
</msub>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mn>1</mn>
</mrow>
</mtd>
<mtd>
<mrow>
<msub>
<mrow>
<mi>x</mi>
</mrow>
<mrow>
<mn>2</mn>
<mn>1</mn>
</mrow>
</msub>
</mrow>
</mtd>
<mtd>
<mrow>
<msub>
<mrow>
<mi>x</mi>
</mrow>
<mrow>
<mn>2</mn>
<mn>2</mn>
</mrow>
</msub>
</mrow>
</mtd>
<mtd>
<mrow>
<msub>
<mrow>
<mi>x</mi>
</mrow>
<mrow>
<mn>2</mn>
<mn>3</mn>
</mrow>
</msub>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mo></mo>
</mrow>
</mtd>
<mtd>
<mrow>
<mo></mo>
</mrow>
</mtd>
<mtd>
<mrow>
<mo></mo>
</mrow>
</mtd>
<mtd>
<mrow>
<mo></mo>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mn>1</mn>
</mrow>
</mtd>
<mtd>
<mrow>
<msub>
<mrow>
<mi>x</mi>
</mrow>
<mrow>
<mi>n</mi>
<mn>1</mn>
</mrow>
</msub>
</mrow>
</mtd>
<mtd>
<mrow>
<msub>
<mrow>
<mi>x</mi>
</mrow>
<mrow>
<mi>n</mi>
<mn>2</mn>
</mrow>
</msub>
</mrow>
</mtd>
<mtd>
<mrow>
<msub>
<mrow>
<mi>x</mi>
</mrow>
<mrow>
<mi>n</mi>
<mn>3</mn>
</mrow>
</msub>
</mrow>
</mtd>
</mtr>
</mtable>
<mo>]</mo>
</mrow>
<mrow>
<mo>[</mo>
<mtable columnalign="center center">
<mtr>
<mtd>
<mrow>
<msub>
<mrow>
<mi>β</mi>
</mrow>
<mrow>
<mn>0</mn>
<mn>1</mn>
</mrow>
</msub>
</mrow>
</mtd>
<mtd>
<mrow>
<msub>
<mrow>
<mi>β</mi>
</mrow>
<mrow>
<mn>0</mn>
<mn>2</mn>
</mrow>
</msub>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mrow>
<mi>β</mi>
</mrow>
<mrow>
<mn>1</mn>
<mn>1</mn>
</mrow>
</msub>
</mrow>
</mtd>
<mtd>
<mrow>
<msub>
<mrow>
<mi>β</mi>
</mrow>
<mrow>
<mn>1</mn>
<mn>2</mn>
</mrow>
</msub>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mrow>
<mi>β</mi>
</mrow>
<mrow>
<mn>2</mn>
<mn>1</mn>
</mrow>
</msub>
</mrow>
</mtd>
<mtd>
<mrow>
<msub>
<mrow>
<mi>β</mi>
</mrow>
<mrow>
<mn>2</mn>
<mn>2</mn>
</mrow>
</msub>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mrow>
<mi>β</mi>
</mrow>
<mrow>
<mn>3</mn>
<mn>1</mn>
</mrow>
</msub>
</mrow>
</mtd>
<mtd>
<mrow>
<msub>
<mrow>
<mi>β</mi>
</mrow>
<mrow>
<mn>3</mn>
<mn>2</mn>
</mrow>
</msub>
</mrow>
</mtd>
</mtr>
</mtable>
<mo>]</mo>
</mrow>
<mo>+</mo>
<mrow>
<mo>[</mo>
<mtable columnalign="center center">
<mtr>
<mtd>
<mrow>
<msub>
<mrow>
<mi>ϵ</mi>
</mrow>
<mrow>
<mn>1</mn>
<mn>1</mn>
</mrow>
</msub>
</mrow>
</mtd>
<mtd>
<mrow>
<msub>
<mrow>
<mi>ϵ</mi>
</mrow>
<mrow>
<mn>1</mn>
<mn>2</mn>
</mrow>
</msub>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mrow>
<mi>ϵ</mi>
</mrow>
<mrow>
<mn>2</mn>
<mn>1</mn>
</mrow>
</msub>
</mrow>
</mtd>
<mtd>
<mrow>
<msub>
<mrow>
<mi>ϵ</mi>
</mrow>
<mrow>
<mn>2</mn>
<mn>2</mn>
</mrow>
</msub>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mo></mo>
</mrow>
</mtd>
<mtd>
<mrow>
<mo></mo>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mrow>
<mi>ϵ</mi>
</mrow>
<mrow>
<mi>n</mi>
<mn>1</mn>
</mrow>
</msub>
</mrow>
</mtd>
<mtd>
<mrow>
<msub>
<mrow>
<mi>ϵ</mi>
</mrow>
<mrow>
<mi>n</mi>
<mn>2</mn>
</mrow>
</msub>
</mrow>
</mtd>
</mtr>
</mtable>
<mo>]</mo>
</mrow>
<mo>,</mo>
</mrow>
</math>

Dónde

<math display="block">
<mrow>
<msub>
<mrow>
<mi>ϵ</mi>
</mrow>
<mrow>
<mi>i</mi>
</mrow>
</msub>
<mo>=</mo>
<msup>
<mrow>
<mo>(</mo>
<msub>
<mrow>
<mi>ϵ</mi>
</mrow>
<mrow>
<mi>i</mi>
<mn>1</mn>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mrow>
<mi>ϵ</mi>
</mrow>
<mrow>
<mi>i</mi>
<mn>2</mn>
</mrow>
</msub>
<mo>)</mo>
</mrow>
<mrow>
<mo></mo>
</mrow>
</msup>
<mo>-</mo>
<mi>M</mi>
<mi>V</mi>
<mi>N</mi>
<mo stretchy="false">(</mo>
<mn>0</mn>
<mo>,</mo>
<mi>Σ</mi>
<mo stretchy="false">)</mo>
</mrow>
</math>
. Hay
<math display="block">
<mrow>
<mi>K</mi>
<mo>=</mo>
<mn>8</mn>
</mrow>
</math>
coeficientes de regresión en total.

Cree una longitud

<math display="block">
<mrow>
<mi>n</mi>
<mo>=</mo>
<mn>2</mn>
<mn>0</mn>
<mn>5</mn>
</mrow>
</math>
matriz de celdas de matrices de 2 por 8 (d-por-K) para su uso con.mvregress La matriz ITH en la matriz de celdas es

<math display="block">
<mrow>
<mi>X</mi>
<mo stretchy="false">(</mo>
<mi>i</mi>
<mo stretchy="false">)</mo>
<mo>=</mo>
<mrow>
<mo>[</mo>
<mtable columnalign="center center center center center center center center">
<mtr>
<mtd>
<mrow>
<mn>1</mn>
</mrow>
</mtd>
<mtd>
<mrow>
<mn>0</mn>
</mrow>
</mtd>
<mtd>
<mrow>
<msub>
<mrow>
<mi>x</mi>
</mrow>
<mrow>
<mi>i</mi>
<mn>1</mn>
</mrow>
</msub>
</mrow>
</mtd>
<mtd>
<mrow>
<mn>0</mn>
</mrow>
</mtd>
<mtd>
<mrow>
<msub>
<mrow>
<mi>x</mi>
</mrow>
<mrow>
<mi>i</mi>
<mn>2</mn>
</mrow>
</msub>
</mrow>
</mtd>
<mtd>
<mrow>
<mn>0</mn>
</mrow>
</mtd>
<mtd>
<mrow>
<msub>
<mrow>
<mi>x</mi>
</mrow>
<mrow>
<mi>i</mi>
<mn>3</mn>
</mrow>
</msub>
</mrow>
</mtd>
<mtd>
<mrow>
<mn>0</mn>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mn>0</mn>
</mrow>
</mtd>
<mtd>
<mrow>
<mn>1</mn>
</mrow>
</mtd>
<mtd>
<mrow>
<mn>0</mn>
</mrow>
</mtd>
<mtd>
<mrow>
<msub>
<mrow>
<mi>x</mi>
</mrow>
<mrow>
<mi>i</mi>
<mn>1</mn>
</mrow>
</msub>
</mrow>
</mtd>
<mtd>
<mrow>
<mn>0</mn>
</mrow>
</mtd>
<mtd>
<mrow>
<msub>
<mrow>
<mi>x</mi>
</mrow>
<mrow>
<mi>i</mi>
<mn>2</mn>
</mrow>
</msub>
</mrow>
</mtd>
<mtd>
<mrow>
<mn>0</mn>
</mrow>
</mtd>
<mtd>
<mrow>
<msub>
<mrow>
<mi>x</mi>
</mrow>
<mrow>
<mi>i</mi>
<mn>3</mn>
</mrow>
</msub>
</mrow>
</mtd>
</mtr>
</mtable>
<mo>]</mo>
</mrow>
<mo>.</mo>
</mrow>
</math>

Xcell = cell(1,n); for i = 1:n     Xcell{i} = [kron([Xmat(i,:)],eye(d))]; end

Dada esta especificación de las matrices de diseño, el vector de parámetro correspondiente es

<math display="block">
<mrow>
<mi>β</mi>
<mo>=</mo>
<mrow>
<mo>[</mo>
<mtable columnalign="center">
<mtr>
<mtd>
<mrow>
<msub>
<mrow>
<mi>β</mi>
</mrow>
<mrow>
<mn>0</mn>
<mn>1</mn>
</mrow>
</msub>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mrow>
<mi>β</mi>
</mrow>
<mrow>
<mn>0</mn>
<mn>2</mn>
</mrow>
</msub>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mrow>
<mi>β</mi>
</mrow>
<mrow>
<mn>1</mn>
<mn>1</mn>
</mrow>
</msub>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mrow>
<mi>β</mi>
</mrow>
<mrow>
<mn>1</mn>
<mn>2</mn>
</mrow>
</msub>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mrow>
<mi>β</mi>
</mrow>
<mrow>
<mn>2</mn>
<mn>1</mn>
</mrow>
</msub>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mrow>
<mi>β</mi>
</mrow>
<mrow>
<mn>2</mn>
<mn>2</mn>
</mrow>
</msub>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mrow>
<mi>β</mi>
</mrow>
<mrow>
<mn>3</mn>
<mn>1</mn>
</mrow>
</msub>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mrow>
<mi>β</mi>
</mrow>
<mrow>
<mn>3</mn>
<mn>2</mn>
</mrow>
</msub>
</mrow>
</mtd>
</mtr>
</mtable>
<mo>]</mo>
</mrow>
<mo>.</mo>
</mrow>
</math>

Estimar los coeficientes de regresión.

Ajuste el modelo utilizando la estimación de máxima verosimilitud.

[beta,sigma,E,V] = mvregress(Xcell,Y); beta
beta = 8×1

   33.5476
   38.5720
    0.9723
    0.3950
   -6.3064
   -6.3584
   -9.2284
   -8.6663

Estas estimaciones de coeficiente muestran:

  • El MPG de ciudad y carretera esperado para los coches de base de la rueda media, el peso en vacío y el tipo de combustible 11 son y, respectivamente.33.538.6 Para el tipo de combustible 20, los MPG de ciudad y carretera esperados son y.33.5476 - 9.2284 = 24.319238.5720 - 8.6663 = 29.9057

  • Un aumento de una desviación estándar en el peso en vacío tiene casi el mismo efecto en la ciudad esperada y MPG en carretera. Dado que todo lo demás es igual, el MPG esperado disminuye aproximadamente con cada aumento de la desviación estándar en el peso en vacío, tanto para la ciudad como para la carretera MPG.6.3

  • Para cada aumento de la desviación estándar en la base de la rueda, el MPG de ciudad esperada aumenta, mientras que el MPG en carretera esperado aumenta sólo, dado que todo lo demás es igual.0.9720.395

Calcular errores estándar.

Los errores estándar para los coeficientes de regresión son la raíz cuadrada de la diagonal de la matriz de varianza-covarianza,.V

se = sqrt(diag(V))
se = 8×1

    0.7365
    0.7599
    0.3589
    0.3702
    0.3497
    0.3608
    0.7790
    0.8037

Remodelar la matriz de coeficiente.

Puede remodelar fácilmente los coeficientes de regresión en la matriz original de 4 por 2.

B = reshape(beta,2,4)'
B = 4×2

   33.5476   38.5720
    0.9723    0.3950
   -6.3064   -6.3584
   -9.2284   -8.6663

Compruebe los supuestos del modelo.

Bajo los supuestos del modelo,

<math display="block">
<mrow>
<mi>z</mi>
<mo>=</mo>
<mstyle mathvariant="bold">
<mrow>
<mi>E</mi>
</mrow>
</mstyle>
<msup>
<mrow>
<mi>Σ</mi>
</mrow>
<mrow>
<mo>-</mo>
<mn>1</mn>
<mo>/</mo>
<mn>2</mn>
</mrow>
</msup>
</mrow>
</math>
debe ser independiente, con una distribución normal bivariada. En este caso en 2-D, puede evaluar la validez de esta suposición utilizando un gráfico de dispersión.

z = E/chol(sigma); figure() plot(z(:,1),z(:,2),'.') title('Standardized Residuals') hold on  % Overlay standard normal contours z1 = linspace(-5,5); z2 = linspace(-5,5); [zx,zy] = meshgrid(z1,z2); zgrid = [reshape(zx,100^2,1),reshape(zy,100^2,1)]; zn = reshape(mvnpdf(zgrid),100,100); [c,h] = contour(zx,zy,zn); clabel(c,h)

Varios residuos son más grandes de lo esperado, pero en general, hay poca evidencia en contra de la suposición de normalidad multivariada.

Consulte también

|

Ejemplos relacionados

Más acerca de