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.
Regresión lineal multivariada
devuelve los coeficientes estimados para una de las respuestas -dimensionales en las matrices de diseño en .regresión normal multivariadadbeta
= mvregress(X
,Y
)Y
X
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.beta
= mvregress(X
,Y
,Name,Value
)
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.o 52. La dimensión de las respuestas corresponde a las regiones, por lo que
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
Dónde Y
, con correlación simultánea entre regiones
Hay • 10 coeficientes de regresión para estimar: nueve términos de interceptación y una pendiente común. El argumento de entrada debe ser un
X
-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 de labeta
Vector de coeficiente dimensional
contiene estimaciones de laSigma
-por-
Matriz de varianza-covarianza
,
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.o 52. La dimensión de las respuestas corresponde a las regiones, por lo que
N.o 9. Los predictores son las estimaciones semanales de gripe nacional.
x
Ajuste el modelo de regresión multivariante
Dónde Y
, con correlación simultánea entre regiones
Hay • 18 coeficientes de regresión para estimar: nueve términos de interceptación y nueve términos de pendiente. es un
X
-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 de labeta
Vector de coeficiente dimensional
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
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 x
Crear un 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
Dónde
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
Sigma
E
CovB
logL
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.
X
— Matrices de diseñoDiseñ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.dX
nK
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).ddX
np
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.dnX
dK
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.dnX
ndK
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.mvregress
NaN
X
X
Tipos de datos: single
| double
| cell
Y
— Variables de respuestaVariables 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.dmvregress
Y
n
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 .mvregress
NaN
Y
algorithm
Tipos de datos: single
| double
Especifique pares opcionales separados por comas de argumentos. es el nombre del argumento y es el valor correspondiente. deben aparecer entre comillas.Name,Value
Name
Value
Name
Puede especificar varios argumentos de par de nombre y valor en cualquier orden como .Name1,Value1,...,NameN,ValueN
'algorithm','cwls','covar0',C
C
'algorithm'
— Algoritmo de estimación'mvn'
| 'ecm'
| 'cwls'
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'
'beta0'
— Estimaciones iniciales para los coeficientes de regresiónEstimaciones 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 .beta0
algorithm
'mvn'
'covar0'
— Estimación inicial para matriz de varianza-covarianzaEstimació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'
mvregress
covar0
'covtype'
— Tipo de matriz de varianza-covarianza'full'
(predeterminado) | 'diagonal'
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'
'maxiter'
— Número máximo de iteraciones100
(predeterminado) | entero positivoNú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.tolbeta
tolobj
maxiter
Si ambos y son 0, entonces realiza iteraciones sin pruebas de convergencia.tolbeta
tolobj
mvregress
maxiter
Ejemplo: 'maxiter',50
'outputfcn'
— Función para evaluar cada iteraciónFunció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 .true
false
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:
Covar | Valor actual de la matriz de varianza-covarianza |
iteration | Número de iteración actual |
fval | Valor 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 |
'tolbeta'
— Tolerancia de convergencia para coeficientes de regresiónsqrt(eps)
(predeterminado) | valor escalar positivoTolerancia de convergencia para coeficientes de regresión, especificada como el par separado por comas que consta de y un valor escalar positivo.'tolbeta'
Dejar 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
¿dónde está la longitud deK Y es la norma de un vector
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.tolbeta
tolobj
maxiter
Si ambos y son 0, entonces realiza iteraciones sin pruebas de convergencia.tolbeta
tolobj
mvregress
maxiter
Ejemplo: 'tolbeta',1e-5
'tolobj'
— Tolerancia de convergencia para la función objetivo loglikelihoodeps^(3/4)
(predeterminado) | valor escalar positivoTolerancia 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 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
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.tolbeta
tolobj
maxiter
Si ambos y son 0, entonces realiza iteraciones sin pruebas de convergencia.tolbeta
tolobj
mvregress
maxiter
Ejemplo: 'tolobj',1e-5
'varformat'
— Formato para la matriz de varianza-covarianza de estimación de parámetros'beta'
(predeterminado) | 'full'
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, .beta Sigma |
Ejemplo: 'varformat','full'
'vartype'
— Tipo de matriz de varianza-covarianza para estimaciones de parámetros'hessian'
(predeterminado) | 'fisher'
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'
mvregress
CovB
Si el valor es , a continuación, utiliza la matriz de datos completos Fisher, o información esperada, para calcular .'fisher'
mvregress
CovB
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'
beta
— Coeficientes de regresión estimadosCoeficientes 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.X
nKmvregress
beta
K Por ejemplo, si es una matriz de diseño de 20 por 5, entonces es un vector de columna de 5 por 1.X
beta
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.X
dKmvregress
beta
K 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.X
beta
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-.X
npY
dmvregress
beta
pd 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 .X
Y
dbeta
Y
X
beta
E
— ResiduosResiduales 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'
mvregress
Y
valores condicionalmente imputados
Nota
Si tiene el valor , elimina las observaciones con valores de respuesta que faltan antes de la estimación.algorithm
'mvn'
mvregress
CovB
— Matriz de varianza-varianza de estimación de parámetrosMatriz de varianza-covarianza de estimación de parámetros, devuelta como una matriz cuadrada.
logL
— Valor de la función objetivo LoglikelihoodValor de la función objetivo Loglikelihood después de la última iteración, devuelto como un valor escalar.
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
Dónde
es un vector -dimensional de las respuestas.d
es una matriz de diseño de variables predictoras.
es vector o matriz de coeficientes de regresión.
es un vector -dimensional de términos de error, con distribución normal multivariadad
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 denotan observaciones que faltan. Los valores imputados condicionalmente son el valor esperado de la observación faltante dados los datos observados,
La distribución conjunta de las respuestas faltantes y observadas es una distribución normal multivariada,
Utilizando las propiedades de la distribución normal multivariante, la expectativa condicional imputada es dada por
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.
[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.
Existe una versión modificada de este ejemplo en su sistema. ¿Prefiere abrir esta versión?
Ha hecho clic en un enlace que corresponde a este comando de MATLAB:
Ejecute el comando introduciéndolo en la ventana de comandos de MATLAB. Los navegadores web no admiten comandos de MATLAB.
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
Select web siteYou can also select a web site from the following list:
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.