Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Mod Est 4 G2
Mod Est 4 G2
en Estadı́stica Oficial
Modelos Estadı́sticos IV
INEGI–CIMAT, 2008
1
Modelos Estadı́sticos IV
Este curso cubre tres temas, correspondientes a los análisis de tres tipos de
datos: Longitudinales, espaciales y categóricos. Se presentan modelos para
datos dependientes con estructura longitudinal; se da una introducción a
la técnica de predicción kriging para datos geográficos y se desarrollan los
temas de tablas de contingencia generales, regresión logı́stica y modelos
log-lineales para datos categóricos (nominales, ordinales). El objetivo del
curso es el de lograr un manejo metodológico fundamentado para analizar
datos con estructuras longitudinales, espaciales y en escalas categóricas.
Temario
5. Modelos log–lineales
a) Modelos log–lineales para tablas de contingencia
b) Inferencia
c) Modelos gráficos y colapsabilidad
d) Asociación de variables con datos ordinales
3
6. Modelos logit para datos multinomiales
a) Modelos logit con respuestas nominales
b) Modelos para respuestas ordinales
Referencias
Tareas 30%
Examen Parcial 30%
Examen Final 40%
5
Datos Longitudinales
6
Introducción
7
Ejemplos
8
Salarios 1978−1987, Europa
Bélgica
15
Francia
Alemania
Salario USD/hora
5 10
Holanda
Italia
Reino Unido
0
Canadá
15
Japón
Corea
Salario USD/hora
USA
5 010
20 15
Productividad
5 10
Bélgica Holanda
Francia Italia
Alemania Reino Unido
0
Canadá
Japón
Corea
USA
5 0
8
2 x Log(Altura x Diametro)
0 2 4 6
Grupo Control
8
2 x Log(Altura x Diametro)
0 2 4 6
30
Distancia
20 25
8 10 12 14
Edad
Niños
30
Distancia
20 25
8 10 12 14
Edad 12
Producción de Leche Vacas por Granja (log)
14
80
13
60
12
40
11
20
10
9
93 94 95 96 97 98 93 94 95 96 97 98
4e+05
4.0
3e+05
3.5
3.0
2e+05
2.5
2.0
1e+05
1.5
0e+00
1.0
93 94 95 96 97 98 93 94 95 96 97 98
13
Modelos Básicos
14
Estructura Multivariada
15
Ejemplo: Estructura Multivariada
16
Efecto del esfuerzo Efecto del esfuerzo
0 5 10 15 0 5 10 15
0
0
2
2
4
4
6
6
Diabéticos
Grupo Control
8
8
10
10
17
T 2 de Hotelling
Recuerde que si y1, · · · , yn son i.i.d. Np(µ, Σ), entonces, para con-
trastar la hipótesis H0 : µ = µ0 podemos usar:
T 2 = n(ȳ − µ0)T S −1(ȳ − µ0)
donde
n n
1 X 1 X
ȳ = yi, y S = (Sij ), con Sij = (yki − ȳi)(ykj − ȳj )
n i=1 n − 1 k=1
En general, la definición de la T 2 de Hotelling es T 2 = νz T A−1z,
donde z y A están independientemente distribuı́das Np(0, Γ) y
Wp(ν, Γ), respectivamente. En nuestro caso, puede verse que
√
nz = ȳ − µ0 ∼ Np(0, Σ), (n − 1)S ∼ Wp(ν = n − 1, Σ) (indep.)
y ası́, efectivamente, T 2 tiene la forma de una T 2 de Hotelling con
ν = n − 1. Una propiedad útil de esta variable es que
ν−p+1 2 p
T ∼ Fν−p+1
νp
18
T 2 de Hotelling (dos muestras)
19
Ejemplo: Control vs Diabéticos
En este caso, n1 = 8, n2 = 6 y
1 14.1 12.7 12.5 10.8 10.4 12.5
Sp = (8 − 1) 12.7 12.4 11.9 + (6 − 1) 10.4 12.7 12.5
8+6−2 12.5 11.9 11.7 12.5 12.5 16.2
12.7 11.8 12.5
= 11.8 12.5 12.1
12.5 12.1 13.6
además
20
Comparación Control vs Diabéticos
control
diabéticos
15
Efecto del esfuerzo
5
0 10
0 2 4 6 8 10
21
Modelos de Regresión
22
Modelos de Regresión
30
estudio, llevado a cabo por
Distancia
25
ortodoncistas, se midió la dis-
20
tancia entre la glándula pitui-
taria y la fisura maxilar de 27 8 10 12 14
30
bles en placas de rayos-X). Es-
Distancia
tas mediciones fueron efectuadas
25
cada dos años, iniciando el es-
20
tudio cuando los niños tenı́an 8
años y terminando a los 14. 8 10 12 14
23
Modelos de Regresión
De la gráfica observamos:
25
Un modelo preliminar para los datos
26
Estimación del Modelo
En general, si tenemos
y1 ∼ N (X1 β, Σ)
... (independientes)
yn ∼ N (Xn β, Σ)
la verosimilitud es
n
Y 1 © T −1
ª
L(β, Σ) = p/2 Σ1/2
exp (y i − X i β) Σ (y i − X i β)
i=1
(2π)
28
Distancia Distancia
20 25 30 20 25 30
8
8
10
10
Niñas
Niños
12
12
14
14
29
Prueba de Hipótesis
La hipótesis considerada es
31
Modelos con Efectos Aleatorios
32
Modelos con Efectos Aleatorios
33
Modelos con Efectos Aleatorios
35
Ajuste del Modelo
La logverosimilitud es
n
1 X T V −1 (y −X β)− mn log(τ 2)− n log|V |
l(β, τ 2, V 0 ) = C− (yi −X i β) 0 i i 0
2τ 2 i=1 2 2
si fijamos V0, esto es “perfilamos”, los estimadores de máxima
verosimilitud son:
à n !−1 à n
!
X X
b 0) =
β(V XiT V0−1Xi XiT V0−1 yi
i=1 i=1
n
X
1 1 b T V −1(yi − Xiβ)
b
τb2 (V0 ) = SCE(V0 ) = (yi − Xi β) 0
mn nm i=1
0.0
0.2
0.4
ρ
0.6
Estimación de ρ
0.8
1.0
37
Ajuste del Modelo
38
Errores Estándar
39
Modelo con Efectos Fijos
40
Modelo con Efectos Fijos
Tiempo
t=1 t=2 t=3 t=4
Co. 1955 1960 1965 1970
i=1 costo 3.154 4.271 4.584 5.849
output 214 419 588 1,025
i=2 costo 3.859 5.535 8.127 10.966
output 696 811 1,640 2,506
i=3 costo 19.035 26.041 32.444 41.180
output 3,202 4,802 5,821 9,275
i=4 costo 35.229 51.111 61.045 77.885
output 5,668 7,612 10,206 13,702
i=5 costo 33.154 40.044 43.125 57.727
output 6,000 8,222 8,484 10,004
i=6 costo 73.050 98.846 138.880 191.560
output 11,796 15,551 27,218 30,958
42
Compañía 1 Compañía 2
10
10
8
8
6
6
4
4
2
2
0
0
1 2 3 4 1 2 3 4
Compañía 3 Compañía 4
10
10
8
8
6
6
4
4
2
2
0
0
1 2 3 4 1 2 3 4
Compañía 5 Compañía 6
10
10
8
8
6
6
4
log output
2
log costo
43
0
1 2 3 4 1 2 3 4
Costo-Output en la Industria Eléctrica
44
Año 1955 Año 1960
6
5
5
4
4
Log(Costo)
Log(Costo)
3
3
2
2
1
1
5 6 7 8 9 10 11 5 6 7 8 9 10 11
Log(Output) Log(Output)
6
5
5
4
4
Log(Costo)
Log(Costo)
3
3
2
2
1
5 6 7 8 9 10 11 5 6 7 8 9 10 11
45
Log(Output) Log(Output)
Relación Costo−Output
6
5
Log(Costo)
2 3 1 4
5 6 7 8 9 10 11
Log(Output)
Relación Costo−Output
6
5
Log(Costo)
2 3 1 4
5 6 7 8 9 10 11
Log(Output) 46
Modelo con Efectos Fijos
yit = αi + xT
it β + eit , i = 1, · · · , n t = 1, · · · , m
pero ahora, las αi’s son simples parámetros desconocidos (efectos
individuales), esto es, tenemos tantos interceptos como unidades
(o individuos). Ahora, poniendo juntos los m datos de la i-ésima
unidad:
yi = 1αi + Xiβ + ei
donde
1 x T β1
..i1
= ...
..
1 , Xi = . y β= .
1 m×1 xT
im m×k βp k×1
aquı́ estamos suponiendo que tenemos k covariables.
47
Modelo con Efectos Fijos
48
Estimación del Modelo
βb = (X T M X)−1X T M y
b = (D T D)−1D T (y − X β)
α b
49
Aspectos Computacionales en el Ajuste del Modelo
M0 O · · · O
O M0 · · · O 1
M = ... ... . . . ... , donde M0 = Im − Jm
m
O O · · · M0
y Jm es una matriz m×m de puros 1’s. Además M es idempotente,
entonces (siguiente hoja · · · )
50
Aspectos Computacionales en el Ajuste del Modelo
51
Estimación del Modelo Costo-Output
βb = 0.674
α
b 1 = −2.69, α
b 2 = −2.91
α
b 3 = −2.44, α
b 4 = −2.13
α
b 5 = −2.31, α
b 6 = −1.90
52
Relación Costo−Output
6
5
4
Log(Costo)
3 2
1
5 6 7 8 9 10 11
Log(Output)
53
Tarea 1
1. (Ver Greene pág. 642). Considere los siguientes datos de inversión (y) y
utilidad (x) de n = 3 compañı́as sobre m = 10 perı́odos:
i=1 i=2 i=3
t y x y x y x
1 13.32 12.85 20.30 22.93 8.85 8.65
2 26.30 25.69 17.47 17.96 19.60 16.55
3 2.62 5.48 9.31 9.16 3.87 1.47
4 14.94 13.79 18.01 18.73 24.19 24.91
5 15.80 15.41 7.63 11.31 3.99 5.01
6 12.20 12.59 19.84 21.15 5.73 8.34
7 14.93 16.64 13.76 16.13 26.68 22.70
8 29.82 26.45 10.00 11.61 11.49 8.36
9 20.32 19.64 19.51 19.55 18.49 15.44
10 4.77 5.43 18.32 17.06 20.84 17.87
54
Tarea 1 (cont.)
2. Visite los siguientes sitios y haga un reporte sobre la estructura de algunas
bases de datos longitudinales disponibles en esos lugares
• www.isr.umich.edu/src/psid/index.html (Panel Study Income Dynamics)
• www.bls.gov/nls/ (National Longitudinal Survey)
56
Estimación de Errores Estándar
βb = (X T M X)−1X T M y
b = (D T D)−1D T (y − X β)
α b
57
Cálculo de Varianzas de los Estimadores
en el Modelo de Efectos Fijos
b = Var(X T M X)−1X T M y)
Var(β)
= (X T M X)−1X T M Var(y)M T X(X T M X)−1
= σ 2(X T M X)−1X T M M T X(X T M X)−1 = σ 2(X T M X)−1
Por otro lado
b = Var((D T D)−1D T (y − X β))
Var(α) b
donde
b = Var(y) + XVar(β)X
Var(y − X β) b T − 2Cov(y, X β)
b
y esta covarianza es
b = Cov(y, X(X T M X)−1X T M y) = σ 2M X(X T M X)−1X T
Cov(y, X β)
58
Cálculo de Varianzas de los Estimadores
en el Modelo de Efectos Fijos
entonces
b = Var(y) + XVar(β)X
Var(y − X β) b T − 2Cov(y, X β)
b
60
Estimación de Errores Estándar
61
Ejemplo
βb = 0.674
α
b 1 = −2.69, α
b 2 = −2.91, α
b 3 = −2.44,
α
b 4 = −2.13, α
b 5 = −2.31, α
b 6 = −1.90
62
Pruebas de Hipótesis en el Modelo con Efectos Fijos
63
Pruebas de Hipótesis en el Modelo con Efectos Fijos
H0 : α1 = α2 = · · · = αn
entonces podemos usar el estadı́stico F (ver hoja 76 de notas de
Mod. Est. II)
(K T γb − m)T [K T (W T W )−1K]−1(K T γb − m)/q
F =
SCE/(nm − n − k)
En base a este estadı́stico, rechazamos la hipótesis H0 si
q
F > Fnm−n−k
64
Pruebas de Hipótesis en el Modelo con Efectos Fijos
66
Pruebas de Hipótesis en el Modelo con Efectos Fijos
H0 : α1 = · · · = α6
El estadı́stico de prueba es
b T L(LT RL)−1LT α/(n
α b − 1) 0.1502
F = = = 9.6715
CME 0.0155
5 > 9.6715) = 0.00016 y, por lo tanto,
y el p-valor asociado es P (F17
las compañı́as tienen interceptos estadı́sticamente diferentes.
67
Nuevamente: Conceptos Básicos en Regresión
68
Variables Regresoras Estocásticas
69
Predictor Óptimo
70
Datos y Regresión
71
Ajuste de un Modelo de Regresión
Ajustemos el modelo
" #
α
y = 1α + Xβ + e = [1 X] +e
β
note que es como el modelo de la hoja 48, sólo que con 1 en vez
de D, entonces los estimadores son (ver hoja 49):
βb = (X T M X)−1X T M y
b = (1T 1)−11T (y − X β)
α b
σ
b xy . Esto es, los estimadores de regresión, pueden escribirse como
· −1 1 ¸ · ¸
1 T
b
β= (M X) (M X) (M X)T (M y) = Σ
c−1σ
x b xy
n n
b = ȳ − x̄T βb = µ
α bT
by − µ c−1 b
x Σx σ xy
Entonces, el predictor basado en regresión es:
³ ´
yb = b + xT βb
α = µ bT
by − µ c−1σ
Σ
x x b xy
c−1σ
+ xT Σx b xy
y el predictor óptimo (al final de hoja 71) es:
³ ´
yb = E[ y | x ] = µy − µT −1
x Σx σxy + xT ( Σ−1
x σxy )
de aquı́ vemos porqué a E[ y | x ] se le llama la regresión de y
sobre x (ver Greene, pág. 80).
73
Variables Regresoras Estocásticas
74
Supuestos Básicos
1. y = Xβ + e
3. E(e | X) = 0
4. Var(e | X) = σ 2I
5. e | X ∼ Nn(0, σ 2I)
75
Regresoras Estocásticas
77
Variables Instrumentales
βbV I = (Z T X)−1Z T y
si resulta consistente. Es importante señalar que la regresión de y
sobre Z no presentarı́a problemas de inconsistencia, sin embargo,
la que es de interés es la de y sobre X y precisamente ésta es la
que nos dá el estimador βbV I .
79
Variables Instrumentales
Consumot = α + β Ingresot + et
X̃ = Z(Z T Z)−1Z T X
como matriz de variables instrumentales (X̃ es la proyección de
X sobre el espacio de columnas de Z, esto es, las columnas de
X̃ son combinaciones lineales (finitas) de los instrumentos y, por
lo tanto, son ellas mismas variables instrumentales). Entonces el
estimador instrumental de β es
81
Variables Instrumentales
83
Errores Estándar
85
Tarea 2 (cont...)
86
Efectos Fijos: Estimadores “Dentro” y “Entre”
87
Efectos Fijos: Estimadores “Dentro” y “Entre”
yit = αi + xT
it β + eit , i = 1, · · · , n t = 1, · · · , m
donde n es el número de grupos o individuos. Si promediamos
sobre todos los tiempos, tenemos
ȳi = αi + x̄T
i β + ēi , i = 1, · · · , n
ası́, tomando la diferencia, desaparecemos los interceptos
Totales
n X
X m
t =
Sxx ¯)T
¯)(xit − x̄
(xit − x̄
i=1 t=1
n X
X m
t =
Sxy ¯)(yit − ȳ¯)
(xit − x̄
i=1 t=1
89
Efectos Fijos: Estimadores “Dentro” y “Entre”
Dentro de Grupos
n X
X m
w
Sxx = (xit − x̄i)(xit − x̄i)T
i=1 t=1
n X
X m
w =
Sxy (xit − x̄i)(yit − ȳi)
i=1 t=1
Entre Grupos
n
X
b
Sxx = m(x̄i − x̄ ¯)T
¯)(x̄i − x̄
i=1
n
X
b =
Sxy ¯)(ȳi − ȳ¯)
m(x̄i − x̄
i=1
90
Efectos Fijos: Estimadores “Dentro” y “Entre”
Para el modelo
yit = αi + xT
it β + eit
puede verse que el estimador de mı́nimos cuadrados es
βbt = [Sxx
t ]−1S t
xy
Para el modelo
yit − ȳi = (xit − x̄i)T β + eit − ēi
el estimador dentro de grupos (corresponde al de pág 51) es
βbw = [Sxx
w ]−1S w
xy
y, para el modelo
ȳi = αi + x̄T
i β + ēi
el estimador entre grupos es
βbb = [Sxx
b ]−1 S b
xy
92
Log(Costo) Desv. Log(Costo) Log(Costo)
1.5 2.0 2.5 3.0 3.5 4.0 4.5 −0.4 −0.2 0.0 0.2 0.4 1 2 3 4 5
6
−0.5
7
7
8
0.0
8
Entre ( 0.911 )
Todos ( 0.888 )
Dentro ( 0.674 )
9
9
0.5
10
10
93
Efectos Fijos: Estimadores “Dentro” y “Entre”
βbt = 0.88799
βbw = 0.67428
βbb = 0.91107
La mayor parte de la variación en los datos se debe a diferen-
cias entre grupos (lo cual no es de extrañar pues Greene dice
explı́citamente en su libro que ese subconjunto de datos fué tomado
precisamente para que reflejara un rango amplio de compañı́as).
βbt = [Sxx
t ]−1 S t
xy
w + Sxxb ]−1 [S w + S b ]
= [Sxx xy xy
w + Sxxb ]−1 [S w β
= [Sxx bw + S b βbb]
xx xx
w + Sxxb ]−1 S w β
= [Sxx bw + [S w + Sxxb]−1S b βbb = F w βbw + F bβbb
xx xx xx
w + Sxxb ]−1 S w = I − F b .
donde F w = [Sxx xx
En el ejemplo tenemos
95
Modelos de Efectos Aleatorios: Uso de lmer()
96
Modelos de Efectos Aleatorios: Uso de lmer()
yit = α + xT
it β + δi + eit , i = 1, · · · , n, t = 1, · · · , m
donde las δi’s son i.i.d. N (0, σ02) e independientemente distribuı́das
de los eij ’s, los cuales son i.i.d. N (0, σ 2).
α
b = −3.26, βb = 0.78, σ
b02 = 0.047 y b 2 = 0.017
σ
97
Modelos de Efectos Aleatorios: Uso de lmer()
98
Modelos de Efectos Aleatorios: Uso de lmer()
lcost <- log(datos[,3])
loutp <- log(datos[,4])
compa <- as.factor(datos[,1])
ti <- datos[,2]
dat <- data.frame(compa,ti,lcost,loutp)
out <- lmer( lcost ~ loutp + (1|compa), data=dat, method="ML" )
summary(out)
Fixed effects:
Estimate Std. Error t value
(Intercept) -3.282 0.409 -8.03
loutp 0.780 0.048 16.27
99
Prueba para Efectos Aleatorios
βbF − βbA
donde βbF se obtiene como en la hoja 51 y βbA como en la hoja
36. Ahora, si consideramos que la hipótesis H0 : no correlación
es cierta, entonces ambos estimadores son consistentes, pero si
no es cierta entonces βbA es inconsistente y βbF si es consistente.
Por lo tanto, bajo H0 esperarı́amos que la diferencia no sea muy
grande.
102
Prueba de Hausman
d βb )
Para terminar de implementar el cálculo de W , usaremos Var( A
d βb ), la expresión en hoja 61.
como en hoja 39 y, para Var( F
104
Estimación de Trayectorias Individuales
105
Estimación de Trayectorias Individuales
Niñas y Niños
3025
Distancia
20
8 10 12 14
106
Estimación de Trayectorias Individuales
108
Estimación de Trayectorias Individuales
Niñas y Niños
3025
Distancia
20
8 10 12 14
109
Estimación de Trayectorias Individuales
Estamos suponiendo que las δi’s son aleatorias, ası́ que para obtener
su “estimación” usamos el predictor óptimo visto en la hoja 70:
δbi = E(δi | yi).
110
Predictor Óptimo
111
Predictor Óptimo
b + βb1tj + E(δ
ybit = α b
i | yi )
112
Niñas y Niños
3025
Distancia
20
8 10 12 14
113
Ejercicio
114
Ejercicio
115
6
5
4
Riel
3
2
1
40 60 80 100
Tiempo
116
Ejercicio
Mediciones
Riel 1 2 3 4 5 6
55 26 78 92 49 80
53 37 91 100 51 85
54 32 85 96 50 83
Va a encontrar que
à !−1
1 σ 2 ³ ´−1
βbi = ³ ȳi + 2
σ0 ȳ¯
´ ³ ´−1
σ 2 −1 + σ02 m
m
Esta expresión muestra un balance entre dos modelos de efectos
fijos extremos:
yij = βi + eij y yij = β + eij
por un lado, si suponemos un intercepto fijo pero diferente para
cada riel, la estimación de esos efectos serı́a βbi = ȳi y, por otro lado,
si suponemos homogeneidad para los rieles, la estimación serı́a
βb = ȳ¯. La predicción, bajo el modelo de efectos aleatorios es un
balance (“shrinkage”) entre estas dos estimaciones, donde el peso
para cada una es inversamente proporcional a las incertidumbres
en los dos tipos de variabilidad (“dentro” y “entre”).
118
Modelos Jerárquicos
119
Modelos Jerárquicos
120
Modelos Jerárquicos
αi = a0 + uT
i b0 + ηi1
βi = a1 + uT
i b1 + ηi2
Las variables xij y ui son predictoras a nivel individuo y a nivel
ciudad respectivamente.
121
Niveles de Radón
123
Niveles de Radón
1 2 5 10 20 50 100
num obs por condado
Modelo Multinivel
logradon promedio por condado
0.0 1.0 2.0 3.0
1 2 5 10 20 50 100
num obs por condado 125
Niveles de Radón
Fixed effects:
Estimate Std. Error t value
(Intercept) 1.4612 0.0512 28.52
x -0.6926 0.0704 -9.84
0
0
CLAY
Piso
Piso
LAC QUI PARLE
1
1
0
0
AITKIN
STEARNS
Piso
Piso
1
1
0
0
RAMSEY
Piso
Piso
KOOCHICHING
1
1
ST LOUIS
DOUGLAS
Piso
Piso
1
1
127
Modelos Jerárquicos
128
Modelos Jerárquicos
129
Salida de lmer
Linear mixed-effects model fit by REML
Formula: y ~ x + uexp + (1 | county)
AIC BIC logLik MLdeviance REMLdeviance
2142 2161 -1067 2123 2134
Random effects:
Groups Name Variance Std.Dev.
county (Intercept) 0.0245 0.156
Residual 0.5752 0.758
number of obs: 919, groups: county, 85
Fixed effects:
Estimate Std. Error t value
(Intercept) 1.4658 0.0379 38.6
x -0.6683 0.0688 -9.7
uexp 0.7203 0.0918 7.8
130
Modelo Ajustado
3
log(radon)
log(radon)
log(radon)
log(radon)
1
1
−1
−1
−1
−1
0 1 0 1 0 1 0 1
Piso Piso Piso Piso
3
log(radon)
log(radon)
log(radon)
log(radon)
1
1
−1
−1
−1
−1
0 1 0 1 0 1 0 1
Piso Piso Piso Piso 132
LAC QUI PARLE AITKIN KOOCHICHING DOUGLAS
3
1
1
−1
−1
−1
−1
0 1 0 1 0 1 0 1
CLAY STEARNS RAMSEY ST LOUIS
3
1
1
−1
−1
−1
−1
0 1 0 1 0 1 0 1
WILKIN STEVENS WABASHA YELLOW MEDICINE
3
3
1
1
−1
−1
−1
−1
0 1 0 1 0 1 0 1
STEELE SCOTT PIPESTONE CARVER
3
3
1
1
−1
−1
−1
−1
0 1 0 1 0 1 0 1
ANOKA RENVILLE LE SUEUR LAKE OF THE WOODS
3
3
1
1
−1
−1
−1
−1
0 1 0 1 0 1 0 1
MURRAY PINE ROCK CLEARWATER
3
3
1
1
−1
−1
−1
−1 133
0 1 0 1 0 1 0 1
Variabilidad Explicada por los Niveles de Uranio
α
bi vs ui
donde αbi = αb+γ b ui + δbi. La lı́nea sólida representa la predicción
de log(radón) (para casas con sótano, i.e. xij = 0) como función
de log(uranio) en el condado.
134
Variabilidad debida al Uranio
2.0
Interceptos Estimados
1.0 1.5
135
Modelo con Interceptos y Pendientes Aleatorios
α
b = 1.463, βb = −0.681, b 2 = 0.557,
σ
σ
b02 = 0.122, σ
b12 = 0.118, ρb = −0.337
El modelo puede reescribirse como
137
Modelo con Interceptos y Pendientes Aleatorios
Fixed effects:
Estimate Std. Error t value
(Intercept) 1.4628 0.0539 27.15
x -0.6811 0.0876 -7.78
138
LAC QUI PARLE AITKIN KOOCHICHING DOUGLAS
3
log(radon)
log(radon)
log(radon)
log(radon)
1
1
−1
−1
−1
−1
0 1 0 1 0 1 0 1
Piso Piso Piso Piso
3
log(radon)
log(radon)
log(radon)
log(radon)
1
1
−1
−1
−1
−1
0 1 0 1 0 1 0 1
Piso Piso Piso Piso 139
Modelo con Interceptos y Pendientes Aleatorios
Fixed effects:
Estimate Std. Error t value
(Intercept) 1.4687 0.0352 41.7
x -0.6712 0.0842 -8.0
uexp 0.8081 0.0905 8.9
x:uexp -0.4207 0.2267 -1.9
141
1.8
Interceptos
1.0 1.4
0.6
yi = Xib + Zibi + ei
con bi ∼ N (0, Σ) y ei ∼ Nni (0, σ 2I) para i = 1, · · · , n.
143
Modelo Mixtos Generales
144
Resumen
145
Resumen
146
Resumen
147
Discusión
148
Maestrı́a en Estadı́stica Oficial
Primer Examen Parcial de Modelos Estadı́sticos IV
Nota: El examen es por equipos de dos personas (pudiendo variar este número por
causas especiales y bajo previa autorización de mi parte). Mandar un archivo pdf con su
solución a más tardar el miércoles 2 de abril a la medianoche. (Para mayor legibilidad,
el código R que se entregue, que esté en formato courier).
que σ 2 y σ02 con cantidades conocidas. Para las m observaciones de la i-ésima unidad
podemos escribir el modelo como
yi = β 1m + δi 1m + ei , i = 1, · · · , n
o, equivalentemente, como yi = β 1m + νi , i = 1, · · · , n, donde νi ∼ i.i.d. Nm (0, σ02 Jm + σ 2 I).
Puede verse que el estimador de máxima verosimilitud para β (o, lo que es lo mismo en
este caso, el estimador de mı́nimos cuadrados generalizados para β) está dado por β b = ȳ¯,
PP
donde ȳ¯ = yij /nm (no hay que demostrar esta expresión para β b, simplemente la
usaremos). Encuentre los predictores óptimos para los efectos aleatorios:
β b (δi | yi) = βb + σ021Tm(σ02Jm + σ2I)−1(yi − βb1m),
bi = βb + E (ver hoja 112)
bi dada en la hoja 118.
en otras palabras, a donde tiene que llegar es a la expresión para β
Puede usar la fórmula
1 b
(aI + bJm )−1 = cI + dJm , donde c = , d = −
a a(a + mb)
149
2. Considere el modelo de efectos aleatorios
yij = αi + βxij + eij , i = 1, · · · , n, j = 1, · · · , m
donde αi ∼ i.i.d. N (α, σ02 ) y eij ∼ i.i.d. N (0, σ 2 ) y son independientes de las αi ’s; n denota
al número de individuos y m es el número de observaciones por individuo.
(a) Suponga que tenemos una sola observación por individuo (m = 1) (datos de sección
transversal). Una consecuencia de esto es que no todos los parámetros pueden ser
estimados, ¿cuáles?, ¿porqué?.
(b) Consideremos ahora el caso en el que tenemos dos observaciones por individuo (m =
2). Podemos tomar ventaja de esta estructura longitudinal tomando primeras diferen-
cias (dentro de cada individuo) para eliminar las αi ’s. Use esta idea para encontrar un
estimador para β, indique también cómo estimarı́a el error estándar de este estimador.
150
4. Considere el artı́culo:
• Steele, F. (2008) Multilevel models for longitudinal data. JRSS-A, 171, 5–19.
Haga un resumen/discusión acerca de la sección 2.1 de este artı́culo, donde se presenta un
modelo para curvas de crecimiento (discuta también el ejemplo presentado en la sección
2.1.1). Aunque la autora comenta acerca de la relación de modelos multinivel con los
modelos de ecuaciones estructurales (SEM’s), para nuestros fines no tenemos que discutir
este tipo de modelos.
151
Análisis de Datos Categóricos
152
Datos Categóricos
• Preferencia de un producto: A, B o C.
155
Modelo Multinomial
E(y) = nπ y Var(y) = nΣ
(ver A. pág. 579)
156
Estimación en el Modelo Multinomial
159
Prueba Ji-Cuadrada
H0 : π1 = π10, · · · , πc = πc0
esto es, deseamos ver si las probabilidades multinomiales son con-
sistentes con ciertos determinados valores. El estadı́stico ji-cuadrada
de Pearson se define como
c (n − µ )2
X j j
χ2 =
j=1 µj
160
Prueba de Cociente de Verosimilitudes
H 0 : θ ∈ Θ0 vs Ha : θ ∈ Θ − Θ0
donde Θ es el espacio parametral y Θ0 es un espacio parame-
tral “reducido” (ver A. pág 11). El estadı́stico cociente de
verosimilitudes es
l
Λ= 0
l1
donde l0 es la verosimilitud maximizada sobre Θ0 y l1 la verosimi-
tud pero maximizada sobre todo Θ. Note que siempre tendremos
0 < Λ ≤ 1 y, mientras más cercano se encuentre Λ de 1 más creı́ble
es H0.
161
Prueba de Cociente de Verosimilitudes
163
Relación de G2 con χ2 de Pearson
164
Ejemplo: Distribución Multinomial Parametrizada
165
Distribución Multinomial Parametrizada
166
Paréntesis: Bootstrap
168
Distribución Bootstrap (p.262)
150
100
50
0
169
Continuación del Ejemplo
171
Tablas de Contingencia
H0 : πij = πi.π.j i = 1, · · · , I, j = 1, · · · , J
Para esta hipótesis, (ver A. pág. 78) podemos usar cualquiera de
los dos métodos: Ji-cuadrada de Pearson o G2.
173
Prueba de Independencia
I−1
X J−1
X
L= ni.logπi. + nI.logπI. + n.j logπ.j + n.J logπ.J
i=1 j=1
y, procediendo como en la hoja 157, es fácil ver que (lo lógico):
n n.j
b i. = i.
π y πb .j =
n n
b ij = (ni./n)(n.j /n). El estadı́stico χ2 es
de aquı́ que π
I X
X J (n − µ b ij )2 I X
X J (n − n n /n)2
ij ij i. .j
χ2 = =
i=1 j=1 µ
b ij
i=1 j=1 ni.n.j /n
174
Prueba de Independencia
gl = IJ − 1 − (I − 1) − (J − 1) = IJ − I − J + 1 = (I − 1)(J − 1)
de aquı́ que
à ! à !
XX nij XX nij
G2 = 2 nij log =2 nij log
i j nπ
b ij
i j µ
b ij
178
Prueba de Homogeneidad
179
Prueba de Homogeneidad
" # " #
n1.! n n nI.! n n
l= π1111 · · · π1J1J · · · πI1I1 · · · πIJIJ
n11! · · · n1J ! nI1! · · · nIJ !
I
Y h i h i
n i. ! n n n n
l= π
11
11 1J I1 IJ
· · · π1J · · · πI1 · · · πIJ
i=1 ni1! · · · niJ !
aquı́ también es fácil ver que los máximos se obtienen con π
b ij =
nij /ni.; entonces
"à !n à !n # "à !n à !n #
I
Y 11 1J I1 IJ
ni.! n11 n1J nI1 nIJ
l1 = ··· ··· ···
i=1 ni1 ! · · · niJ ! n1. n1. nI. nI.
los coeficientes multinomiales son los mismos para l1 y l0, ası́ que
se van a cancelar al formar el cociente.
³´ ³ ´
n.1 n.1 n.J n.J
l0 n ··· n
Λ= = h³ ´
n11 n11
³ ´
n1J n1J
i h³ ´
nI1 nI1
³ ´
nIJ nIJ
i
l1 ··· n ··· n ··· n
n1. 1. I. I.
181
Prueba de Homogeneidad
183
Afiliación Política
60
Let
Ing
50 Agr
Edu
40
porcentaje
30 20
10
184
Prueba de Homogeneidad
185
Medidas de Asociación
186
Tasa de Momios
190
Tasa de Momios (Errores Estándar)
191
Tasa de Momios (Errores Estándar)
195
Riesgo Relativo: Errores Estándar
Entonces, aproximadamente
1 − π11 1 − π21
Var(log(RR)) = +
n1.π11 n2.π21
y estimarı́amos esta varianza (usando π
b i1 = ni1/ni.) como:
d 1 1 1 1
Var(log(RR)) = − + −
n11 n1. n21 n2.
Un intervalo de confianza (basado en la normalidad asintótica del
log riesgo relativo) es
s
1 1 1 1
log(RR) ± zα/2 − + −
n11 n1. n21 n2.
199
Tasas de Momios en Tablas I × J
La expresión
P (X = a | Y = c)
P (X = b | Y = c)
compara la ocurrencia de X = a contra la de X = b cuando Y está
fija en c, similarmente, podemos construı́r
P (X = a | Y = d)
P (X = b | Y = d)
si estas cantidades son iguales eso indicarı́a que el cambio de X de
a a b no se vé afectado por que Y se encuentre en c o d, esto lo
podemos interpretar como que la ocurrencia de X en sus niveles a
y b son independientes de la ocurrencia de Y en c o d. Al cociente
ası́ formado se le llama tasa de momios ab, cd
P (X=a | Y =c)
P (X=b | Y =c) P (X = a | Y = c)P (X = b | Y = d) π π
ω= = = ab bd
P (X=a | Y =d) P (X = b | Y = c)P (X = a | Y = d) πbcπad
P (X=b | Y =d)
200
Tasas de Momios en Tablas I × J
201
Indicadores de Asociación
203
Nota: Máximo Valor de χ2
I X
X J (n − n n /n)2 X X (npij − npi.p.j )2
ij i. .j
χ2 = =
i=1 j=1 ni.n.j /n i j npi.p.j
X X p2 2 2
ij − 2pij pi. p.j + pi. p.j X X pij 2
=n =n − 2 + 1
i j pi.p.j i j pi. p.j
donde p2ij ≤ pi. p.j . Ahora, la máxima dependencia ocurre cuando
las probabilidades en cada renglón (o columna) están concentradas
en una sola casilla, por ejemplo:
x
x
x
x o
x
x
205
Coeficiente de Concentración τ
206
Coeficiente de Concentración τ
209
τ y Clasificación
entonces
2
X πij
X πij πij
P(bien clasif. | X = i) = = 2
j π i. πi. j π i.
X πij 2
y P(error | X = i) = 1 − 2
j π i.
ası́, la probabilidad de error (no condicional) cuando hacemos uso
del conocimiento de X, es
I
X 2
X πij I
X 2
X πij 2
X X πij
P(error) = 1 − πi. = πi. − =1−
2
i=1 j πi. i=1 j πi. i j πi.
La probabilidad de error disminuye cuando usamos más infor-
mación pero, ¿cuánto disminuye?.
211
τ y Clasificación
216
Medidas de Asociación Ordinal
218
Medidas de Asociación Ordinal
220
γ de Goodman y Kendall
• −1 ≤ γ ≤ 1.
• γ = 1 si Πd = 0 y γ = −1 si Πc = 0.
221
γ de Goodman y Kendall
224
Tablas I × J × K
228
Prueba de Cochran–Mantel–Haenszel
229
Prueba de Cochran–Mantel–Haenszel
230
Prueba de Cochran–Mantel–Haenszel
232
Modelos Loglineales
233
Modelos Loglineales para Tablas I × J
Los modelos loglineales van a ser muy útiles en tablas con 3 o más
factores; sin embargo, aprovecharemos el caso I × J para intro-
ducir notación. En este caso, si las variables son independientes,
tenemos
πij = πi.π.j
entonces
235
Modelos Loglineales para Tablas I × J
236
Modelos Loglineales para Tablas I × J
237
Interpretación de Parámetros
y
En el modelo bajo independencia log(µij ) = λ + λxi + λj tenemos,
por ejemplo, en una tabla I × 2:
P(Y = 1 | X = i)
logit [P(Y = 1 | X = i)] = log
P(Y = 2 | X = i)
πi1 µi1
= log = log = log(µi1) − log(µi2)
πi2 µi2
y y
= (λ + λxi + λ1) − (λ + λxi + λ2)
y y
= λ1 − λ2
Un par de observaciones: Primero, la comparación entre P(Y = 1)
y P(Y = 2) no depende del renglón i (lo cual es obvio si conside-
ramos que estamos en un modelo bajo independencia); segundo,
no importa cual haya sido el conjunto de restriciones para identi-
y y
ficabilidad, la diferencia λ1 − λ2 no se altera.
238
Interpretación de Parámetros
239
Tablas I × J × K
• (Cont...) Z independiente de X y Y .
y xy
log(µijk ) = λ + λxi + λj + λzk + λij
De forma similar se pueden escribir modelos loglineales para X
independiente de Y y Z y Y independiente de X y Z. (Y vi-
ceversa, también se puede ver que si tenemos un modelo de la
forma log(µijk ) = λ + g(x, y) + λzk , tendremos precisamente el caso
Z independiente de X y Y ).
241
Resumen: Tipos de Asociación
Asociación Modelo Forma de πijk
No asociación: log(µijk ) =
Variables mutuamente λ + λxi + λyj + λzk πijk = πi.. π.j.π..k
independientes
X independiente log(µijk ) = πijk = πi.. π.jk
de (Y, Z) λ + λxi + λyj + λzk + λyz
jk
X y Y condicionalmente log(µijk ) =
independientes λ + λxi + λyj + λzk πijk = πi.k π.jk /π..k
yz
dado Z +λxzik + λjk
(veremos) log(µijk ) =
Asociación homogénea λ + λxi + λyj + λzk no hay
+λxy xz yz
ij + λik + λjk
General log(µijk ) =
(modelo saturado) λ + λxi + λyj + λzk πijk
+λxy xz yz xyz
ij + λik + λjk + λijk
242
Nota: Muestreo Poisson y la Distribución Multinomial
Cij ∼ P(µij )
la distribución conjunta de todas las variables aleatorias (conteos
en cada celda) es
n
e−µij µijij
P(C11 = n11, · · · , CIJ = nIJ ) = Πij
nij !
243
Nota: Muestreo Poisson y la Distribución Multinomial
245
Ajuste de Modelos
b ijk )2
X (nijk − µ
χ2 =
ijk
µ
b ijk
247
Ajuste del Modelo de Independencia Condicional
A partir de X T µ
b = X T d, obtenemos 6 relaciones
µb ... = n, µ
b 1.. = n1.., µ
b .1. = n.1., µ
b ..1 = n..1, µ
b 1.1 = n1.1, µ
b .11 = n.11
Usando estas relaciones obtenemos
b111
µ b1.1
=µ b.11/µ
µ b..1 = n1.1 n.11 /n..1
b112
µ b1.2
=µ b.12/µ
µ b..2 b1.. − µ
= (µ b1.1)(µb.1. − µ
b.11)/(µ
b... − µ
b..1) = n1.2 n.12/n..2
b121
µ b1.1
=µ b.21/µ
µ b..1 = n1.1 (n..1 − n.11 )/n..1 = n1.1 n.21 /n..1 , etc.
b122
µ b1.2
=µ b.22/µ
µ b..2 = n1.2 n.22 /n..2
b211
µ b2.1
=µ b.11/µ
µ b..1 = n2.1 n.11 /n..1
b212
µ b2.2
=µ b.12/µ
µ b..2 = n2.2 n.12 /n..2
b221
µ b2.1
=µ b.21/µ
µ b..1 = n2.1 n.21 /n..1
b222
µ b2.2
=µ b.22/µ
µ b..2 = n2.2 n.22 /n..2
Hay que notar que las ecuaciones para los máximos verosı́miles,
XT µ
b = X T d, son generales para cualquier modelo loglineal, sin
embargo, por otro lado, son ecuaciones nolineales en θ y no ne-
cesariamente se pueden obtener soluciones analı́ticas como en el
presente ejemplo (en ese caso, hay que usar métodos iterativos).
250
Ejemplo de Ajuste de un Modelo
Marihuana
Alcohol Tabaco Sı́ No
Sı́ Sı́ 911 538
No 44 456
No Sı́ 3 43
No 2 279
Marihuana Frecuencias
Alcohol Tabaco Sı́ No Esperadas
Sı́ Sı́ 911 538 909.24 438.84
No 44 456 45.76 555.16
No Sı́ 3 43 4.76 142.16
No 2 279 0.24 179.84
χ2 = 177.6, G2 = 187.8
ambos con 2 grados de libertad (2 = 8 − 6, número de celdas
Poisson menos número de parámetros en el modelo); el modelo es
fuertemente rechazado.
252
Ajuste de Modelos con R
253
Asociación Homogénea
254
Asociación Homogénea
Note que
P(Y =j | X=i,Z=k)
πijk πi+1,j+1,k P(Y =j+1 | X=i,Z=k)
θij(k) = =
πi,j+1,k πi+1,jk P(Y =j | X=i+1,Z=k)
P(Y =j+1 | X=i+1,Z=k)
ası́, θij(k), compara dos cosas: El numerador, que es el “brinco”
de Y = j a Y = j + 1 (cuando fijamos X = i y Z = k), contra
el denominador, que es el mismo “brinco” de Y = j a Y = j + 1
pero ahora fijando X = i + 1 y Z = k. Entonces, si llegaramos
a tener, por ejemplo, que θij(k) = 1, entonces dirı́amos que los
niveles X = i y X = i + 1 no afectan el cambio de Y = j a
Y = j + 1.
255
Asociación Homogénea
256
Asociación Homogénea
Para los datos del estudio sobre cáncer en China (hoja 229) el mo-
delo que mejor ajusta a los datos es precisamente el de asociación
homogénea:
loglm(formula = frec ~ fuma + cancer + ciudad + fuma*cancer +
fuma*ciudad + cancer*ciudad, data = dat, param = T, fit = T)
Statistics:
X^2 df P(> X^2)
Likelihood Ratio 5.195802 7 0.6360822
Pearson 5.199854 7 0.6355886
257
Ejemplo: Tabla 5 × 4 × 4
O1 = Comerciante O2 = Profesionista
E1 E2 E3 E4 Total E1 E2 E3 E4 Total
A1 42 55 22 3 122 A1 1 2 8 18 30
A2 72 82 60 12 226 A2 1 2 15 33 51
A3 90 106 85 25 306 A3 2 5 25 83 115
A4 27 48 47 8 130 A4 2 2 10 45 59
A5 8 18 19 5 50 A5 0 0 12 19 31
Total 239 309 233 53 834 Total 6 11 70 199 286
O3 = Maestro O4 = Empleado
E1 E2 E3 E4 Total E1 E2 E3 E4 Total
A1 0 0 1 19 20 A1 172 151 107 42 472
A2 0 3 3 60 66 A2 208 198 206 92 704
A3 1 4 5 86 96 A3 279 271 331 191 1,072
A4 0 0 2 36 38 A4 99 126 179 97 501
A5 0 0 1 14 15 A5 36 35 99 79 249
Total 1 7 12 215 235 Total 794 781 922 501 2,998
258
Antecedentes
Modelo G2 χ2 gl p-valor
X Y Z 1356.97 1519.80 69 0.00
XY 1179.64 1336.77 57 0.00
XZ 1319.56 1424.15 57 0.00
YZ 228.22 226.66 60 0.00
XY XZ 1142.23 1301.13 45 0.00
XY YZ 50.89 48.01 48 0.36
XZ YZ 190.81 184.64 48 0.00
XY XZ YZ 25.10 23.65 36 0.91
262
Aptitud vs Ocupación
xy
Parámetros λij : Note que los niveles primeros de educación
están positivamente relacionados con los niveles bajos de Aptitud
y, también, los niveles altos estaán positivamente relacionados’.
Observamos además una relación inversa entre los niveles bajos
de Educación con nivel alto de Aptitud, etc.
$aptitud: A1 A2 A3 A4 A5
-0.20233091 0.33985695 0.76617487 -0.03576561 -0.86793531
$educacion: E1 E2 E3 E4
-0.9845389 -0.2452641 0.4003941 0.8294089
$ocupacion: O1 O2 O3 O4
0.7487304 -0.9761897 -1.9586897 2.1861491
$aptitud.educacion
educacion
aptitud E1 E2 E3 E4
A1 0.46014764 0.32254088 -0.27521838 -0.50747014
A2 0.18567643 0.09530413 -0.09568568 -0.18529487
A3 0.03989769 -0.02766561 -0.07065889 0.05842681
A4 -0.22502542 -0.01107851 0.10323330 0.13287062
A5 -0.46069635 -0.37910089 0.33832965 0.50146758
$educacion.ocupacion
ocupacion
educacion O1 O2 O3 O4
E1 1.24140656 -0.7183774 -1.5276369 1.0046078
E2 0.80018044 -0.8103455 -0.2798306 0.2899956
E3 -0.05043831 0.4719386 -0.3091500 -0.1123502
E4 -1.99114868 1.0567843 2.1166175 -1.1822532
265
Colapsabilidad de Tablas
266
Colapsabilidad de Tablas
E1 E2 E3 E4
O1 O2 O3 O4
A1 215 208 138 83
E1 239 6 1 794
A2 281 285 284 197
E2 309 11 7 781
A3 372 386 446 385
E3 233 70 12 922
A4 128 176 238 186
E4 53 199 215 501
A5 44 53 131 117
χ2 = 1254.1, p = 0 4,353
χ2 = 172.5, p = 0 4,353
Aptitud x Educacion :
[,1] [,2] [,3] [,4]
[1,] 1.9297842 1.7105987 0.39540573 0
[2,] 1.3331412 1.1611898 0.25275184 0
[3,] 0.9436452 0.7945019 0.03406725 0
[4,] 0.6042796 0.7366378 0.13351444 0
[5,] 0.0000000 0.0000000 0.00000000 0
Educacion x Ocupacion :
[,1] [,2] [,3] [,4]
[1,] 1.0457163 -3.961994 -5.831195 0
[2,] 1.3190957 -3.339285 -3.868675 0
[3,] 0.8708282 -1.654731 -3.495709 0
[4,] 0.0000000 0.000000 0.000000 0
269
Comparación de Modelos
271
Modelos con Variables Ordinales
u1 ≤ u2 ≤ · · · ≤ uI , y v1 ≤ v2 ≤ · · · ≤ vJ
273
Modelos con Variables Ordinales
El modelo es
y
log(µijk ) = λ + λxi + λj + βuivj
el cual puede ser estimado mediante máxima verosimilitud. Bajo
muestreo Poisson, la logverosimilitud es
XX XX
L(θ) = nij log(µij ) − µij
i j i j
Los valores predichos, despues de hacer el ajuste, se muestran en
la siguiente hoja. Este modelo predice mejor las esquinas de la
tabla que el de independencia.
Nota 1: Usamos las codificaciones para renglones y columnas:
ui = i − (I + 1)/2, y vi = j − (J + 1)/2
Nota 2: Los residuales estandarizados son (ver pág. 81 del Agresti)
bij
nij − µ
p
bij (1 − µ
µ bi.)(1 − µ
bij )
274
Modelos con Variables Ordinales
Satisfación con su Empleo
Muy Algo Moderadamente Muy
Ingreso Inconforme Inconforme Satisfecho Satisfecho
< 6, 000 20 24 80 82
(14.2) (24.7) (72.9) (94.2)
(19.3) (29.4) (74.9) (82.3)
6, 000 − 15, 000 22 38 104 125
(19.9) (34.6) (102.3) (132.2)
(21.4) (36.4) (103.7) (127.4)
15, 000 − 25, 000 13 28 81 113
(16.2) (28.2) (83.2) (107.5)
(13.6) (25.9) (82.4) (113.2)
> 25, 000 7 18 54 92
(11.8) (20.5) (60.5) (78.2)
(7.6) (16.3) (58.0) (89.1)
275
Modelos Para Respuestas Multinomiales
276
Modelos Para Respuestas Multinomiales
277
Modelos Para Respuestas Multinomiales
278
Ejemplo: Modelo Logit
Statistics:
X^2 df P(> X^2)
Likelihood Ratio 17.07985 12 0.1466182
Pearson 15.03981 12 0.2392666
lago
eleccion hancock oklawaha trafford george
inverteb -1.76 0.84 1.02 -0.10
reptiles -0.42 0.80 1.28 -1.66
aves 0.41 -0.94 0.81 -0.28
otros 0.24 -0.58 0.93 -0.59
tamanio
eleccion <2.3 >2.3
inverteb 0.73 -0.73
reptiles -0.18 0.18
aves -0.32 0.32
otros 0.17 -0.17
281
FIN DEL CURSO
282
Apéndice
283
Gráficas en hojas 9 y 10
# Salarios (USD/hr) 1978-1987
datos <- matrix( c(
1014, 1184, 1315, 1131, 949, 907, 862, 995, 1235, 1508,
725, 769, 847, 932, 1020, 1097, 1107, 1088, 1104, 1198,
643, 769, 894, 802, 785, 774, 729, 752, 1027, 1236,
965, 1129, 1233, 1053, 1028, 1023, 943, 956, 1335, 1683,
998, 1141, 1206, 991, 978, 949, 870, 870, 1224, 1511,
609, 712, 800, 739, 730, 761, 721, 740, 1001, 1233,
554, 549, 561, 618, 570, 613, 634, 647, 947, 1134,
80, 106, 101, 106, 113, 120, 128, 131, 139, 169,
434, 561, 743, 720, 682, 639, 595, 619, 750, 907,
827, 902, 984, 1084, 1164, 1210, 1251, 1296, 1321, 1346),
ncol=10, byrow=T )/100
ti <- 1978:1987
paises <- c("Belgica","Canada","Francia","Alemania","Holanda","Italia",
"Japon","Corea","Reino Unido","USA")
284
legend( 1986,4, bty="n", legend=paises[c(5,6,9)], pch=c(5,6,9), cex=.7 )
#######
# Datos de Productividad
285
# Grafica de los datos de productividad
par(mfrow=c(2,1),mar=c(2, 3, 2, 2))
plot( ti, produ[1,], ylim=c(0,20), xaxt="n", col=gray(.8),
xlab="", ylab="Productividad", mgp=c(1.5,.5,0),
cex=.7, cex.lab=.8, cex.axis=.8, type="l",
main="Productividad 1978-1987, Europa", cex.main=.7, xlim=c(1977.5,1987.5))
axis(1,at=c(1978,1980,1982,1984,1986), mgp=c(1.5,.5,0), cex.axis=.7)
for( i in c(3:6,9) ){lines( ti, produ[i,], col=gray(.8) )}
for( i in c(1,3:6,9) ){points( ti, produ[i,], pch=i, cex=.7 )}
legend( 1983.5,6, bty="n", legend=paises[c(1,3,4)], pch=c(1,3,4), cex=.7 )
legend( 1986,6, bty="n", legend=paises[c(5,6,9)], pch=c(5,6,9), cex=.7 )
286
Gráfica en hoja 11
# Ejemplo 4.1 del Diggle, Liang & Zeger (p.72)
# Analisis de datos de crecimiento de arboles "spruce".
288
622, 693, 664, 542, 633, 555, 607, 711, 522, 683, 665, 682, 640, 683,
595, 634, 629, 464, 655, 625, 583, 535, 512, 594, 614, 528, 567,
613, 695, 674, 549, 630, 555, 613, 714, 523, 697, 664, 680, 644, 663,
601, 642, 624, 464, 655, 625, 586, 535, 512, 594, 614, 528, 567)/100,
ncol=13, byrow=F)
b3 <- matrix( c(
453, 497, 437, 458, 400, 473, 515, 410, 322, 223, 365, 340,
505, 532, 481, 499, 450, 505, 563, 446, 385, 289, 436, 392,
518, 583, 503, 537, 492, 533, 611, 484, 447, 316, 476, 450,
541, 629, 519, 568, 544, 592, 639, 529, 485, 340, 518, 497,
542, 645, 540, 593, 587, 601, 661, 548, 511, 352, 544, 514,
571, 661, 557, 614, 602, 626, 682, 568, 528, 389, 570, 534,
571, 661, 559, 617, 604, 626, 682, 568, 528, 393, 570, 535,
596, 679, 582, 643, 611, 636, 695, 585, 545, 422, 589, 561,
617, 713, 603, 656, 647, 649, 711, 599, 574, 451, 609, 583,
634, 724, 617, 669, 661, 663, 744, 608, 595, 465, 639, 603,
644, 732, 632, 681, 666, 692, 753, 625, 605, 470, 657, 609,
646, 729, 625, 682, 670, 692, 746, 615, 607, 473, 636, 598,
643, 735, 629, 676, 665, 692, 756, 618, 602, 468, 644, 595)/100,
ncol=13, byrow=F)
b4 <- matrix( c(
516, 404, 452, 456, 490, 483, 546, 417, 335, 333, 341, 450, 299,
549, 452, 491, 512, 535, 510, 579, 467, 405, 382, 368, 480, 361,
574, 515, 504, 540, 571, 543, 612, 516, 451, 438, 403, 528, 448,
605, 559, 571, 569, 612, 559, 641, 556, 522, 499, 428, 583, 491,
621, 587, 597, 589, 625, 604, 663, 575, 544, 517, 454, 616, 506,
637, 596, 611, 616, 639, 621, 673, 600, 579, 540, 452, 633, 523,
637, 596, 612, 617, 639, 621, 673, 602, 582, 540, 457, 634, 525,
289
652, 617, 624, 613, 652, 646, 677, 614, 605, 573, 501, 656, 556,
665, 637, 644, 644, 686, 645, 668, 628, 629, 585, 513, 663, 595,
686, 653, 654, 672, 705, 659, 675, 655, 622, 575, 511, 675, 598,
687, 660, 665, 681, 709, 670, 675, 666, 639, 599, 530, 689, 621,
688, 652, 663, 687, 690, 663, 662, 663, 647, 610, 546, 696, 628,
684, 659, 664, 680, 688, 666, 660, 663, 642, 615, 535, 694, 634)/100,
ncol=13, byrow=F)
par(mfrow=c(2,1),mar=c(3, 3, 2, 2))
plot(tiempo[1:5],b1[1,1:5], type="n", xlab="Dias", mgp=c(1.5,.5,0),
ylab="2 x Log(Altura x Diametro)", xlim=c(0,800), ylim=c(0,8),
cex=.7, cex.lab=.8, cex.axis=.8)
abline( h=c(2,4,6), col=5 )
for(i in 1:27){lines(tiempo[1:5],b1[i,1:5])}
for(i in 1:27){lines(tiempo[6:13],b1[i,6:13])}
for(i in 1:27){lines(tiempo[1:5],b2[i,1:5])}
for(i in 1:27){lines(tiempo[6:13],b2[i,6:13])}
title(main="Grupo Tratado con Ozono", cex.main=.8)
ti <- c(8,10,12,14)
n1 <- 11
n2 <- 16
par(mfrow=c(2,1),mar=c(2, 3, 2, 2))
plot( c(1,5,10), datc[1,], ylim=c(0,15), xaxt="n", col="red",
xlab="", ylab="Efecto del esfuerzo", mgp=c(1.5,.5,0),
cex=.7, cex.lab=.8, cex.axis=.8, type="l",lwd=1,
main="Grupo Control", cex.main=.7, xlim=c(0,11))
axis(1,at=c(0,2,4,6,8,10), mgp=c(1.5,.5,0), cex.axis=.7)
for( i in 2:8 ){lines( c(1,5,10), datc[i,], col="red",lwd=1 )}
lines(c(1,5,10),colMeans(datc),col="blue",lwd=2)
# Estimacion de la varianza
Sp <- ((n1-1)*S1+(n2-1)*S2)/(n1+n2-2)
# T2 de Hotelling
T2 <- (sum((m1-m2)*solve(Sp,m1-m2)))/(1/n1 + 1/n2)
# p-valor
nu <- n1+n2-2
p <- 3
pv <- 1-pf( (nu-p+1)*T2/(nu*p), p, nu-p+1)
Análisis en hoja 28
ti <- c(8,10,12,14)
p <- 4
X <- cbind( rep(1,p), ti )
X1 <- cbind(X,matrix(0,p,2))
X2 <- cbind(matrix(0,p,2),X)
n1 <- 11
n2 <- 16
296
n <- n1+n2
S0 <- ((n1-1)*var(datos[1:n1,]) + (n2-1)*var(datos[(n1+1):27,]))/(n1+n2-2)
round(S0,2)
[,1] [,2] [,3] [,4]
[1,] 5.42 2.72 3.91 2.71
[2,] 2.72 4.18 2.93 3.32
[3,] 3.91 2.93 6.46 4.13
[4,] 2.71 3.32 4.13 4.99
while( test ){
auo <- c(bet,as.vector(S0))
k <- k+1
li <- n1*t(X1)%*%solve(S0,X1) + n2*t(X2)%*%solve(S0,X2)
ld <- t(X1)%*%solve(S0,colSums(datos[1:n1,]))
ld <- ld + t(X2)%*%solve(S0,colSums(datos[(n1+1):(n2+n1),]))
bet <- solve(li,ld)
vv <- matrix(0,p,p)
297
for(i in 1:n1){
aa <- as.vector(datos[i,] - X1%*%bet)
vv <- vv + outer(aa,aa)}
for(i in (n1+1):n){
aa <- as.vector(datos[i,] - X2%*%bet)
vv <- vv + outer(aa,aa)}
S0 <- vv/n
aux <- c(bet,as.vector(S0)) - auo
tol <- max( sqrt( aux*aux ) )
if( k > itermax ){
cat("Numero de iteraciones excede al maximo","\n")
test <- FALSE }
if( tol<tolera ){
cat("Convergencia","\n")
test <- FALSE } }
# round(S0,2)
[,1] [,2] [,3] [,4]
[1,] 5.12 2.44 3.61 2.52
[2,] 2.44 3.93 2.72 3.06
[3,] 3.61 2.72 5.98 3.82
[4,] 2.52 3.06 3.82 4.62
298
Gráfica y análisis en hojas 37 y 38
# Ajuste de un modelo con interceptos aleatorios.
# (matriz de datos 27 x 4 definida para la grafica de hoja 12)
ti <- c(8,10,12,14)
p <- 4
n1 <- 11; n2 <- 16; n <- n1+n2
Xm <- cbind(rep(1,4),ti,rep(0,4))
Xh <- cbind(rep(1,4),rep(0,4),ti)
299
out <- nlminb(start=.5, objective=logvn, lower = 0.0001, upper = .9999)
ro <- out$par # 0.6177417
mm <- logvn(ro)
bet # 16.7611111 0.5220401 0.7551599
sce # 531.9709
tao2 <- sce/(p*n) # 4.925657
s20 <- ro*tao2 # 3.042783
s2 <- tao2 - s20 # 1.882873
rs <- seq(.001,.999,length=200)
ys <- rep(0,200)
for( i in 1:200 ){ys[i] <- -logvn(rs[i])}
plot(rs,ys,type="l",xlab=expression(rho),
main=expression(paste("Estimacin de ",rho)),
ylab="logverosimilitud perfil",ylim=c(-285,-200), lwd=2,
col="red", mgp=c(1.5,.5,0),cex=.8, cex.lab=.9, cex.axis=.8)
segments(ro,-285,ro,-mm,col=gray(.7))
300
Gráfica en hoja 43
par(mfrow=c(3,2),mar=c(2, 2, 2, 1))
for(i in 1:6){
sel <- (datos[,1]==i)
plot(datos[sel,2], lcost[sel], ylim=c(0,11), col="red",
xlab="", ylab="", mgp=c(1.5,.5,0),lwd=2,
cex=.7, cex.lab=.8, cex.axis=.8, type="l",
main=paste("Compania ",i), cex.main=.8, xlim=c(.5,4.5))
lines(datos[sel,2],loutp[sel],col="blue",lwd=2)}
legend(3,3.5,legend=c("log output","log costo"),col=c("blue","red"),lwd=2)
301
Gráficas en hojas 45 y 46
# Matriz datos 24 x 4 definida para grafica de hoja 43
tt <- c(1955,1960,1965,1970)
par(mfrow=c(2,2),mar=c(3, 3, 2, 1))
for(i in 1:4){
sel <- (datos[,2]==i)
plot(loutp[sel], lcost[sel], ylim=c(.5,6), col="blue",
mgp=c(1.5,.5,0),xlab="Log(Output)", pch=16,
cex=.7, cex.lab=.8, cex.axis=.8, ylab="Log(Costo)",
main=paste("Anio ",tt[i]), cex.main=.8, xlim=c(5,11))
oux <- lm(lcost~loutp, subset=sel)
abline(oux,lwd=2,col="red")}
par(mfrow=c(2,1),mar=c(3, 3, 2, 1))
plot(loutp, lcost, ylim=c(.5,6), col="blue", pch=16,
mgp=c(1.5,.5,0),xlab="Log(Output)",ylab="Log(Costo)",
cex=.7, cex.lab=.8, cex.axis=.8, type="p",
main="Relacion Costo-Output", cex.main=.8, xlim=c(5,11))
out <- lm(lcost ~loutp); abline(out,col="red",lwd=2)
plot(loutp, lcost, ylim=c(.5,6), col="blue", pch=16,
mgp=c(1.5,.5,0),xlab="Log(Output)",ylab="Log(Costo)",
cex=.7, cex.lab=.8, cex.axis=.8, type="p",
main="Relacion Costo-Output", cex.main=.8, xlim=c(5,11))
for(i in 1:6){
sel <- (datos[,1]==i)
ran <- range(loutp[sel])
oux <- lm(lcost~loutp, subset=sel)
pre <- predict(oux,data.frame(loutp=ran))
segments(ran[1],pre[1],ran[2],pre[2],col="red",lwd=2)}
for(i in 1:n){
sel <- (datos[,1]==i)
Xi <- loutp[sel]
yi <- lcost[sel]
sce <- sce + sum((yi-alf[i]-Xi*bet)^2)}
for(i in 1:n){
sel <- (datos[,1]==i)
Xi <- loutp[sel]
vae[i] <- cme/m + vbe*(mean(Xi))^2} # estimacion de varianza de alfas
sqrt(cme) # 0.1246
sqrt(vbe) # 0.0611
sqrt(vae) # 0.3828 0.4396 0.5287 0.5588 0.5533 0.6081
305
Análisis y gráfica en hojas 82 y 83
datos <- matrix( c(
7918, 8190, 8443, 8800, 8940, 9445, 9894, 10121, 10288, 10672,
10911, 11232, 11702, 12073, 12910, 13657, 14313, 14932, 15513, 15998,
16881, 17284, 17974, 19163, 18966, 19317, 20010, 20666, 21674, 22162,
22143, 22486, 22615, 23346, 24684, 25090,
7332, 7487, 7714, 8025, 8227, 8738, 8998, 9197, 9329, 9794,
10051, 10252, 10690, 11084, 11706, 12364, 12989, 13377, 14059, 14567,
14920, 15388, 16219, 16896, 16740, 17119, 18039, 18838, 19610, 20044,
20004, 20242, 20507, 21459, 22399, 23126),ncol=2,byrow=F)/10
n <- dim(datos)[1]
datos <- datos[n:1,]
ingreso <- datos[,1]
consumo <- datos[,2]
xr <- range(ingreso); d <- xr[2]-xr[1]; xr <- xr+.05*d*c(-1,1)
yr <- range(consumo); d <- yr[2]-yr[1]; yr <- yr+.05*d*c(-1,1)
plot(ingreso, consumo, mgp=c(1.5,.5,0), col="black", cex.axis=.7,
cex.lab=.7, main="", cex.main=.7, type="p", xlim=xr, ylim=yr,
xlab="Ingreso", ylab="Consumo", pch=19 )
ingl <- ingreso[-n]; conl <- consumo[-n]
out <- lm(conl ~ ingl); summary(out)
Z <- cbind(rep(1,n-1),datos[-1,])
X <- cbind(rep(1,n-1),ingreso[-n])
Xg <- Z%*%solve(t(Z)%*%Z,t(Z)%*%X)
bvi <- solve(t(Xg)%*%X,t(Xg)%*%consumo[-n])
s2 <- sum((consumo[-n] - as.vector(X%*%bvi))^2)/(n-1)
vv <- s2*solve(t(Xg)%*%X,t(Xg)%*%Xg)%*%solve(t(X)%*%Xg)
sqrt(diag(vv))
n <- 6
m <- 4
lcost <- log(datos[,3]) # y
loutp <- log(datos[,4]) # x
Sxxt <- (n*m-1)*var(loutp)
Sxyt <- (n*m-1)*cov(loutp,lcost)
bmc <- Sxyt/Sxxt # minimos cuadrados
Sxxw <- 0
Sxyw <- 0
for(i in 1:n){
sel <- (datos[,1]==i)
Sxxw <- Sxxw + (m-1)*var(loutp[sel])
Sxyw <- Sxyw + (m-1)*cov(loutp[sel],lcost[sel])}
bw <- Sxyw/Sxxw # dentro de grupos
307
xbb <- mean(loutp)
ybb <- mean(lcost)
Sxxb <- 0
Sxyb <- 0
for(i in 1:n){
sel <- (datos[,1]==i)
Sxxb <- Sxxb + m*(mean(loutp[sel])-xbb)^2
Sxyb <- Sxyb + m*(mean(loutp[sel])-xbb)*(mean(lcost[sel])-ybb)}
bb <- Sxyb/Sxxb # entre grupos
pesow <- Sxxw/(Sxxw+Sxxb) # 0.097496
# Grafica
desvy <- rep(0,n*m)
desvx <- rep(0,n*m)
my <- rep(0,n)
mx <- rep(0,n)
for(i in 1:n){
sel <- (datos[,1]==i)
my[i] <- mean(lcost[sel])
mx[i] <- mean(loutp[sel])
desvy[sel] <- lcost[sel]-mean(lcost[sel])
desvx[sel] <- loutp[sel]-mean(loutp[sel]) }
par(mfrow=c(3,1),mar=c(3, 3, 2, 1))
plot(loutp, lcost, col="blue", pch=16,
mgp=c(1.5,.5,0),xlab="",ylab="Log(Costo)",
cex=.7, cex.lab=.8, cex.axis=.8, type="n",
main=paste("Todos ","(",round(bmc,3),")"), cex.main=.9)
308
for(i in 1:6){
sel <- (datos[,1]==i)
points(loutp[sel],lcost[sel],col=i,pch=i)}
plot(desvx, desvy, col="blue", pch=16,
mgp=c(1.5,.5,0),xlab="",ylab="Desv. Log(Costo)",
cex=.7, cex.lab=.8, cex.axis=.8, type="p",
main=paste("Dentro ","(",round(bw,3),")"), cex.main=.9)
plot(mx, my, col="blue", pch=16,
mgp=c(1.5,.5,0),xlab="",ylab="Log(Costo)",
cex=.7, cex.lab=.8, cex.axis=.8, type="p",
main=paste("Entre ","(",round(bb,3),")"), cex.main=.9)
Termina gráfica y análisis en hojas 93 y 94
Análisis en hoja 97
# Estimacion de un modelo de interceptos aleatorios
datos <- matrix(c(
rep(1:6,rep(4,6)), rep(1:4,6),
3.154, 4.271, 4.584, 5.849, 3.859, 5.535, 8.127, 10.966,
19.035, 26.041, 32.444, 41.180, 35.229, 51.111, 61.045, 77.885,
33.154, 40.044, 43.125, 57.727, 73.050, 98.846, 138.88, 191.56,
214, 419, 588, 1025, 696, 811, 1640, 2506,
3202, 4802, 5821, 9275, 5668, 7612, 10206, 13702,
6000, 8222, 8484, 10004, 11796, 15551, 27218, 30958),
ncol=4, byrow=F)
rs <- seq(.01,.90,length=200)
ys <- rep(0,200)
for( i in 1:200 ){ys[i] <- -logvn(rs[i])}
plot(rs,ys,type="l",xlab="ro",ylab="logverosimilitud")
310
out <- nlminb(start=.5, objective=logvn, lower = 0.01, upper = .99)
ro <- out$par # 0.73
mm <- logvn(ro)
beta <- bet # -3.26 0.78
tao2 <- sce/N # 0.064
sce # 1.5
s20 <- ro*tao2 # 0.047
s2 <- tao2 - s20 # 0.017
sqrt(s20) # 0.22
sqrt(s2) # 0.13
311
Análisis en hoja 104
# Prueba de Hausman
W <- ((0.674279 - beta[2])^2)/(.0611^2 - vv[2]) # 7.6
pval <- 1-pchisq(W,1) # 0.0058
312
Análisis y gráfica en hojas 109 y 113
# Distancias (mm) del centro de la pituitaria a la fisura maxilar.
# Estimacion de Trayectorias Individuales
datos <- matrix( c(
21.0, 20.0, 21.5, 23.0, 21.0, 21.5, 24.0, 25.5,
20.5, 24.0, 24.5, 26.0, 23.5, 24.5, 25.0, 26.5,
21.5, 23.0, 22.5, 23.5, 20.0, 21.0, 21.0, 22.5,
21.5, 22.5, 23.0, 25.0, 23.0, 23.0, 23.5, 24.0,
20.0, 21.0, 22.0, 21.5, 16.5, 19.0, 19.0, 19.5,
24.5, 25.0, 28.0, 28.0, 26.0, 25.0, 29.0, 31.0,
21.5, 22.5, 23.0, 26.5, 23.0, 22.5, 24.0, 27.5,
25.5, 27.5, 26.5, 27.0, 20.0, 23.5, 22.5, 26.0,
24.5, 25.5, 27.0, 28.5, 22.0, 22.0, 24.5, 26.5,
24.0, 21.5, 24.5, 25.5, 23.0, 20.5, 31.0, 26.0,
27.5, 28.0, 31.0, 31.5, 23.0, 23.0, 23.5, 25.0,
21.5, 23.5, 24.0, 28.0, 17.0, 24.5, 26.0, 29.5,
22.5, 25.5, 25.5, 26.0, 23.0, 24.5, 26.0, 30.0,
22.0, 21.5, 23.5, 25.0), ncol=4, byrow=T )
ti <- c(8,10,12,14); n <- dim(datos)[1]; m <- 4
plot( ti, datos[1,], ylim=c(16,32), xaxt="n", col="blue",
xlab="", ylab="Distancia", mgp=c(1.5,.5,0),
cex=.7, cex.lab=.8, cex.axis=.8, type="l",
main="Ninas y Ninos", cex.main=.8, xlim=c(7.8,14.2))
axis(1,at=ti, mgp=c(1.5,.5,0), cex.axis=.8)
for( i in 1:n ){lines( ti, datos[i,], col="blue" )}
segments(8,16.76+0.66*8,14,16.76+0.66*14,col="red",lwd=2)
# Suponiendo un modelo de interceptos aleatorios
X <- cbind(rep(1,4),ti)
313
logvn <- function(r){
N <- m*n
cte <- N/2 + (N/2)*log(2*pi) - (N/2)*log(N)
V0 <- (1-r)*diag(m) + r*matrix(1,m,m)
y <- colSums( datos )
li <- n*t(X)%*%solve(V0,X)
ld <- t(X)%*%solve(V0,y)
bet <<- solve(li,ld)
aa <- 0
for( i in 1:n ){
y <- datos[i,]
aa <- aa + t(y-X%*%bet) %*% solve(V0,y-X%*%bet) }
sce <<- aa
return( cte + (N/2)*log(sce) + (n/2)*log(det(V0)) ) }
out <- nlminb(start=.5, objective=logvn, lower = 0.0001, upper = .9999)
ro <- out$par # 0.68
mm <- logvn(ro)
bet # 16.76 0.66
sce # 682
tao2 <- sce/(m*n) # 6.3
s20 <- ro*tao2 # 4.3
s2 <- tao2 - s20 # 2.0
y <- datos[21,]
xb <- bet[1]+ti*bet[2]
V0 <- (1-ro)*diag(m) + ro*matrix(1,m,m)
di <- ro*sum(solve(V0,y-xb))
tr <- xb+di
lines(ti,tr,lwd=2,col="red")
# logDatos de actividad
radon <- (datos$activity[mn])
lradon <- log( ifelse(radon==0, .1, radon) )
315
# Variable indicadora de condado
countynom <- as.vector(datos$county[mn])
uniq <- unique(countynom)
J <- length(uniq) $ 85 condados en MN
county <- rep(0,J)
for(i in 1:J){ county[countynom==uniq[i]] <- i }
# Tamanhos de muestras
nobs <- as.vector( table(county) )
nobsj <- nobs*exp(runif(J, -.1, .1))
# Media global
lrmed <- mean(y) # 1.2
# estimador de varianza
varest <- sum((nobs[!is.na(condvar)]-1)*(condvar[!is.na(condvar)]))/(n-J+1)
desv <- sqrt(varest)
316
par(mfrow=c(2,1),mar=c(3, 3, 2, 1))
# Grafica de medias por condado
plot( nobsj, condmed, xlab="num obs por condado",log="x",mgp=c(1.5,.5,0),
ylab="logradon promedio por condado",pch=20, ylim=c(0,3.2),cex.axis=.8,
main="Sin Combinar", cex.main=.9)
abline(h=lrmed)
for( i in 1:J){
lines( rep(nobsj[i],2), condmed[i]+c(-1,1)*errstd[i] )}
317
Gráfica en hoja 127
318
uranio <- uracon[usarows,"Uppm"]
u <- log(uranio)
uexp <- u[county]
out2 <- lmer(y ~ x + uexp + (1|county))
summary(out2)
aest2 <- fixef(out2)[1] + fixef(out2)[3]*u + as.vector(ranef(out2)$county)
best2 <- fixef(out2)[2]
sel <- c(36,1,35,21,14,71,61,70)
par(mfrow=c(2,4), mar=c(3,3,3,1), oma=c(1,1,2,1))
for(j in sel){
plot (xj[county==j], y[county==j], xlim=c(-.1,1.1), ylim=yr,
xlab="Piso", ylab="log(radon)", cex.lab=.8, cex.axis=.8,col.main="blue",
pch=20, mgp=c(1.5,.5,0), xaxt="n", yaxt="n", cex.main=1, main=uniq[j])
axis(1, c(0,1), mgp=c(1.5,.5,0), cex.axis=.8)
axis(2, seq(-1,3,2), mgp=c(1.5,.5,0), cex.axis=.8)
curve(aest[j,] + best*x, lwd=1, col="red", add=TRUE)
curve(aest2[j,] + best2*x, col="blue", lwd=2, add=TRUE) }
aa <- sample((1:85)[-sel],size=16)
sel <- c(sel,aa)
par(mfrow=c(6,4), mar=c(1,1,1,1))
for(j in sel){
plot (xj[county==j], y[county==j], xlim=c(-.1,1.1), ylim=yr,
xlab="", ylab="", cex.lab=.8, cex.axis=.8,col.main="blue",
pch=20, mgp=c(1.5,.5,0), xaxt="n", yaxt="n", cex.main=.8, main=uniq[j])
axis(1, c(0,1), mgp=c(1.5,.5,0), cex.axis=.8)
axis(2, seq(-1,3,2), mgp=c(1.5,.5,0), cex.axis=.8)
curve(aest2[j,] + best2*x, col="red", lwd=1, add=TRUE) }
par(mfrow=c(2,1),mar=c(3,3,2,1))
# intercepto vs uranio
linf <- aest4 - errsta
lsup <- aest4 + errsta
plot(u, aest4, cex.lab=.8, cex.axis=.8, ylim=range(linf,lsup),
xlab="Uranio", ylab="Interceptos", pch=20, mgp=c(1.5,.5,0))
curve(fixef(out4)[1] + fixef(out4)[3]*x, col="blue", add=TRUE)
segments(u, linf, u, lsup, lwd=.5, col="red")
# pendiente vs uranio
linf <- best4 - errstb
lsup <- best4 + errstb
plot(u, best4, cex.lab=.8, cex.axis=.8, ylim=range(linf,lsup),
xlab="Uranio", ylab="Pendientes", pch=20, mgp=c(1.5,.5,0))
curve(fixef(out4)[2] + fixef(out4)[4]*x, col="blue", add=TRUE)
segments(u, linf, u, lsup, lwd=.5, col="red")
# cancer
n11 <- 688; n12 <- 650; n21 <- 21; n22 <- 59
tet <- n11*n22/(n12*n21)
alf <- .05
za <- qnorm(1-alf/2)
icl <- log(tet) + za*sqrt(1/n11+1/n12+1/n21+1/n22)*c(-1,1)
ict <- exp(icl)
323
Análisis en hojas 207 y 208
# Coeficiente de Concentracion de Goodman & Kendall
n <- sum(nij)
nip <- rowSums(nij)
npj <- colSums(nij)
tao <- ( n*sum((nij^2)/nip) - sum(npj^2) ) / ( n^2 - sum(npj^2) ) # 0.0133
pij <- obs/n
pip <- nip/n
ppj <- npj/n
del <- 1 - sum(ppj^2)
nu <- sum( (pij - outer( pip, ppj ))^2 / pip )
aa <- pij
for(i in 1:II){
for(j in 1:JJ){
bb <- 2*nu*sum(ppj[-j])
aa[i,j] <- (bb - del*(2*sum(pij[i,-j])/pip[i] - sum((pij/pip)[,-j])))^2 } }
s2t <- (sum(pij*aa))/(n*del^4)
est <- sqrt(s2t) # 0.137
# Concordantes
dat <- matrix( c(
20 , 24 , 80 ,82 , 22 , 38 , 104 , 125,
13 , 28 , 81 , 113 , 7 , 18 , 54 , 92), ncol=4, byrow=T)
II <- dim(dat)[1]
JJ <- dim(dat)[2]
cc <- 0
for(i in 1:(II-1)){
for(j in 1:(JJ-1)){
cc <- cc + dat[i,j]*sum(dat[-(1:i),-(1:j)]) }} # 109520
# Discordantes
dd <- 0
for(i in 1:(II-1)){
for(j in 2:JJ){
dd <- dd + dat[i,j]*sum(dat[-(1:i),-(j:JJ)]) }} # 84915
325
Análisis en hoja 252
II <- JJ <- KK <- 2
obs <- esp <- array(dim=c(II,JJ,KK))
obs[,,1] <- matrix( c(911,3,44,2), ncol=2 )
obs[,,2] <- matrix( c(538,43,456,279), ncol=2 )
for(i in 1:II){
for(j in 1:JJ){
for(k in 1:KK){
esp[i,j,k] <- sum( obs[i,,k] )*sum( obs[,j,k] )/sum( obs[,,k] ) }}}
327
Análisis en hojas 260-265
328
tt <- matrix(0,8,4)
colnames(tt) <- c("G2","X2","gl","pvalor")
out <- loglm(frec ~ aptitud + educacion + ocupacion, data=dat,param=T,fit=T)
tt[1,] <- c(out$lrt,out$pearson,out$df,1-pchisq(out$lrt,out$df))
for(j in 1:7){
fmla <- as.formula(paste("frec ~",ff,"+",gg[j]))
out <- loglm(fmla,data=dat,param=T,fit=T)
tt[j+1,] <- c(out$lrt,out$pearson,out$df,1-pchisq(out$lrt,out$df)) }
modelo <- c("X Y Z", "XY", "XZ", "YZ", "XY XZ", "XY YZ", "XZ YZ",
"XY XZ YZ")
tt <- data.frame(modelo,round(tt,2))
fitted(out)
aa <- model.matrix(out,data=dat)
# Parametros estimados
out$param
round(out$param$aptitud.educacion,3)
round(out$param$educacion.ocupacion,3)
329
# tabla colapsada
aptocup <- obs[,1,]+obs[,2,]+obs[,3,]+obs[,4,]
dd <- dim(aptocup)
n <- sum(aptocup)
esp <- outer(rowSums(aptocup),colSums(aptocup))/n
ji <- sum( ((aptocup-esp)^2)/esp )
1 - pchisq(ji,(dd[1]-1)*(dd[2]-1))
# se rechaza indep. i.e. aptitud esta relacionada con ocupacion
# pero esto no es completamente cierto: aptitud es independiente
# de ocupacion (dado educacion)
330
Análisis en hoja 269
331
dat <- data.frame(expand.grid(
aptitud = 1:5,
educacion = 1:4,
ocupacion = 1:4),
frec = as.vector(obs) )
X <- matrix(0,n,32)
X[,1] <- rep(1,n)
for(i in 1:4){ X[,1+i] <- ifelse(dat[,1]==i,1,0) }
for(j in 1:3){ X[,5+j] <- ifelse(dat[,2]==j,1,0) }
for(k in 1:3){ X[,8+k] <- ifelse(dat[,3]==k,1,0) }
cc <- 0
for(i in 1:4){
for(j in 1:3){
cc <- cc+1
X[,(11+cc)] <- X[,1+i]*X[,5+j]}}
cc <- 0
for(j in 1:3){
for(k in 1:3){
cc <- cc+1
X[,(23+cc)] <- X[,5+j]*X[,8+k]}}
nn <- as.vector(obs)
lvn <- function(pp){ sum(exp(X%*%pp)) - sum(nn*(X%*%pp)) }
p0 <- rep(1,32)
mm <- nlminb(p0,lvn)
332
tet <- mm$par
mug <- exp(X%*%tet)
aux <- as.vector(esp)
cbind(aux,mug)
lam <- tet[1]
lamx <- c(tet[2:5],0)
lamy <- c(tet[6:8],0)
lamz <- c(tet[9:11],0)
lamxy <- cbind( matrix(tet[12:23],ncol=3,byrow=T), c(0,0,0,0) )
lamxy <- rbind( lamxy, c(0,0,0,0) )
lamyz <- cbind( matrix(tet[24:32],ncol=3,byrow=T), c(0,0,0) )
lamyz <- rbind( lamyz, c(0,0,0,0) )
333
Análisis en hoja 275
nn <- as.vector(obs)
lvn <- function(pp){ sum(exp(X%*%pp)) - sum(nn*(X%*%pp)) }
p0 <- rep(1,8)
mm <- nlminb(p0,lvn)
tet <- mm$par
mug <- exp(X%*%tet)
335
Análisis en hoja 281
# Datos: Eleccion de Alimento
obs <- c(7,1,0,0,5,4,0,0,1,2,16,3,2,2,3,3,0,1,2,3,2,2,0,0,1,13,7,6,0,
0,3,9,1,0,2,0,1,0,1,0,3,7,1,0,1,8,6,6,3,5,2,4,1,1,4,0,1,0,0,
0,13,10,0,2,2,9,0,0,1,2,3,9,1,0,1,8,1,0,0,1)
dat <- data.frame(expand.grid(
eleccion = factor(c("peces","inverteb","reptiles","aves","otros"),
levels=c("peces","inverteb","reptiles","aves","otros")),
tamanio = factor(c("<2.3",">2.3"),levels=c("<2.3",">2.3")),
sexo = factor(c("m","f"),levels=c("m","f")),
lago = factor(c("hancock","oklawaha","trafford","george"),
levels=c("hancock","oklawaha","trafford","george"))),
frec = obs )
# (ver p.269 del agresti)
out <- loglm(frec ~
lago + sexo + tamanio + eleccion + lago*sexo*tamanio, data=dat,param=T,fit=T)
# colapsando por sexo
dat2 <- tapply(dat[,5],INDEX=dat[,c(1,2,4)],FUN=sum)
# Modelo de trabajo
out <- loglm(frec ~
lago + tamanio + eleccion + tamanio*eleccion + lago*eleccion + lago*tamanio, data=dat2,param=T,fit=T)
ff <- fitted(out)
pp <- out$par
pp$eleccion[2:5] - pp$eleccion[1]
aux <- t(pp$eleccion.lago)
round( t(aux[,-1]-as.vector(aux[,1])), 2 )
aux <- t(pp$eleccion.tamanio)
round( t(aux[,-1]-as.vector(aux[,1])), 2 )
336
# variables dummy (usados en agresti p. 270)
pp$eleccion[2:5] - pp$eleccion[1] + aux[,4] + aux2[,2]
aux[,1:3]-aux[,4]
lago
eleccion hancock oklawaha trafford
inverteb -1.6581477 0.936203874 1.121225
reptiles 1.2428591 2.458779926 2.935180
aves 0.6949637 -0.652871471 1.088049
otros 0.8262778 0.005402507 1.516169
aux2[,1]-aux2[,2]
inverteb reptiles aves otros
1.4566892 -0.3521685 -0.6301975 0.3311839
337