• No se han encontrado resultados

MODELOS GENERALIZADOS LINEALES CON R

N/A
N/A
Protected

Academic year: 2022

Share "MODELOS GENERALIZADOS LINEALES CON R"

Copied!
44
0
0

Texto completo

(1)

MODELOS GENERALIZADOS LINEALES CON R

Luis M. Carrascal

(www.lmcarrascal.eu)

Depto. Biogeografía y Cambio Global Museo Nacional de Ciencias Naturales, CSIC

Cómo realizarlos, buena praxis e 

interpretación de los resultados

curso de la Sociedad de Amigos del Museo Nacional de Ciencias Naturales impartido en Febrero de 2017

(2)

El predictor lineal  incluye la suma lineal de los efectos de una o más variables explicativas (x

j

).

j

representan los parámetros desconocidos que es necesario estimar.

Estos valores son llevados a una nueva escala mediante una transformación adecuada. Esto es, 

i

no representa a y

i

, sino a una transformación de los valores y mediante la función de vínculo.

2

(3)

La transformación utilizada viene definida por la función de vínculo.

La función de vínculo relaciona la media de los valores y () con el predictor lineal  mediante:

 = g()

Para volver a la escala original de medida (y), el valor ajustado es la función inversa de la transformación que define la función de vínculo.

Para determinar el ajuste de un modelo,

* el procedimiento evalúa el predictor lineal  para cada valor de la

(4)

Mediante el uso de diferentes funciones de vínculo, podemos valorar la adecuación de nuestro modelo a los datos. Para ello utilizaremos el concepto y parámetro devianza.

El modelo más apropiado será aquel que minimice la devianza residual.

En los modelos Generales Lineales operamos con variables dependientes normales, y los modelos proporcionan residuos que siguen la distribución normal. Sin embargo, numerosos datos no presentan errores normales.

* por sesgo y kurtosis

* están acotados (caso de proporciones)

* son conteos que no pueden manifestar valores negativos

4

(5)

Podemos distinguir las siguientes familias principales de errores:

* errores Normales

* errores Poisson ( conteos de fenómenos raros )

* errores Binomiales negativos ( Poisson con mayor dispersión )

* errores Binomiales ( datos que miden respuestas si/no o proporciones )

* errores Gamma ( datos que muestran un CV constante )

* errores Exponenciales ( datos de supervivencia )

Para estos errores se han definido las funciones de vínculo más  adecuadas (por defecto; canónicas):

ERRORES FUNCIÓN

* Normales Identidad

* Poisson, Binomiales negativos Log

(6)

CREACIÓN DEL MODELO GENERALIZADO (POISSON REGRESSION)

En los modelos de regresión lineal clásicos (Gausianos):

* definimos una función predictora

g(x) = α+β 1 X 1 + … + β p X p para p predictores

* establecemos la relación lineal con la respuesta

Y = g(x) + ε siendo  ε la variación residual

En los modelos generalizados de Poisson:

* establecemos el valor esperado de la respuesta Y por su parámetro media (μ)

* que establece una relación logarítmica con la función predictora g(x)

log(μ) = g(x) + ε o        μ = e g(x) + ε' 

μ = e α+β

1

X

1

+ … + β

p

X

p

* esta estructura es muy importante para la interpretación de los coeficientes de regresión.

6

(7)

MODELOS GENERALIZADOS LINEALES CON R

Definición de los modelos atendiendo a la distribución de errores

Según qué tipo de variable respuesta tengamos definiremos la familia y la función de vínculo.

Usaremos el comando 

glm

en vez de 

lm

de los modelos generales lineales.

modelo <- glm(eqt, data=datos, family=poisson(link="log")) family = quasipoisson(link="logit")

modelo <- glm.nb(eqt, data=datos, link=log)

modelo <- glm(eqt, data=datos, family=binomial(link="logit")) family = quasibinomial(link="logit")

family = binomial(link="cloglog")

cloglog trabaja mejor con distribuciones extremadamente sesgadas

(8)

Interpretación de los resultados

Primero valoramos la significación global del modelo, en lo que se conoce como un omnibus test. SI EL RESULTADO ES SIGNIFICATIVO, PODREMOS SEGUIR CON LOS RESULTADOS. Si no resulta significativo el análisis … ¡se terminó!

Si en los modelos GzLM usados con poisson y binomial aplicamos la corrección por sobredispersión, el resultado de este omnibus test cambia.

8

