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 del modelo lineal generalizado

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 matriz de predictores en cada una de las observaciones.Xnppn distr puede ser cualquiera de los siguientes: , , , ( valor predeterminado) y .'binomial''gamma''inverse gaussian''normal''poisson'

En la mayoría de los casos, es un vector -by-1 de las respuestas observadas.yn Para la distribución binomial, puede ser un vector binario que indica el éxito o el 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 vínculo canónico (véase más adelante) 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 del uso del parámetro, a continuación.glmfit'constant'

trata s en uno o como valores que faltan, y los ignora.glmfitNaNXy

b = glmfit(X,y,distr,param1,val1,param2,val2,...) además, le permite especificar pares de nombre/valor de parámetros 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 la medida. Usted debe proporcionar

  • FL(mu)

  • FD = dFL(mu)/dmu

  • FI = FL^(-1)

estructura que tiene estos campos:

  • — Función de enlace'Link'

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

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

El valor de cada campo es un vector de caracteres correspondiente a una función que se encuentra en la ruta de acceso o un identificador de función (creado mediante ).@

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 Poisson.

(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 fijo en 1.0.

'weights'

Vector de pesos anteriores, como los inversos 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 la solución.dev La desviación es una generalización de la suma residual de cuadrados. Es posible realizar un análisis de la desviación para comparar varios modelos, cada uno un subconjunto del otro, y probar si el modelo con más términos es significativamente mejor que el modelo con menos términos.

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

es una estructura con los siguientes campos:stats

  • — Estimaciones de coeficientebetab

  • — Grados de libertad por errordfe

  • — Parámetro de dispersión estimadosfit

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

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

  • — Matriz de covarianza estimada para Bcovb

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

  • — Matriz de correlación paracoeffcorrb

  • — estadísticas dettb

  • — -valores parappb

  • — Vector de residuosresid

  • — Vector de residuos de Pearsonresidp

  • — Vector de residuos de desviaciónresidd

  • — Vector de residuos de Anscomberesida

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

Ejemplos

contraer todo

Introduzca los datos de muestra.

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 on .yx

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

Calcular el número estimado de éxitos. Trazar el porcentaje observado y el porcentaje estimado de éxito en comparación con 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 matriz doble consta de cuatro tipos de medidas en las flores, la longitud y anchura de los 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));

Defina tres identificadores de función, creados mediante , que definan el vínculo, la derivada del vínculo y el vínculo inverso para una función de vínculo logit.@ Guárdelos 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 vínculo definida.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 mediante 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