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.

glmfit

Regresión de modelo lineal generalizada

Sintaxis

b = glmfit(X,y,distr)
b = glmfit(X,y,distr,param1,val1,param2,val2,...)
[b,dev] = glmfit(...)
[b,dev,stats] = glmfit(...)

Descripción

b = glmfit(X,y,distr) Devuelve un vector (+ 1)-por-1 de estimaciones de coeficiente para una regresión lineal generalizada de las respuestas en los predictores en, utilizando la distribuciónpbyX distr. es una-por-matriz de predictores en cada una de las observaciones.Xnppn distr puede ser cualquiera de los siguientes:,,, (el valor predeterminado) y.'binomial''gamma''inverse gaussian''normal''poisson'

En la mayoría de los casos, es un vector-por-1 de las respuestas observadas.yn Para la distribución binomial, puede ser un vector binario que indica éxito o fracaso en cada observación, o una matriz de dos columnas con la primera columna que indica el número de éxitos para cada observación y la segunda columna que indica el número de ensayos para cada Observación.y

Esta sintaxis utiliza el enlace canónico (ver más abajo) para relacionar la distribución con los predictores.

Nota

De forma predeterminada, agrega una primera columna de 1s a, correspondiente a un término constante en el modelo.glmfitX No introduzca una columna de 1s directamente en.X Puede cambiar el comportamiento predeterminado de usar el parámetro, a continuación.glmfit'constant'

trata s en cualquiera o como valores faltantes, y los ignora.glmfitNaNXy

b = glmfit(X,y,distr,param1,val1,param2,val2,...) Además le permite especificar pares de nombre/valor de parámetro opcionales para controlar el ajuste del modelo. Los parámetros aceptables son los siguientes.

ParámetroValorDescripción
'link'

, por defecto para la distribución'identity''normal'

=µXb

, por defecto para la distribución'log''poisson'

log () =µXb

, por defecto para la distribución'logit''binomial'

log (/(1 –)) =µµXb

'probit'

NORMINV () =µXb

'comploglog'

log (-log (1 –)) =µXb

, por defecto para la distribución'reciprocal''gamma'

1/=µXb

'loglog'

log (-log ()) =µXb

(un número), por defecto para la distribución (con =-2)p'inverse gaussian' p

µp =Xb

matriz de celdas del formulario, que contiene tres identificadores de función, creados mediante, que definen el vínculo (), la derivada del vínculo () y el vínculo inverso ().{FL FD FI}@FLFDFI

Función de enlace definida por el personalizado. Debe proporcionar

  • FL(mu)

  • FD = dFL(mu)/dmu

  • FI = FL^(-1)

matriz de estructura que tiene estos campos:

  • — Función de enlace'Link'

  • — Derivado de la función de enlace'Derivative'

  • — Inversa de la función de enlace'Inverse'

El valor de cada campo es un vector de caracteres que corresponde a una función que está en la ruta de acceso o un identificador de función (creado con).@

Función de enlace definida por la costumbre, su derivada, y su inversa.
'estdisp''on'

Estima un parámetro de dispersión para la distribución binomial o de Poisson.

(Valor predeterminado para la distribución binomial o Poisson)'off'

Utiliza el valor teórico de 1,0 para esas distribuciones.

'offset'

Vector

Se utiliza como una variable predictora adicional, pero con un valor de coeficiente fijado en 1,0.

'weights'

Vector de pesos previos, como las inversas de la varianza relativa de cada observación

 
'constant'

predeterminado'on'

Incluye un término constante en el modelo. El coeficiente del término constante es el primer elemento de.b

'off'

Omita el término constante.

[b,dev] = glmfit(...)Devuelve, la desviación del ajuste en el vector de solución.dev La desviación es una generalización de la suma residual de los cuadrados. Es posible realizar un análisis de desviación para comparar varios modelos, cada uno un subconjunto del otro, y para probar si el modelo con más términos es significativamente mejor que el modelo con menos términos.

[b,dev,stats] = glmfit(...) Devuelve y.devstats

es una estructura con los siguientes campos:stats

  • — Estimaciones de coeficientebetab

  • — Grados de libertad de errordfe

  • — Parámetro de dispersión Estimadosfit

  • — Parámetro de dispersión teórico o estimados

  • — 0 cuando el valor del argumento del par nombre-valor es y 1 cuando el valor del argumento del par nombre-valor es.estdisp'estdisp''off''estdisp''on'

  • — Matriz de covarianza estimada para Bcovb

  • — Vector de errores estándar de las estimaciones de coeficienteseb

  • — Matriz de correlación paracoeffcorrb

  • — estadísticas parattb

  • —-valores parappb

  • — Vector de residuosresid

  • — Vector de los residuos de Pearsonresidp

  • — Vector de residuos de desviaciónresidd

  • — Vector de residuos de Anscomberesida

Si se estima un parámetro de dispersión para la distribución binomial o de Poisson, entonces se establece igual a.stats.sstats.sfit Además, los elementos de difieren por el factor de sus valores teóricos.stats.sestats.s

Ejemplos

contraer todo

Introduzca los datos de ejemplo.

x = [2100 2300 2500 2700 2900 3100 ...      3300 3500 3700 3900 4100 4300]'; n = [48 42 31 34 31 21 23 23 21 16 17 21]'; y = [1 2 0 3 8 8 14 17 19 15 17 21]';

Cada valor es el número de éxitos en el número correspondiente de ensayos en, y contiene los valores de la variable predictora.ynx

Ajuste un modelo de regresión probit para activado.yx

b = glmfit(x,[y n],'binomial','link','probit');

Calcule el número estimado de éxitos. Trace el porcentaje observado y el porcentaje estimado de éxito frente a los valores.x

yfit = glmval(b,x,'probit','size',n); plot(x, y./n,'o',x,yfit./n,'-','LineWidth',2)

Cargue los datos de ejemplo.

load fisheriris

El vector de columna,, consiste en flores de iris de tres especies diferentes, setosa, versicolor, virginica.species La doble matriz consta de cuatro tipos de mediciones en las flores, la longitud y anchura de sépalos y pétalos en centímetros, respectivamente.meas

Defina las variables de respuesta y predictor.

X = meas(51:end,:); y = strcmp('versicolor',species(51:end));

Definir tres identificadores de función, creados con, que definen el enlace, la derivada del enlace, y el enlace inverso para una función de enlace logit.@ Guárdela en una matriz de celdas.

link = @(mu) log(mu ./ (1-mu)); derlink = @(mu) 1 ./ (mu .* (1-mu)); invlink = @(resp) 1 ./ (1 + exp(-resp)); F = {link, derlink, invlink};

Ajuste una regresión logística utilizando la función de enlace que definió.glmfit

b = glmfit(X,y,'binomial','link',F)
b = 5×1

   42.6378
    2.4652
    6.6809
   -9.4294
  -18.2861

Ajuste un modelo lineal generalizado utilizando la función de enlace y compare los resultados.logit

b = glmfit(X,y,'binomial','link','logit')
b = 5×1

   42.6378
    2.4652
    6.6809
   -9.4294
  -18.2861

Referencias

[1] Dobson, A. J. An Introduction to Generalized Linear Models. New York: Chapman & Hall, 1990.

[2] McCullagh, P., and J. A. Nelder. Generalized Linear Models. New York: Chapman & Hall, 1990.

[3] Collett, D. Modeling Binary Data. New York: Chapman & Hall, 2002.

Introducido antes de R2006a