(9)

A continuación valoramos las medidas de bondad de ajuste, basadas en devianza y valores de AIC.

El coeficiente de sobredispersión es el valor Value/df. No lo utilizaremos si nuestra distribución canónica de la respuesta es la normal. En modelos con poisson y binomial debería dar un valor próximo a "uno" (1). Si es >1 hay sobredispersión; si es <1 se dice que hay sobreparametrización o infradispersión. Se aconseja corregir este desvío si Value/df

>1, y no cuando es <1.

en un modelo Gausiano nunca

se corrige por sobredispersión,

porque ésta ya se ha estimado en la

definición de la gausiana a través del

parámetro desviación típica (sd)

que la describe.

(10)

VARIABILIDAD EXPLICADA POR EL MODELO (usando devianzas)

La devianza es igual a la suma de los cuadrados de los residuos de devianza

proporción de devianza explicada = (devianza residual nula – devianza residual del modelo)  (devianza residual nula)

10

Para conocer la proporción de la variación en la variable respuesta que es explicada por el modelo (equivalente a una R

2

de un modelo General Lineal) tendremos que:

1) construir un nuevo modelo "nulo" sin predictoras (con sólo el intercepto).

2) obtener la Devianza de ese modelo nulo en su tabla de Goodness of Fit (Do) 3) calcular la siguiente expresión que denominaremos D

2

:

D

2

= (Do ‐ Dmodelo) / Do Modelo nulo

D

2

= (148801.74 – 116720.22) / 148801.74 = 0.2156 = 21.6%

Nuestro modelo de interés

(11)

Por último, observamos los parámetros de las variables predictoras: coeficientes (B),

errores estándard y significaciones (con las aproximaciones de Wald y de cocientes

Likelihood).

(12)

INTERPRETACIÓN DE LOS COEFICIENTES DE REGRESIÓN

Los modelos de regresión de Poisson son multiplicativos

… porque la función de vínculo es el logaritmo: familia = poisson vínculo = log En la regresión de Poisson log (Y) = a + b∙X o       Y = exp(a + b∙X)

log(Y) cambia linealmente en función de las variables predictoras

Y cambia linealmente en función del antilogaritmo de la función de las predictoras

El coeficiente b en antilogaritmo,  exp(b) , mide el cambio en esa variable predictora que implica el cambio en una unidad en la variable respuesta Y.

O dicho de otro modo, el coeficiente b es el cambio esperado en el log(Y) cuando la  variable predictora aumenta una unidad.

En el caso de las predictoras categóricas (definidas por nº categorías del factor – 1) el  antilogaritmo del coeficiente, exp(b), es el término multiplicativo relativo a la "base" del  factor. El antilogaritmo del intercepto, exp(a), es el valor basal en relación con el cual se  estiman los cambios definidos por los coeficientes.

12

(13)

ejemplo con factores

factor edu de 4 niveles factor res de 4 niveles

(14)

SOBREDISPERSIÓN DEL MODELO

Medida para estimar la bondad de ajuste del modelo ( ϕ ).

Mide la existencia de una mayor (o menor) variabilidad que la esperable en la variable  respuesta considerando los supuestos acerca de su distribución canónica y la función de  vínculo (que liga los valores transformados de la variable a las predicciones del modelo) http://en.wikipedia.org/wiki/Overdispersion

ϕ debería valer 1.

Si >1 sobredispersión  se "inflan" las significaciones

Si <1 infradispersión  asociado a la sobreparametrización

¡¡¡SOBREDISPERSIÓN!!!

las estimas de significación están "infladas"

Con estos valores (ϕ) recalculamos nuevas  estimas de significación a través de la F.

F = diferencias en Devianza / (dif. en g.l. x ϕ) aparecerán en los resultados en:

Test of Model Effects

14

(15)

MODELOS GENERALIZADOS LINEALES CON R

Diseños factoriales utilizando una Poisson

Veámoslo prácticamente en R utilizando la distribución de Poisson.

## para importar datos de internet y ponerlos en uso

## abro una conexión con internet

meconecto <- url("http://www.lmcarrascal.eu/cursos/nwayGENERALIZADO.RData")

## cargo el archivo de la conexión load(meconecto)

## cierro la conexión y borro el objeto "meconecto"

close(meconecto); rm(meconecto)

## con la siguiente línea de código veo las variables names(datos)

## creamos una función de asociaciones que llamo "eqt"

eqt <- as.formula(abundancia ~ covariante + insolacion*tratamiento)

(16)

MODELOS GENERALIZADOS LINEALES CON R

Diseños factoriales utilizando una Poisson

Veámoslo prácticamente en R utilizando la distribución de Poisson.

## CARGAMOS PAQUETES

##

library(lmtest) library(MASS) library(car) library(MuMIn) library(phia)

library(sandwich) library(robustbase) library(psych)

library(fit.models)

16

(17)

MODELOS GENERALIZADOS LINEALES CON R

Diseños factoriales utilizando una Poisson

Veámoslo prácticamente en R utilizando la distribución de Poisson.

## establecemos los tipos de contrastes para las variables

## predictoras nominales (factores)

## antes cargamos la siguiente línea de código para obtener los

## mismos resultados que en STATISTICA o SPSS utilizando type III SS

## "factor" para los factores no ordenados

## "ordered" para factores con niveles ordenados

##

options(contrasts=c(factor="contr.sum", ordered="contr.poly"))

## ahora creamos nuestro modelo tipo ANCOVA Generalizado Lineal modelo <- glm(eqt, data=datos, family=poisson(link="log"))

## los valores de la Devianza nula (modelo nulo: "respuesta ~ 1")

## y Devianza residual del modelo se encuentran en el modelo

## como modelo$null.deviance y modelo$deviance

(18)

MODELOS GENERALIZADOS LINEALES CON R

Diseños factoriales utilizando una Poisson

Veámoslo prácticamente en R utilizando la distribución de Poisson.

## estima de significación global del modelo de interés

## comparándolo con el modelo nulo

## sólo procederemos valorando los resultados de este modelo, ## SÍ Y SÓLO SÍ, este "omnibus test" ha sido significativo

## podemos utilizar estos dos test con resultados similares

## likelihood ratio test lrtest(modelo)

Likelihood ratio test

Model 1: abundancia ~ covariante + insolacion * tratamiento Model 2: abundancia ~ 1

#Df LogLik Df Chisq Pr(>Chisq) 1 5 -163.01 2 1 -279.54 -4 233.05 < 2.2e-16 ***

---

Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

18

(19)

MODELOS GENERALIZADOS LINEALES CON R

Diseños factoriales utilizando una Poisson

Veámoslo prácticamente en R utilizando la distribución de Poisson.

## test de Wald waldtest(modelo) Wald test

Model 1: abundancia ~ covariante + insolacion * tratamiento Model 2: abundancia ~ 1

Res.Df Df F Pr(>F) 1 107

2 111 -4 41.609 < 2.2e-16 ***

---

Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(20)

MODELOS GENERALIZADOS LINEALES CON R

Diseños factoriales utilizando una Poisson

Veámoslo prácticamente en R utilizando la distribución de Poisson.

## valores AICc del modelo de interés y el modelo nulo

modelo.nulo <- glm(modelo$model[,1]~1, family=poisson(link="log")) AICc(modelo, modelo.nulo)

veces.mejor <- exp(-0.5*(AICc(modelo)-AICc(modelo.nulo)))

print(c("Veces que MI MODELO es mejor que el modelo NULO =", veces.mejor), quote=FALSE)

df AICc

modelo 5 336.5938 modelo.nulo 1 561.1163

[1] Veces que MI MODELO es mejor que el modelo NULO = 5.6812671423727e+48

Este resultado es consistente con el anterior, pero en coordenadas de teoría de la información.

El modelo de interés de 6*1048veces mejor que el modelo nulo.

Estos dos tests nos proporcionan que nuestro modelo es altamente significativo, con lo cual podemos  continuar valorando sus resultados.

Pero antes tenemos que comprobar si hemos cumplido los supuestos canónicos de los modelos a  través de la exploración de sus residuos.

20

(21)

MODELOS GENERALIZADOS LINEALES CON R

Diseños factoriales utilizando una Poisson

Veámoslo prácticamente en R utilizando la distribución de Poisson.

## exploración de los residuos del modelo

## vemos unos gráficos generales que ya nos dan muchas pistas:

## normalidad, usando los residuos de devianza

## (¡¡no en la escala original de la respuesta!!)

## homocedasticidad de los residuos a través de las predicciones

## del modelo (aplicando la transformación de la link function)

## existencia de datos influyentes y perdidos

## con la distancia de Cook y Leverage

## en una sola figura con cuatro paneles

par(mfcol=c(1,1)) ## fija un sólo panel gráfico

par(mfcol=c(2,2)) ## fija cuatro paneles con 2 columnas y 2 filas plot(modelo, c(1:2,4,6))

par(mfcol=c(1,2))

par(mfcol=c(1,1)) ## volvemos al modo gráfico de un solo panel

(22)

MODELOS GENERALIZADOS LINEALES CON R

Diseños factoriales utilizando una Poisson

22

homocedasticidad

normalidad

puntos influyentes y perdidos

(23)

MODELOS GENERALIZADOS LINEALES CON R

Diseños factoriales utilizando una Poisson

Veámoslo prácticamente en R utilizando la distribución de Poisson.

## test de Shapiro-Wilk de la normalidad de los residuos de devianza shapiro.test(residuals(modelo, type="deviance"))

Shapiro-Wilk normality test

data: residuals(modelo, type = "deviance") W = 0.976, p-value = 0.04078

## el desvío de la normalidad no es muy grave

## hemos identificado que hay una leve violación de homocedasticidad

## y existen algunas observaciones con elevada distancia de Cook

## puntos influyentes y perdidos con dffits

## dffits con sus límites "críticos"

## niveles críticos 2*raiz((g.l. del modelo)/(Número de datos)) plot(dffits(modelo))

abline(h=2*((length(modelo$residuals)-modelo$df.residual-1)/length(modelo$residuals))^0.5, col="red") abline(h=-2*((length(modelo$residuals)-modelo$df.residual-1)/length(modelo$residuals))^0.5, col="red")

(24)

MODELOS GENERALIZADOS LINEALES CON R

Diseños factoriales utilizando una Poisson

24

(25)

MODELOS GENERALIZADOS LINEALES CON R

Diseños factoriales utilizando una Poisson

Veámoslo prácticamente en R utilizando la distribución de Poisson.

## INDEPENDENCIA ENTRE LAS PREDICTORAS: VIF = 1 / (1 - R2),

## de cada predictora por las restantes

## GVIF or VIF specifically indicate the magnitude of the inflation in the standard errors

## associated with a particular beta weight that is due to multicollinearity

## la raiz cuadrada de un valor VIF o GVIF es el número de veces que

## se inflan los errores standard de esa predictora

##

vif(modelo)

sqrt(vif(modelo))

> vif(modelo)

covariante insolacion tratamiento insolacion:tratamiento 1.165977 1.872718 2.481296 3.228086

> sqrt(vif(modelo))

covariante insolacion tratamiento insolacion:tratamiento 1.079804 1.368473 1.575213 1.796687

(26)

MODELOS GENERALIZADOS LINEALES CON R

Diseños factoriales utilizando una Poisson

Veámoslo prácticamente en R utilizando la distribución de Poisson.

## estima de la sobredispersión del modelo

## este valor canónico debería de ser igual a la unidad

##

phi <- sum((residuals(modelo, type="pearson"))^2)/modelo$df.residual print(c("Pearson overdispersion =", round(phi, 3)), quote=FALSE)

[1] Pearson overdispersion = 1.176

Si este valor hubiese sido muy diferente de uno (e.g., > 2) recalcularíamos el modelo teniendo  en  cuenta ese valor de sobredispersión, aplicando la pseudofamilia quasipoisson.

No corregiremos por sobredispersión si phi <1

modelo2 <- glm(eqt, data=datos, family=quasipoisson(link="log")) Y procederíamos con este nuevo modelo.

26

(27)

MODELOS GENERALIZADOS LINEALES CON R

Diseños factoriales utilizando una Poisson

Veámoslo prácticamente en R utilizando la distribución de Poisson.

## representación de los valores observados y predichos en la respuesta

## usando la escala original de medida (habiendo destransformado los datos

## desde la transformación incluida en la link function)

plot(modelo$y~fitted(modelo), ylab="respuesta original") abline(lm(modelo$y~fitted(modelo)), col="red", lwd=2)

(28)

MODELOS GENERALIZADOS LINEALES CON R

Diseños factoriales utilizando una Poisson

Veámoslo prácticamente en R utilizando la distribución de Poisson.

## resultados del modelo y SIGNIFICACIONES de efectos parciales summary(modelo)

Call:

glm(formula = eqt, family = poisson(link = "log"), data = datos) Deviance Residuals:

Min 1Q Median 3Q Max -2.5187 -1.0968 -0.4778 0.6431 2.5663 Coefficients:

Estimate Std. Error z value Pr(>|z|) (Intercept) -0.603318 0.220371 -2.738 0.00619 **

covariante 0.009461 0.002337 4.049 5.15e-05 ***

insolacion1 0.896872 0.130503 6.872 6.31e-12 ***

tratamiento1 0.694988 0.130047 5.344 9.08e-08 ***

insolacion1:tratamiento1 -0.150148 0.130167 -1.154 0.24870 ---

Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 (Dispersion parameter for poisson family taken to be 1)

Null deviance: 369.04 on 111 degrees of freedom Residual deviance: 135.99 on 107 degrees of freedom AIC: 336.03

Number of Fisher Scoring iterations: 5 28

(29)

MODELOS GENERALIZADOS LINEALES CON R

Diseños factoriales utilizando una Poisson

Veámoslo prácticamente en R utilizando la distribución de Poisson.

## estimas parciales, al estilo SS type-III

## esto nos proporciona la significación de los efectos

## la Deviance nos vincula a las magnitudes de los efectos

## <none> indica la devianza residual sin quitar efectos

## los otros valores indican la devianza quitando ese efecto

## a más valor  más magnitud del efecto

##

dropterm(modelo, ~., test="Chisq", sorted=FALSE)

Single term deletions Model:

abundancia ~ covariante + insolacion * tratamiento

Df Deviance AIC LRT Pr(Chi)

<none> 135.99 336.03 covariante 1 152.63 350.67 16.638 4.524e-05 ***

insolacion 1 212.52 410.56 76.533 < 2.2e-16 ***

(30)

MODELOS GENERALIZADOS LINEALES CON R

Diseños factoriales utilizando una Poisson

Veámoslo prácticamente en R utilizando la distribución de Poisson.

## estimas parciales, al estilo SS type-III

## esto nos proporciona la significación de los efectos

##

## otra manera con Likelihood Ratio test

##

Anova(modelo, type=3, test="LR")

Analysis of Deviance Table (Type III tests) Response: abundancia

LR Chisq Df Pr(>Chisq)

covariante 16.638 1 4.524e-05 ***

insolacion 76.533 1 < 2.2e-16 ***

tratamiento 40.490 1 1.976e-10 ***

insolacion:tratamiento 1.466 1 0.2259 ---

Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

30

(31)

MODELOS GENERALIZADOS LINEALES CON R

Diseños factoriales utilizando una Poisson

Veámoslo prácticamente en R utilizando la distribución de Poisson.

## Vemos los valores medios de la respuesta (en su escala original)

## ¡¡ojo!! los valores son los ajustados si tuviésemos covariantes

## se dan los errores estándard

plot(interactionMeans(modelo), legend.margin=0.3)

(32)

MODELOS GENERALIZADOS LINEALES CON R

Diseños factoriales utilizando una Poisson

Veámoslo prácticamente en R utilizando la distribución de Poisson.

## EXAMEN DEL EFECTO DE LA VIOLACIÓN DEL SUPUESTO DE HOMOCEDASTICIDAD

## Recálculo de significaciones; realmente sin mucho interés porque

## se refiere a los coeficientes y no al efecto global de cada factor

## método Sandwich (que es type="HC0"): sólo para el cálculo de

## nuevos errores standard y las significaciones asociadas

## no cambian las estimas de los coeficientes

##

coeftest(modelo, vcov=sandwich) z test of coefficients:

Estimate Std. Error z value Pr(>|z|) (Intercept) -0.6033185 0.2282439 -2.6433 0.0082101 **

covariante 0.0094608 0.0024835 3.8094 0.0001393 ***

insolacion1 0.8968718 0.1224953 7.3217 2.449e-13 ***

tratamiento1 0.6949877 0.1212844 5.7302 1.003e-08 ***

insolacion1:tratamiento1 -0.1501483 0.1212557 -1.2383 0.2156130 ---

Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

32

(33)

MODELOS GENERALIZADOS LINEALES CON R

Diseños factoriales utilizando una Poisson

Veámoslo prácticamente en R utilizando la distribución de Poisson.

## afrontemos ahora el efecto de puntos influyentes y/o perdidos

## RECÁLCULO DEL MODELO QUITANDO ALGUNOS PUNTOS

## mejor no hacemos esto

modelo.sin_outliers <- glm(eqt, data=datos[c(-6, -33, -54, -55, -56),]), family=poisson(link="log"))

## ESTIMACIONES ROBUSTAS

## sin quitar datos del modelo; aproximación robusta más seria,

## que estima nuevos coeficientes y errores standard

## Mqle es el método Mallows-Hubber quasi-liquelihood.

modelo.robusto <- glmrob(eqt, data=datos, family=poisson(link="log"), weights.on.x="hat", method="Mqle", control=glmrobMqle.control(tcc=1.2, maxit=100))

##

summary(modelo.robusto) par(mfcol=c(1,1))

(34)

MODELOS GENERALIZADOS LINEALES CON R

Diseños factoriales utilizando una Poisson

Veámoslo prácticamente en R utilizando la distribución de Poisson.

> summary(modelo.robusto)

Call: glmrob(formula = eqt, family = poisson(link = "log"), data = datos, method = "Mqle", weights.on.x = "hat", control = glmrobMqle.control(tcc = 1.2, maxit = 100))

Coefficients:

Estimate Std. Error z value Pr(>|z|) (Intercept) -0.637792 0.230571 -2.766 0.00567 **

covariante 0.010387 0.002448 4.243 2.20e-05 ***

insolacion1 0.847448 0.133664 6.340 2.30e-10 ***

tratamiento1 0.663203 0.133265 4.977 6.47e-07 ***

insolacion1:tratamiento1 -0.129810 0.133560 -0.972 0.33109 ---

Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Robustness weights w.r * w.x:

Min. 1st Qu. Median Mean 3rd Qu. Max.

0.3520 0.8800 0.9042 0.8563 0.9246 0.9298 Number of observations: 112

Fitted by method ‘Mqle’ (in 5 iterations)

(Dispersion parameter for poisson family taken to be 1)

34

(35)

MODELOS GENERALIZADOS LINEALES CON R

Diseños factoriales utilizando una Poisson

(36)

MODELOS GENERALIZADOS LINEALES CON R

Diseños factoriales utilizando una Poisson

36

(37)

MODELOS GENERALIZADOS LINEALES CON R

Diseños factoriales utilizando una Binomial Negativa

Repetiremos todos los pasos previos, sólo que en esta ocasión nuestro modelos será:

modelo <- glm.nb(eqt, data=datos, link=log)

> summary(modelo) Call:

glm.nb(formula = eqt, data = datos, link = log, init.theta = 10.08705502)

Deviance Residuals:

Min 1Q Median 3Q Max -2.1470 -1.0874 -0.4259 0.5242 2.0050 Coefficients:

Estimate Std. Error z value Pr(>|z|) (Intercept) -0.591067 0.244692 -2.416 0.015711 * covariante 0.009298 0.002735 3.399 0.000676 ***

insolacion1 0.896394 0.134216 6.679 2.41e-11 ***

tratamiento1 0.698006 0.133797 5.217 1.82e-07 ***

insolacion1:tratamiento1 -0.149458 0.134011 -1.115 0.264736 ---

Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for Negative Binomial(10.0032) family taken to be 1) Null deviance: 305.36 on 111 degrees of freedom

Residual deviance: 114.48 on 107 degrees of freedom AIC: 335.01

(38)

MODELOS GENERALIZADOS LINEALES CON R

Diseños factoriales utilizando una Binomial

Repetiremos todos los pasos previos, sólo que en esta ocasión nuestro modelos será:

modelo <- glm(eqt, data=datos, family=binomial(link="logit"))

Si hay sobredispersión utilizaremos la pseudofamilia:

family=quasibinomial(link="logit")

Si no hay buenos ajustes o alta sobredispersión utilizaremos la función de vínculo:

family = binomial(link ="cloglog")

cloglog trabaja mejor con distribuciones extremadamente sesgadas por ejemplo: porporciones de un estado <0.1 o >0.9

38

(39)

MODELOS GENERALIZADOS LINEALES CON R

Diseños factoriales utilizando una Binomial

Si nuestra variable respuesta no es una binomial con estados [0‐1] ó [SI‐NO]

entonces podremos construir un modelo definiendo esa variable respuesta "frecuencia".

Hay dos modos:

• la respuesta es un valor "proporción" (acotado entre cero y uno)

• la respuesta es un valor combinado de dos vectores: valores SI, valores NO

Para proporciones, tenemos que definir el denominador que genera la frecuencia en 

weights

modelo <- glm(eqt, data=datos, family=binomial(link="logit"), weights=denominador)

Para respuestas combinadas, tenemos que definir los dos vectores conteo‐SI, conteo‐NOen una  nueva variable respuesta con el comando cbind

cbind(valoresSI, valoresNO)

## ejemplo con los datos de trabajo

(40)

MODELOS GENERALIZADOS USANDO UNA BINOMIAL

Nuestro modelo ahora tendrá la forma:

p: proporción de un "estado" respecto a toda la muestra (80 "ceros" y 20 "unos", N=100: p = 20/100 = 0.20) X: k variables predictoras

logit ( p )   =  log [ p / (1 – p) ]   =   β

0

+ β

1

X

1

+ β

2

X

2

+  β

3

X

3

+... + β

k

X

k

p / (1 – p)   =  exp ( β

0

+ β

1

X

1

+ β

2

X

2

+  β

3

X

3

+... + β

k

X

k

)      exp: antilogaritmo [ exp ( β

0

+ β

1

X

1

+ β

2

X

2

+  β

3

X

3

+... + β

k

X

k

) ]

p =

1  + [ exp ( β

0

+ β

1

X

1

+ β

2

X

2

+  β

3

X

3

+... + β

k

X

k

) ]

El modelo Generalizado Lineal  Logit predice valores de probabilidad continua (p):

entre 0 y 1.

40

(41)

RESIDUOS DE MODELOS GENERALIZADOS BINOMIALES

La exploración de los residuos en esta ocasión es un tanto diferente, debido al estado  binomial de la respuesta con dos valores discretos (e.g., 0‐1, sí‐no).

Con la "normalidad de los residuos" de devianza, en el mejor de los casos, tendríamos  algo parecido a lo siguiente (con antisimetría en los dos lados del "bigote"):

cuanto más explique el modelo más cerca estarán los dos extremos mayor densidad

de puntos menor densidad

de puntos

(42)

RESIDUOS DE MODELOS GENERALIZADOS BINOMIALES

En el caso de la relación entre los residuos de devianza y las predicciones del modelo (predictor lineal al que se le aplica la transformación logit), esperaríamos encontrar algo  como esto:

cuanto más explique el modelo más cerca estarán los dos extremos

mayor densidad de puntos menor densidad

de puntos

menor densidad de puntos

42

(43)

DIAGRAMAS ROC EN MODELOS GENERALIZADOS BINOMIALES

El Modelo Generalizado Binomial produce probabilidades de ocurrencia p de uno de los  estados de la variable respuesta (e.g., el valor 1 en 0‐1, o sí en sí‐no).

Estos valores de p, continuos entre 0 y 1, hay que convertirlos a "estados" 0 o 1,  utilizando umbrales de corte.

Estos valores umbrales nos permitirán convertir "probabilidades" en "estados".

si p<0.5  entonces es "cero"

por ejemplo, si el umbral es p=0.5

si p>0.5  entonces es "uno"

Podemos utilizar como umbral de corte (cut‐off point) la proporción real observada.

No obstante, en muchas ocasiones este es un valor incierto, y es conveniente  preguntarse:

¿cómo de bueno es nuestro modelo "clasificando las observaciones" independiente‐

mente de los valores umbral de corte?

(44)

DIAGRAMAS ROC EN MODELOS GENERALIZADOS BINOMIALES

El área en el cuadrado morado suma "uno". De esa área,

¿cuánto ocupa la superficie bajo la curva azul? (la proporción es el valor AUC) AUC

44

Referencias

Documento similar

[r]

Investigación da morte violenta Causa, mecanismo e circunstancias da morte Lesións contusas.. Lesións por arma branca Lesións por arma de fogo Asfixias mecánicas

[r]

La parte consolidada de los barrios disponen del sistema de alcantarillado; las viviendas que no disponen de este servicio utilizan pozos ciegos al cual se han conectado

Respecto a los modelos entrenados únicamente con muestras bulk (modelo específico 1 y modelo genérico), se observaron resultados muy similares entre el conjunto de datos de

De una paae, el modelo de los determinantes del abandono es complementario a los modelos de toma de decisión (Mabley et al. Si el modelo de Mobley y los modelos

Finalmente, Bauer y Herz contrastan empíricamente sí efectivamente se da la relación en forma de U derivada del modelo entre la volatilidad del tipo de cambio y su

Considerando los modelos en D-Q para el lado de alterna y de continua, se obtiene el modelo completo en el espacio de estado, dominio D-Q, modelo de gran señal y no lineal, tal como