Escolar Documentos
Profissional Documentos
Cultura Documentos
Departamento de Estad stica e Investigacin Operativa. Universidad de Valencia. Guio llermo.Ayala@uv.es http://www.uv.es/ ayala
Indice general
1. Probabilidad: lo bueno si . . . 1.1. Experimento y probabilidad . . . . 1.2. Variable aleatoria . . . . . . . . . . 1.2.1. Teorema de Bayes . . . . . 1.3. Vectores aleatorios . . . . . . . . . 1.4. Distribucin normal multivariante o 2. Un 2.1. 2.2. 2.3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 2 3 3 6 1 1 8 9 10 11 12 13 14 14 15 1 1 4 4 5 7 7 8 8 11 12 13 15 17 17 18 18 18 19 19 20
muy breve repaso a la Estad stica Algo de Estad stica Descriptiva, poco . . . . . . Verosimilitud . . . . . . . . . . . . . . . . . . . . Estimacin . . . . . . . . . . . . . . . . . . . . . o 2.3.1. Estimacin insesgada de media y varianza o 2.3.2. Estimacin insesgada del vector de medias o varianzas . . . . . . . . . . . . . . . . . . 2.4. Estimador mximo veros a mil . . . . . . . . . . . 2.5. Contraste de hiptesis . . . . . . . . . . . . . . . o 2.5.1. Test del cociente de verosimilitudes . . . 2.5.2. Test de Wald . . . . . . . . . . . . . . . . 2.5.3. Intervalos de conanza . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . y la matriz de co. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3. Anlisis de datos categricos a o 3.1. Variables respuesta categricas . . . . . . . . . . . . . . . . . . . . . o 3.2. Inferencia con la distribucin binomial . . . . . . . . . . . . . . . . . o 3.2.1. Contraste de hiptesis simples . . . . . . . . . . . . . . . . . o 3.2.2. Intervalo de conanza . . . . . . . . . . . . . . . . . . . . . . 3.3. Inferencia para la multinomial . . . . . . . . . . . . . . . . . . . . . . 3.3.1. Contraste de una multinomial dada . . . . . . . . . . . . . . 3.4. Tablas de contingencia . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.1. Tablas de contingencia: distribucin conjunta, distribucin o o condicionada e independencia . . . . . . . . . . . . . . . . . . 3.4.2. Tipo de muestreo . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.3. Comparacin de dos proporciones . . . . . . . . . . . . . . . o 3.4.4. Odds y odds ratio . . . . . . . . . . . . . . . . . . . . . . . . 3.5. Asociacin parcial en tablas 2 2 estraticadas . . . . . . . . . . . . o 3.6. Inferencia en tablas de contingencia . . . . . . . . . . . . . . . . . . 3.6.1. Intervalos de conanza para parmetros de asociacin . . . . a o 3.6.2. Contraste de independencia en tablas de doble entrada . . . . 3.7. Ms all del test ji-cuadrado . . . . . . . . . . . . . . . . . . . . . . . a a 3.7.1. Residuos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8. Test de independencia con muestras peque as . . . . . . . . . . . . . n 3.8.1. Test exacto de Fisher para tablas 2 2 . . . . . . . . . . . . 3.9. Test exacto de Fisher y alternativa bilateral . . . . . . . . . . . . . . 3
4. Regresin o 4.1. Regresin lineal simple . . . . . . . . . . . . . o 4.2. Regresin lineal m ltiple . . . . . . . . . . . . o u 4.3. Estimacin de . . . . . . . . . . . . . . . . o 4.4. Algunos casos particulares . . . . . . . . . . . 4.5. Verosimilitud . . . . . . . . . . . . . . . . . . 4.6. Distribucin muestral de . . . . . . . . . . o 4.7. Bondad de ajuste . . . . . . . . . . . . . . . 4.8. Valoracin de las hiptesis del modelo . . . . o o 4.9. Inferencia sobre el modelo . . . . . . . . . . . 4.10. Seleccin de variables . . . . . . . . . . . . . o 4.10.1. Procedimientos que comparan modelos 4.10.2. Procedimientos basados en criterios . 4.11. Algunos ejemplos . . . . . . . . . . . . . . . 5. Anlisis cluster a 5.1. Disimilaridades . . . . . . . . . . . . . . 5.2. Cluster jerrquico . . . . . . . . . . . . a 5.3. Mtodos de particionamiento . . . . . . e 5.3.1. Mtodo de las k-medias . . . . . e 5.3.2. Particionamiento alrededor de los 5.4. Silueta . . . . . . . . . . . . . . . . . . 5.5. Algunos ejemplos . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
1 2 5 7 9 9 10 11 13 26 30 30 31 33 1 2 7 8 9 9 10 13
. . . . . . . . . . . . . . . . . . . . . . . . mediodes . . . . . . . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
6. Anlisis discriminante o de cmo clasicar con muestra de entrea o namiento 6.1. Un problema de probabilidad sencillo . . . . . . . . . . . . . . . . . 6.2. Dos poblaciones normales . . . . . . . . . . . . . . . . . . . . . . . . 6.3. Dos normales multivariantes . . . . . . . . . . . . . . . . . . . . . . 6.4. Dos poblaciones normales multivariantes con parmetros desconocia dos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.5. Anlisis discriminante con ms de dos poblaciones normales . . . . a a 6.6. Valoracin del procedimiento de clasicacin . . . . . . . . . . . . . o o 6.7. Variables discriminantes cannicas o discriminantes lineales . . . . . o 6.8. Algunos ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7. Modelos lineales generalizados 7.1. Componentes de un modelo lineal generalizado . . . 7.1.1. Modelos logit binomiales para datos binarios 7.1.2. Modelo loglineal de Poisson para conteos . . 7.1.3. Desviacin . . . . . . . . . . . . . . . . . . . o 7.2. GLM para datos binarios . . . . . . . . . . . . . . . 7.2.1. Funcin link identidad . . . . . . . . . . . . o 7.2.2. Ejemplo: Ronquido y enfermedad cardAaca . 7.3. GLM para conteos . . . . . . . . . . . . . . . . . . . 7.3.1. Apareamiento de cangrejos herradura . . . . 7.4. Respuesta ordinal: modelos logit acumulados . . . . 7.5. Sobre la interpretacin de los coecientes . . . . . o 7.6. Verosimilitud de un modelo lineal generalizado . . . 8. Componentes principales 4
1 4 5 5 7 11 14 17 20 1 1 2 2 3 3 4 4 4 4 8 10 10 1
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
9. De cmo usar R en un tiempo razonable (no fcil, no) o a 9.1. Instalacin y cmo trabajar con R . . . . . . . . . . . . . o o 9.1.1. R y Windows . . . . . . . . . . . . . . . . . . . . 9.1.2. R y Linux . . . . . . . . . . . . . . . . . . . . . . 9.2. Cmo jar el directorio de trabajo? . . . . . . . . . . . . o 9.3. Etiquetas de valor y de variable . . . . . . . . . . . . . . . 9.3.1. Cmo etiquetar una variable? . . . . . . . . . . . o 9.4. Elaboracin de un informe a partir del cdigo R . . . . . o o 9.4.1. Sweave . . . . . . . . . . . . . . . . . . . . . . . . 9.5. R y Octave/Matlab . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
9 9 10 10 10 11 11 11 11 11 13 13 15 15 15 15
10.Datos 10.1. scoremaster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.Matrices 11.1. Determinante de una matriz . . . . . . . . . . . . . . . . . . . . . . . 11.2. Determinante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.3. Valores y vectores propios . . . . . . . . . . . . . . . . . . . . . . . .
Prlogo o
Cada vez hay ms datos. Tenemos ms datos introducidos en cheros. Y esto a a es lo peor. Si los datos estuvieran en hojas sueltas y perdidas pues no pasa nada. Se archivan los papeles y los datos no molestan. No, ahora los propios ordenadores o bien muchas personas accediendo desde distintos lugares, tienen el mal gusto de crear unas bancos de datos cada vez mayores. Cada vez con ms casos y con ms a a variables. El problema no es conseguir datos. Los tienes a precio de saldo. Te los dan sin que los pidas. Si tienes conocidos bilogos, mdicos, qu o e micos, psiclogos seguro o que tienen datos para analizar. Si trabajis en un hospital, tendris una legin de a e o mdicos (y cada vez ms enfermeros) con datos. Todo el mundo tiene datos. A los e a que tienen cari o. Que creen que tienen mucho valor. Pero que no saben qu hacer n e con ellos. En el mejor de los casos alg n dibujo estilo pastel (bueno, se le llama u diagrama de sectores pero es un pastel) o histograma. Que Dios nos libre de tanto dibujo que solo sirve para gastar papel y tinta! En estas notas se pretende (slo se pretende) partiendo de unos conocimientos o informticos que no sean bsicos y de unos conocimientos probabil a a sticos y estad sticos ms bien bsicos, llegar a poder hacer algo decente con un banco de datos. a a La parte de anlisis descriptivo de datos se obvia. Simplemente a lo largo del a curso se va utilizando y recordando. Ya est bien de perder el tiempo explicando a cmo hacer un histograma si luego lo hace un programa. o El tono de estas notas pretende ser ameno pues bastante tostn es lo que se o cuenta. No in til. Pero s tostn. Hay que asumirlo desde un principio. Esto no es u o Sexo en Nueva York. 1 Son unas notas de Estad stica con R [14]. 2 Este documento contiene unas notas de clase para la asignatura de Anlisis de a Datos de Ingeniera Informtica de la Universidad de Valencia. Pretende en cada a tema empezar desde un nivel bsico de contenidos para llegar al uso de la tcnica a e correspondiente. Es una realidad que el informtico acaba realizando anlisis de a a datos. Entre otras cosas porque suele ser la persona ms a mano o bien porque ya ha a programado el resto de la aplicacin que tambin incorporar alg n tipo de anlisis o e u a ms o menos sencillo. Y es una pena ver cmo se desaprovecha la informacin. a o o Por ello en estas notas pretendo tratar rpidamente muchos temas y, adems, que a a podamos utilizarlas. Por ello se recurre a R. Por su potencia y por su disponibilidad. Incluso en su propia casa y con una conexin a Internet no demasiado rpida puede o a el estudiante instalarse R y cualquier paquete que se necesite. Esto ya es bastante desde el punto de vista docente. Adems, cualquier procedimiento estad a stico est a en R. Casi se puede decir, que si no lo est, no merece la pena de utilizarse. a Se proponen distintos apndices como apoyo a conceptos anteriores necesarios. e Se hace un repaso rpido de los conceptos bsicos de la Probabilidad en el tema a a 1. Las ideas bsicas de la Estad a stica que utilizamos en el resto del curso aparecen
duda, la mejor serie de televisin de la historia. Hay que verla. o anuncio de la radio (Cadena Ser para ms seas) hablaba de una persona que no entend a n a porqu su profesor de Estad e stica lo hab suspendido. Es de suponer que la persona que escribi el a o anuncio estudiar Periodismo. All hay una asignatura de Estad a stica. Claramente le ha servido. Ha hecho un anuncio y le habrn pagado por ello. a
2 Un 1 Sin
en el tema 2. Ambos cap tulos con meros res menes que no sustituyen el repaso u de muchos de los conceptos en algunos de los textos que se citan en los cap tulos correspondientes. Estas notas estn orientadas para estudiantes de Ingenier Informtica y por a a a ello en muchas ocasiones se incluyen deniciones y conceptos bsicos que dicho a estudiante no tiene. Una introduccin genrica a la Probabilidad y la Estad o e stica que es adecuado hojear pues cubre los conceptos previos es el libro de texto de [4]. El inters fundamental de estas notas es dar una visin muy amplia sin perder e o demasiado tiempo en detalles de cada tcnica. En este sentido se intenta ir directo e al grano con lo que eso supone de dicultad a adida. Sin embargo, tiene la comn pensacin de ver cmo muchos de los conceptos que se estudian son reescritura uno o o de otro. Por n, un signo de edad es tener que escribir las cosas para que no se nos olviden. Quizs para que uno mismo lo aprenda y para no olvidarlo despus. En el a e fondo, todos vamos aprendiendo seg n lo explicamos y lo escuchamos. u A Sin duda, unas notas como las que siguen slo se pueden hacer utilizando L TEX o para escribir y el programa R [14] 3 para realizar el anlisis de los datos. Son dos a herramientas imprescindibles que se complementan perfectamente. Un tratamiento estad stico no acaba con un cdigo o con unos dibujos aislados. Acaba con un o informe. Con frecuencia, se dedica ms tiempo a explicar lo que se ha hecho, a a escribir el informe, que a la preparacin y tratamiento de los datos, al anlisis de o a A los datos. En este sentido, creo que una herramienta como L TEX es fundamental A utilizada con R. En este texto hablamos de anlisis de datos. No de L TEX. Sin a embargo, uno aprende a veces cosas importantes mientras estudia otras que cree A que lo son ms. En este sentido, habr referencias a L TEX. a a Finalmente veamos una gu de lectura del documento. Es muy habitual que a si uno empieza a leer un texto por el principio nunca pase ms all del primer o a a segundo cap tulo, y eso con suerte. Las notas estn escritas de manera que se lean a cada tema por separado sin ms conexiones entre ellos. De modo que si quieres un a peque o repaso de Probabilidad consulta el tema 1. Si patinas un poco en lo bsico n a de la Estad stica pues entonces hay que leer el tema 2. Son los unicos temas de carcter bsico. Los dems van al grano. En particular si te interesa cmo reducir a a a o la dimensin del banco de datos lee el tema 8. Si el problema que te quita el sue o o n es cmo dadas unas variables sobre un individuo clasicarlo en uno de g posibles o grupos conocidos a priori y de los cuales tienes ejemplos entonces no lo dudes y lee el tema 6. Si tienes datos y no saben si se disponen formando grupos y ni tan siquiera del n mero de grupos que tienes entonces has de acudir sin remisin al u o tema 5. Finalmente en los temas ??, 7 y ?? viene la artiller pesada. Como todos a sabemos los modelos lineales son el corazn de la Estad o stica, sin ellos, otras tcnicas e de anlisis de datos se la hubieran ventilado. Los modelos lineales es un esfuerzo a colectivo que ha construido una teor redonda, util, fcil de aprender y aplicar. a a Parece que casi todo est previsto y bien resuelto. Los modelos lineales generalizados a surgen de la envidia que todo lo corroe. Cuando la variable respuesta, en lugar de ser continua, como en los modelos lineales, es una respuesta binaria, o multinomial, o bien un conteo. Qu hacer? La teor de modelos lineales no se puede aplicar e a ni con calzadores. Sin embargo, con unos cuantos cambios tcnicamente simples e surgen unos modelos probabil sticos para analizar estos datos que son absolutamente preciosos. Un detalle prctico de enorme inters. Para programar con R en el sistema operaa e tiva Windows lo ms cmodo es utilizar RWinEdt ([11]) mientras que si trabajamos a o
3 La primera leccin sobre R es cmo citar el programa. En la l o o nea de comandos escribimos citation y nos devuelve la referencia bibliogrca. Del mismo modo lo podemos hacer si utilizamos a otro paquete. Por ejemplo tecleando citation(cluster) nos indica cmo citar el paquete cluster o que utilizamos en el tema 5.
en Linux la opcin ms cmoda es utilizar emacs con el paquete ESS. Se pueden o a o encontrar detalles adicionales cran.r-project.org.
10
Cap tulo 1
Probabilidad: lo bueno si . . .
Empezamos por donde hay que empezar. Con la Probabilidad. Temida, odiada. Despreciada porque habla de juegos. Por encima de todo, util, de una utilidad extra a. Da verg enza hablar de Estad n u stica sin citar algo de Probabilidad. 1 Y no lo vamos a hacer. Vamos a cumplir con la papeleta. En cualquier caso, si no te manejas bien con los conceptos bsicos probabil a sticos (variable aleatoria, vector aleatorio, distribucin conjunta y marginal, . . .) hay que leer alg n texto. Uno muy o u bueno, pero no fcil de encontrar, es [13]. a
1.1.
Experimento y probabilidad
Dadas un conjunto de condiciones, un experimento, no siempre podemos predecir exactamente lo que va a ocurrir. La Probabilidad es la disciplina matemtica que a estudia estos experimentos. El primer ejemplo que nos viene a la cabeza es el lanzamiento de una moneda. En primer lugar determinamos el conjunto de posibles resultados que se puede producir en la experiencia, es el espacio muestral, . Los posibles subconjuntos de A son los sucesos aleatorios y la probabilidad no nos dice si cada suceso si va a producir o no sino que se limita a cuanticar para cada experimento la mayor o menor certidumbre que tenemos en la ocurrencia de A antes de realizar la experiencia. P (A) es como se suele denotar habitualmente la probabilidad del suceso A. Obviamente cada suceso tiene asignada una probabilidad. Han de darse unas condiciones de consistencia m nimas que han de vericar las distintas probabilidades de los sucesos aleatorios. Son las siguientes Denition 1 (Medida de probabilidad) P funcin de conjunto denida sobre o los sucesos es una medida de probabilidad si: 1. (No negativa) P (A) 0 para todo A . 2. (La probabilidad del espacio muestral es uno) P () = 1. 3. (Numerablemente aditiva o aditiva) Si {An }n1 es una sucesin de sucesos o disjuntos entonces P (n1 An ) =
n1
1 De hecho, hay una teor muy extendida que dice que podemos saber Estad a stica sin ningn u conocimiento de Probabilidad. Esta creencia se considera un nuevo tipo de enfermedad mental.
P (An ).
1.2.
Variable aleatoria
Supongamos el experimento consistente en elegir a una individuo al azar de la Comunidad Valenciana. Obviamente el espacio muestral est formado por los disa tintos individuos. Si los numeramos tendr amos = {i }N donde N es el n mero u i=i total de personas de la Comunidad. Eleccin al azar supone que cada individuo o 1 tiene la misma probabilidad de ser elegido y viene dada por P ({i }) = N . Obviamente cuando se elige una muestra de personas pensamos en alguna caracter stica numrica de la misma por ejemplo su edad. Denotemos por X R la aplicacin e o tal que X() es la edad de la persona . Puesto que el individuo es seleccionado de un modo aleatorio, tambin ser aleatoria la cantidad X(). La aplicacin X e a o recibe el nombre de variable aleatoria. Si B es un subconjunto arbitrario de n u meros reales entonces cualquier armacin de inters sobre la variable aleatoria X o e suele poderse expresar como P ({ : X() B}). Por ejemplo, si nos interesa la proporcin de personas que tienen 37 o ms a os esto supone plantearse el valor de o a n P ({ : X() [37, +)}). Dos son los tipos de variables de mayor inters prctico, las variables aleatorias e a discretas y las continuas. Una variable aleatoria se dice discreta si toma un conjunto de valores discreto, esto es, nito o si innito numerable. Si el conjunto de valores que puede tomar lo denotamos por D entonces se dene la funcin de probabilidad o de X como P (X = x). En estas variables se tiene que P (a X b) = P (X = x),
axb
(1.1)
para cualesquiera valores reales a b. Una variable aleatoria se dice continua cuando
b
P (a X b) =
f (x)dx,
a
(1.2)
para cualesquiera valores reales a b. La funcin f recibe el nombre de funcin o o de densidad (de probabilidad) de la variable X. De un modo genrico cuando se habla de la distribucin de una variable aleatoria e o X hablamos de las probabilidades P (X B) para cualquier subconjunto B de R. Obviamente, para variables discretas, P (X B) = y para variables continuas P (X B) = f (x)dx.
A
P (X = x)
xB
(1.3)
(1.4)
En resumen, si conocemos la funcin de probabilidad o la de densidad conocemos o la distribucin de la variable. o Se dene la funcin de distribucin de una variable aleatoria X como la funcin o o o real de variable real dada por F (x) = P (X x) con x R. Una variable suele describirse de un modo simple mediante su media y su varianza. La media nos da una idea de alrededor de qu valor se producen los vae lores aleatorios de la variable mientras que la varianza cuantica la dispersin o de estos valores alrededor de la media. Se denen para variables discretas como: la media es EX = = xD xP (X = x); mientras que la varianza es var(X) = 2 = E(X )2 = xD (x )2 P (X = x). Habitualmente adems a de la varianza se suele utilizar para medir variabilidad la desviacin tpica dada por o = var(X). 2
En variables continuas las deniciones de media y varianza son las anlogas sustia tuyendo sumatorios por integrales, de modo que la media se dene como EX = = + + 2 2 a xf (x)dx mientras que la varianza ser var(X) = = (x ) f (x)dx. En tablas 1.1 y 1.2 presentamos un breve resumen de las distribuciones que vamos a utilizar en este curso.
1.2.1.
Teorema de Bayes
Tenemos el espacio muestral y una particin de dicho espacio, B1 , . . . , Bk , esto o es, sucesos disjuntos dos a dos y tales que su unin cubren todo el espacio muestral. o Entonces se tiene que, para cualquier suceso A, P (Bi | A) =
k j=1
P (A | Bi )P (Bi )
P (A | Bj )P (Bj )
(1.5)
1.3.
Vectores aleatorios
Supongamos X = (X1 , . . . , Xd ) un vector aleatorio con d componentes. Tanto si el vector es discreto (todas sus variables aleatorias componentes son discretas) como si es continuo denotaremos la correspondiente funcin de probabilidad o de o densidad conjunta mediante f (x1 , . . . , xn ). Si X es discreto entonces f (x1 , . . . , xn ) = P (X1 = x1 , . . . , Xn = xn ) y hablamos de funcin de probabilidad. En lo que sigue o hablamos del caso continuo. Todas las expresiones son anlogas en el caso discreto a sustituyendo la integral por el sumatorio correspondiente. Si X = (X1 , . . . , Xd ) es un vector continuo entonces
b1 bd
P (a1 X1 b1 , . . . , ad X1 bd ) =
...
a1 ad
para cualesquiera ai bi con i = 1, . . . , d. En particular la distribucin del vector suele venir descrita mediante el vector o de medias y por la matriz de covarianzas. Si para la i-sima variable Xi consideramos la media i = EXi entonces el e vector de medias viene dado por 1 . = . . d
Si no hace falta indicar el vector X entonces denotaremos simplemente en lugar de X . Para cada par de variables Xi y Xj podemos considerar su covarianza denida como ij = cov(Xi , Xj ) = E(Xi EXi )(Xj EXj ) = E(Xi Xj ) EXi EXj . Obviamente si Xi = Xj entonces cov(Xi , Xi ) = var(Xi ), es decir, la covarianza de una variable consigo misma es la varianza de la variable, es decir, ii = var(Xi ). Dado el vector aleatorio X podemos consider la covarianza de cada par de variables y construir la matriz que en la posicin (i, j) tiene dicha covarianza. Es la matriz o de covarianzas, tambin llamada en la literatura matriz de varianzas, matriz de e varianzas-covarianzas o matriz de dispersin. La denotaremos por , es decir, o 11 . . . 1d . . . . . = . . . . d1 . . . dd 3
Cuadro 1.1: Distribuciones discretas Distribucin o Bernoulli Binomial Funcin de probabilidad o f (x|p) = px (1 p)1x si x = 0, 1 n f (x|n, p) = px (1 p)nx si x = 0, 1, . . . , n x 0 10 1 A A@ B A @ x nx 0 1 si x = 0, . . . , n. f (x|A, B, n) = A+B A @ n x f (x|p) = p(1 p) si x = 0, 1, 2, . . . r+x1 f (x|r, p) = pr (1 p)x si x = 0, 1, 2, . . . x x f (x|) = e x! si x = 0, 1, . . . Media p np Varianza p(1 p) np(1 p)
nAB(A+Bn) (A+B)2 (A+B1)
nA A+B
1p p r(1p) p
1p p2 r(1p) p2
Cuadro 1.2: Distribuciones continuas Distribucin o Uniforme Normal, N (, 2 ) Gamma Ga(, ) Exponencial Expo() Ji-Cuadrado 2 () Beta Be(, ) t-Student t() F-Snedecor F (m, n) Weibull(, ) Lognormal
a La
Funcin de densidad o
1 si < x < 1 x 2 1 f (x|, 2 ) = 2 e 2 ( ) x R f (x|, ) = () x1 ex si x > 0 a x 1 f (x | ) = exp si x 0 2 X () si X Ga( , 1 ) 2 2 (+) f (x|, ) = ()() x1 (1 x)1 si 0 < x < 1 +1 2 2 ( +1 ) 2 f (x) = ( ) 1 + x x R 2 m/21 ( m+n ) x 2 f (x) = ( m )( n ) mm/2 nn/2 (mx+n)(m+n)/2 si x > 0 2 2 x f (x | , ) = x1 exp ( ) si x > 0 2 X 2
Media
+ 2
Varianza
()2 12 2 2 2
f (x|, ) =
2
(+)2 (++1) 2 si > 2 2n2 (m+n2) m(n2)2 (n4) si n > 4 2 2 1 2 1 (2( ) ( ))
0 si > 1
n (n2) si 1 ( )
n>2
X N (, ) e
LN (, )
R +
0
En general si consideramos dos vectores aleatorios X = (X1 , . . . , Xd ) e Y = (Y1 , . . . , Yp ) denotaremos cov(X1 , Y1 ) . . . cov(X1 , Yp ) . . . . . . cov(X, Y ) = . . . cov(Xd , Y1 ) . . . cov(Xd , Yp ) y ser la matriz de covarianzas entre dichos vectores. a Si los vectores X e Y son independientes se verica que cov(X, Y ) = 0. Dado el vector X = (X1 , . . . , Xd ) podemos considerar la matriz de correlaciones que en la posicin (j, k) tiene el coeciente de correlacin entre las variables o o jk Xi y Xj , jk = jjkk , es decir, 1 . P = . . d1 12 . . . d2 . . . 1d . . . . . . ... 1
Obviamente, como la matriz de covarianzas, la matriz de correlaciones es simtrica e ya que jk = kj . Si denotamos por D = diag(11 , . . . , dd ) entonces tenemos que P = D 2 D 2 . Propiedades del vector de medias y la matriz de covarianzas Supongamos que tenemos una matriz A de dimensiones pd con p d y de rango p (tiene pues p las y p columnas que son linealmente independientes). Tenemos un vector aleatorio X con d componentes y consideramos el vector Y = Ax, esto es, consideramos la transformacin lineal del vector X asociada a la matriz A. Entonces o se tiene que Y = E[Y ] = AE[X] = AX . (1.8) y cov(Y ) = cov(AX) = Acov(X)A . (1.9)
1 1
(1.7)
1.4.
Veamos dos deniciones equivalentes. Denition 2 Sea Y = (Y1 , . . . , Yd ) un vector aleatorio d-dimensional. Se dice que el vector Y tiene una distribucin normal multivariante si tiene por funcin de o o densidad conjunta f (y|, ) = 1 (2) 2 || 2
d 1
exp
1 (y ) 1 (y ) , 2
(1.10)
donde < yj < +, j = 1, . . . , d y = [jk ] es una matriz denida positiva ( > 0). Se puede probar que EY = y var(Y ) = y por ello se suele denotar Y Nd (, ). (1.11)
Se tiene que si Y1 , . . . , Yd son variables aleatorias con distribucin normal indepeno dientes con medias nulas y varianza com n 2 entonces se tiene que Y Nd (0, 2 Id ). u 6
donde Y (i) y (i) son vectores di 1 y ii es una matriz di di (con d1 + d2 = d). Se verican las siguientes propiedades: 1. Si C es una matriz q d de rango q entonces CY Nq (C, CC ). 2. Cualquier subvector de Y tiene una distribucin normal multivariante. En o particular, se tiene que Y (1) Nd1 ((1) , 11 ). 3. Y (1) e Y (2) son independientes si cov(Y (1) , Y (2) ) = 0. 4. Si Ui = Ai Y (i = 1, . . . , m) y cov(Ui , Uj ) = 0 para i = j entonces los distintos vectores Ui son independientes. 5. (Y ) 1 (Y ) 2 . d 6. La distribucin condicionada de Y (2) , dado Y (1) = y (1) es Nd2 ((2) +21 1 [y (1) o 11 (1) ], 22,1 ) donde 22,1 = 22 21 1 12 . 11 Una segunda manera en que podemos denir la distribucin normal multivariano te es del siguiente modo. Denition 3 Y tiene una distribucin normal multivariante si a Y = i=1 ai Yi o tiene una distribucin normal univariante para cualquier vector a = (a1 , . . . , ad ) . o Si EY = and cov(Y ) = > 0 entonces Y Nd (, ). Nota de R 1 (notaR106) Uno de los paquetes o libreras para trabajar con la normal multivariante es el paquete mvtnorm > library(mvtnorm) Fijamos el vector de medias y la matriz de covarianzas de una normal bivariante > mu = c(4.5, 7.3) > Sigma = matrix(c(7.097258, 3.885963, 3.885963, 3.371314), 2, + 2) Fijamos los puntos en los que vamos evaluar dicha funcin de densidad conjunta o > npuntos = 50 > x = seq(mu[1] - 3 * sqrt(Sigma[1, 1]), mu[1] + 3 * sqrt(Sigma[1, + 1]), len = npuntos) > y = seq(mu[2] - 3 * sqrt(Sigma[2, 2]), mu[2] + 3 * sqrt(Sigma[2, + 2]), len = npuntos) y la evaluamos. > > + + + + + > > z = NULL for (i in 1:npuntos) { for (j in 1:npuntos) { z = rbind(z, c(x[i], y[j], dmvnorm(c(x[i], y[j]), mean = mu, sigma = Sigma))) } } persp(z) contour(z) 7
d
Cmo generamos datos de una normal multivariante? Consideremos un vector de o medias generado al azar con valores entre 0 y 1. La matriz de covarianzas la generamos tambin aleatoriamente. Para ello, generamos en primer lugar una matriz e cuyos elementos son uniformes en el intervalo unitario. El producto de esta matriz por su traspuesta es denida positiva y la podemos utilizar como matriz de covarianzas. > mu = runif(5) > A = matrix(runif(5 * 5), ncol = 5, nrow = 5) > Sigma = t(A) %*% A Generamos datos con el vector de medias y matriz de covarianzas . > (x = rmvnorm(10, mean = mu, sigma = Sigma)) [1,] [2,] [3,] [4,] [5,] [6,] [7,] [8,] [9,] [10,] [,1] [,2] [,3] [,4] [,5] 3.4575701 0.8308993 2.4733453 1.9360517 2.6605387 1.9275254 0.8371593 1.3174912 1.4243853 0.9689455 2.3652157 -1.0234748 2.0113015 1.9121250 2.5427971 2.1928519 2.1395744 2.3842476 2.1126599 1.7625943 2.9372695 2.0654236 2.9437489 2.6477114 1.9236600 1.6134986 1.2146367 0.8529311 0.5597075 1.0364263 0.7812223 0.5817880 0.6076207 0.5463480 0.6898311 1.5843938 1.5510367 1.9970804 1.4463732 2.4430085 0.6605728 -0.6086172 0.4355153 0.6543631 0.7137439 3.1727634 2.9578943 3.0416038 2.5259566 2.2397013
Una versin extendida de la nota se puede ver en o http: // www. uv. es/ ayala/ DOCENCIA/ ad/ PDF/ notaR106. pdf y el cdigo utilio zado aparece en http: // www. uv. es/ ayala/ DOCENCIA/ ad/ codigoR/ notaR106R. R NA
Cap tulo 2
2.1.
Cuando tenemos un banco de datos lo primero y conveniente es describir de un modo sencillo dichos datos, bien mediante unos res menes numricos o bien medianu e te unos res menes grcos. Esto es lo que se conoce como Estad u a stica descriptiva. Veamos alg n ejemplo para recordar estos conceptos. u Nota de R 2 (notaR150) Vamos a realizar un anlisis descriptivo de unos datos a relativos a hospitalizacin ambulatoria. Empezamos cargando el chero de datos. o > load("../data/scoremaster") Lo que acabamos de cargar es un data frame cuyo nombre es scoremaster. Hemos de saber cules son las variables que lo componen. a > names(scoremaster) [1] [6] [11] [16] [21] "score" "score2" "score3" "score4" "asa" "eg1" "eg2" "eg3" "score5" "sexo" "d1" "d2" "d3" "especialidad" "T.TOTALP" "t1" "t2" "t3" "intensidad" "T.QUIRUR" "s1" "s2" "s3" "tipoanes" "edad"
Para poder trabajar con los nombres de las variables hemos de adjuntar el banco de datos > attach(scoremaster) Podemos ver los primeros diez valores de la variable score > score[1:10] 1
[1] 6 4 5 6 7 6 7 8 6 5 Levels: 3 < 4 < 5 < 6 < 7 < 8 De las variables consideradas algunas son categricas como puede ser la especiao lidad o tipoanes (tipo de anestesia), otras son ordinales como score, score2, score3, . . . mientras que otras son continuas como T.TOTALP o T.QUIRUR. Es interesante utilizar la funcin extractora summary sobre un data frame. o > summary(scoremaster) score 3: 13 4: 89 5:199 6:276 7:219 8:126 eg1 0: 18 1:545 2:359 d1 0: 18 1:360 2:544 t1 0: 50 1:359 2:513 s1 0: 17 1:307 2:598 score2 eg2 d2 3 : 7 0 : 27 0 : 36 4 : 33 1 :377 1 :359 5 :133 2 :359 2 :366 6 :234 NAs:159 NAs:161 7 :192 8 :162 NAs:161 eg3 d3 t3 s3 0 : 9 0 : 10 0 : 0 0 : 0 1 : 78 1 : 76 1 : 9 1 : 45 2 : 51 2 : 51 2 :127 2 : 92 NAs:784 NAs:785 NAs:786 NAs:785
score3 3 : 2 4 : 3 5 : 34 6 : 45 7 : 34 8 : 20 NAs:784 score4 score5 especialidad intensidad tipoanes Min. : 5.0 Min. : 4.0 1 :325 1:168 General:746 1st Qu.: 6.0 1st Qu.: 5.5 2 :163 2:426 Plexo :108 Median : 6.5 Median : 6.5 4 :136 3:328 CAM : 65 : 3 Mean : 6.4 Mean : 6.0 5 : 55 NAs 3rd Qu.: 7.0 3rd Qu.: 7.0 7 :157 Max. : 8.0 Max. : 7.0 8 : 74 :902.0 NAs :918.0 NAs: 12 NAs sexo T.TOTALP T.QUIRUR edad 0 :329 Min. : 900 Min. : 600 Min. : 4.00 1 :590 1st Qu.: 6060 1st Qu.: 2640 1st Qu.: 31.00 Median : 8790 Median : 3600 Median : 43.00 NAs: 3 Mean : 9881 Mean : 3903 Mean : 43.48 3rd Qu.:12420 3rd Qu.: 4860 3rd Qu.: 56.00 Max. :35160 Max. :16200 Max. : 84.00 NAs :194.00
t2 0 : 11 1 : 59 2 :691 NAs:161
En el resumen anterior vemos que cuando se trata de una variable categrica o nos muestra los conteos asociados a cada uno de los valores posibles (si hay muchas categoras solo pone algunas y las dems las agrupa en una ultima categora). En a las variables numricas saca unas descriptivas numricas. Observemos la descriptiva e e numrica de T.TOTALP e > summary(T.TOTALP) Min. 1st Qu. 900 6060 Median 8790 Mean 3rd Qu. 9881 12420 Max. 35160
Nos aparece el mnimo, el primer cuartil (o percentil 0,25), la mediana, la media, el tercer cuartil (o percentil 0,75) y el mximo de las observaciones. a Para una variable categrica podemos pedirle una tabla de frecuencias. o 2
> table(tipoanes)
Plexo 108
CAM 65
La tabla anterior es algo parca en su presentacin. Si queremos un diagrama de o barras (que es lo mismo pero en dibujo) lo podemos conseguir haciendo
> barplot(table(tipoanes))
100
200
300
400
500
600
700
General
Plexo
CAM
Repetimos las tablas y los diagramas de barras para el resto de variables catego ricas.
> table(intensidad)
> barplot(table(intensidad)) 3
100
200
300
400
> table(especialidad)
8 74
> barplot(table(especialidad), names.arg = c("Gine", "Cir. Gen.", + "ORL", "Estoma", "COT", "Uro")) 4
50
100
150
200
250
300
Gine
Cir. Gen.
ORL
Estoma
COT
Uro
En la variable asa (y para no aburrirnos ms con los diagramas de barras) susa tituimos un diagrama de barras por un diagrama de sectores.
> table(asa)
3 35
III
II
Cuando consideramos una variable numrica hay dos tipos de representaciones e que son robustas y sencillas de interpretar. Son el diagrama de cajas y el diagrama de tallo y hojas. El primero de ellos se obtiene con > boxplot(T.QUIRUR/60)
50
100
150
200
250
Observemos que en el diagrama de cajas hemos expresado los tiempos quirrgicos u en minutos. La variable intensidad es una variable ordinal que expresa el grado de agresin que supone la intervencin quirrgica. Para lgico comparar grcamente o o u o a los tiempos quirrgicos teniendo en consideracin la intensidad de la intervencin. u o o > boxplot(T.QUIRUR/60 ~ intensidad)
50
100
150
200
250
Y nalmente consideremos un diagrama de tallo y hojas para la misma variable. > stem(T.QUIRUR/60) The decimal point is 1 digit(s) to the right of the | 0 2 4 6 8 10 12 14 16 18 20 22 24 26 | | | | | | | | | | | | | | 0256667889999 00000122333445555555555677788888999999000000000000000001111222222222+82 00000000000000000000000011111111111122222222233333334444444444555555+183 00000000000000000000000000111111111122222222222333333334444444444444+154 00000000000000011111111111222222222333333344444445555555555555666666+58 00000000001122233333344444555566667777788888999900000112235555778899 000001134555566680014458 23489039 0252 09 55
0 7
Y yo creo que como anlisis descriptivo inicial ya est ms que bien. a a a Una versin extendida de la nota se puede ver en o http: // www. uv. es/ ayala/ DOCENCIA/ ad/ PDF/ notaR150. pdf y el cdigo utilio zado aparece en http: // www. uv. es/ ayala/ DOCENCIA/ ad/ Rcode/ notaR150_ wc. R
2.2.
Verosimilitud
Sea y = (y1 , . . . , yn ) una realizacin del vector aleatorio Y = (Y1 , . . . , Yn ). Es o habitual asumir que Y tiene una funcin de densidad conjunta f en una cierta familia o F. Para una funcin dada f , el valor f (y) nos muestra cmo var la densidad dentro o o a del espacio muestral de valores posibles de y. Y viceversa, si consideramos unos datos y y lo que hacemos variar es la funcin de densidad entonces estamos viendo cmo o o de veros mil es cada una de las funciones dados los datos y. Esta funcin recibe el o nombre de verosimilitud de f dados los datos y y se suele denotar como V erosimilitud[f ; y] = L(f ; y) = f (y). (2.1)
Con frecuenica, es conveniente trabajar con el logaritmo natural de la funcin ano terior y hablaremos de la log-verosimilitud. l[f ; y] = log f (y). (2.2)
Una simplicacin adicional (que es habitual en las aplicaciones) supone que la o funcin de densidad f pertenece a una familia paramtrica F, esto es, cada elemento o e de la familia es conocido completamente salvo un n mero nito de parmetros u a = (1 , . . . , p ) de modo que denotaremos f (y; ) o fY (y; ). Al conjunto de valores posibles de se le llama espacio paramtrico y lo denotaremos por . En este e caso, la logverosimilitud es una funcin de y denotaremos o V erosimilitud[; y] = l(; y) = log f (y; ). 8 (2.3)
Supongamos una transformacin 1-1 de Y a Z, Z = g(Y ). Las densidades de o ambos vectores se relacionan seg n la siguiente relacin u o fZ (z) = fY (y) donde
y z
y , z
Esto sugiere que es mejor trabajar con el cociente de las verosimilitudes para dos vectores de parmetros 1 y 2 en lugar de los valores aislados. a Si asumimos que los distintos Y1 , . . . , Yn son independientes entonces
n
LY (; y) = fY (y) =
i=1
fYi (yi ),
y ly (; y) =
LYi (; yi ).
Veamos algunos ejemplos de verosimilitud. Ejemplo 1 (Pruebas Bernoulli) Y1 , . . . , Yn son independientes y con la misma distribucin (i.i.d.) P (Yi = yi ) = yi (1 )1yi y o L(; y) =
Pn
i=1
yi
(1 )n
Pn
i=1
yi
Ejemplo 2 (Nmero de xitos en n pruebas Bernoulli) Nuestros datos son u e ahora el nmero total de xitos en un nmero dado de pruebas de Bernoulli, r. Enu e u tonces la variable correspondiente R tiene una distribucin binomial con n pruebas o y una probabilidad de xito . La verosimilitud viene dada por e L(; r) = n r (1 )nr r
Ejemplo 3 (Muestreo Bernoulli inverso) Nuestros datos son ahora el nmero u total de pruebas necesarias para alcanzar un nmero previamente especicado de u xitos. La variable aleatoria correspondiente N tendr una distribucin binomial e a o negativa con r xitos y una probabilidad de xito . La funcin de verosimilitud e e o correspondiente viene dada por L(; n) = n1 r (1 )nr r1
Consideremos los tres ejemplos anteriores 1, 2 y 3. Si consideramos dos valores del parmetro 1 y 2 entonces el cociente de las verosimilitudes calculados en ambos a valores tiene el mismo valor en los tres ejemplos.
2.3.
Estimacin o
Denotamos por el espacio formado por los valores que puede tomar o espacio paramtrico. Un estimador del parmetros o vector paramtrico es cualquier e a e funcin de la muestra X1 , . . . , Xn que toma valores en el espacio paramtrico. o e 9
Si (X1 , . . . , Xn ) es un estimador del parmetro entonces se dene el error a cuadrtico medio como a M SE() = E[(X1 , . . . , Xn ) ]2 (2.4)
En el caso en que se verique que E(X1 , . . . , Xn ) = = , es decir, que el estimador sea insesgado entonces: M SE() = E[(X1 , . . . , Xn ) ]2 = E[(X1 , . . . , Xn ) ]]2 = var(). Y el error cuadrtico medio no es ms que la varianza del estimador. a a Consideremos la siguiente cadena de igualdades. Denotamos M SE() = E[ ]2 = E[ + ]2 = E[ ]2 + [ ]2 (2.5)
La diferencia entre la media del estimador y el parmetro, , recibe el nombre a de sesgo. Finalmente lo que nos dice la ecuacin anterior es que el error cuadrtico o a medio M SE() lo podemos expresar como la suma de la varianza del estimador, E[ ]2 , ms el sesgo al cuadrado, [ ]2 . a A la ra cuadrada de la varianza de un estimador, es decir, a su desviacin z o t pica o estndar se le llama error estndar. La expresin error estndar se usa a a o a en ocasiones indistintamente para referirse o bien dicha desviacin t o pica o bien al estimador de la misma.
2.3.1.
Dada una muestra Y1 , . . . , Yn de una variable. Un estimador habitualmente utilizado para estimar = EYi es la media muestral dada por 1 Y = n Notemos que E Y = E[ 1 n
n n
Yi .
i=1 n n
(2.6)
Yi ] =
i=1
1 n
EYi =
i=1
1 n
= .
i=1
En denitiva, la media muestral es un estimador que no tiene ning n sesgo cuando u estima la media de Yi (la media poblacional) o, lo que es lo mismo, es un estimador insesgado. Para estimar de un modo insesgado la varianza 2 a partir de una muestra Y1 , . . . , Yn se utiliza la varianza muestral dada por S2 = 1 n1
n i=1
(Yi Y )2 .
(2.7)
La razn de la divisin por n 1 en lugar de dividir por n viene de las siguientes o o igualdades.
n
E
i=1
(Yi Y )2 =
n n
E
i=1
[(Yi ) (Y )2 )]2 =
i=1
E(Yi )2 nE(Y )2 ,
(2.8)
de donde, ES 2 = E
2 2
1 n1
n i=1
(Yi Y )2 = 2 ,
2.3.2.
Ahora consideramos una muestra de un vector de dimensin d, Y1 , . . . , Yn i.i.d. o con vector de medias = EYi y matriz de covarianzas = cov(Yi ). Los estimadores insesgados de y son las versiones multivariantes de la media y varianza muestrales. Si Yi1 . Yi = . . Yip Entonces podemos representar toda la muestra como la siguiente matriz Y11 . . . Y1d Y1 . . . . . . Y = . = . . . . .
Yn
Yn1
. . . Ynd
mientras que los datos observados, la matriz de datos, vendr dada por a y1 y11 . . . y1d . . . . . = . . . y= . . . . yn yn1 . . . ynd El vector de medias muestral viene dado por la siguiente expresin en trminos de o e la matriz Y , n 1 1 Y = Yi = Y 1n . (2.9) n i=1 n siendo 1n el vector n 1 con todos los valores iguales a uno. Tambin denotaremos e Y1 . Y = . . Yp El estimador de la matriz de covarianzas (poblacional) ser la matriz de coa varianzas muestral que tiene en la posicin (j, k) la covarianza muestral entre las o componentes j y k, Sjk = de modo que S11 . S= . . ... . . . S1d . = . . 1 n1
n i=1
(Yij Yj )(Yik Yk ),
Sd1
. . . Sdd
1 n1
n i=1
(Yi Y )(Yi Y ) =
1 Q. n1
11
Es inmediato que E Y = porque componente a componente hemos visto que se verica la igualdad. A partir de los vectores Yi consideramos Xi = Yi de modo que se verica X = X . Se sigue que
n i=1 n n
(Yi Y )(Yi Y ) =
i=1
(Xi X)(Xi X) =
i=1
Xi Xi nX X .
Los vectores X1 , . . . , Xn tienen vector de medias nulo y matriz de covarianzas , la misma que los Yi . En consecuencia, E X X = y
n
EQ =
i=1
= (n 1). n
Tenemos pues que S es un estimador insesgado de la matriz . Finalmente, si denotamos por rjk el coeciente de correlacin entre las variables o j y k, es decir, rjk =
n i=1 (Yij n i=1 (Yij
Yj )2
Yj )(Yik Yk )
n i=1 (Yik
Yk )2
(2.10)
2.4.
El mtodo de estimacin que vamos a utilizar en este curso el mtodo de e o e mxima verosimilitud. El estimador mximo veros a a mil de , que denotaremos por , se obtienen mximizando la funcin de verosimilitud o, equivalentemente, a o la transformacin montona de dicha funcin que es la funcin de logverosimilitud. o o o o Utilizaremos para denotar el estimador mximo veros a mil la notacin inglesa MLE. o L() = mx L(), a
(2.11)
o tambin e
= argmax L(),
Pn
i=1
(2.12)
xi n
Una propiedad importante de los estimadores mximo veros a miles consiste en que si = f () siendo f una biyeccin entonces el estimador mximo veros o a mil de es verica que = f (). (2.13) Ejemplo 5 (Normal) En este caso se comprueba que = Xn y que 2 = n1 S 2 = n n 1 n )2 . Teniendo en que cuenta la propiedad enunciada en 2.13 tendrei=1 (Xi X n
n1 2 n S .
mos que =
En muchas situaciones la funcin L() es cncava y el estimador mximo veo o a ros mil es la solucin de las ecuaciones de verosimilitud L( = 0. Si cov() o entonces, para un tama o muestral grande y denota la matriz de covarianzas de n bajo ciertas condiciones de regularidad (ver [? ], pgina 364), se verica que cov() a es la inversa de la matriz de informacin cuyo elemento (j, k) viene dado por o E 2 l() j k 12 (2.14)
Notemos que el error estndar de j ser el elemento que ocupa la posicin (j, j) a a o en la inversa de la matriz de informacin. Cuanto mayor es la curvatura de la o logverosimilitud menores sern los errores estndar. La racionalidad que hay detrs a a a de esto es que si la curvatura es mayor entonces la logverosimilitud cae rpidamente a cuando el vector se aleja de . En resumen, es de esperar que est ms prximo e a o a . Ejemplo 6 (Binomial) Supongamos que una muestra en una poblacin nita y o consideremos como valor observado el nmero de xitos. Entonces la verosimilitud u e sera n y L(p) = p (1 p)ny , (2.15) y y la logverosimilitud viene dada como l(p) = log n + y log p + (n y) log(1 p), y (2.16)
a o Igualando a cero tenemos que la solucin es p = n que no es ms que la proporcin o y muestral de xitos en las n pruebas. La varianza as otica ser e nt a E n y ny 2 l(p) =E 2 + = . 2 2 p p (1 p) p(1 p) (2.18)
En consecuencia asintticamente p tiene varianza p(1p) lo cual era de prever pues o n si consideramos la variable Y que nos da el n mero de xitos entonces sabemos que u e EY = np y que var(Y ) = np(1 p).
2.5.
Contraste de hiptesis o
Genricamente vamos a considerar situaciones en donde particionamos el espacio e paramtrico en dos conjuntos 0 y 1 , es decir, 0 1 = (son disjuntos) y e y 0 1 = (cubren todo el espacio paramtrico). Consideramos el contraste de e hiptesis siguiente. o H0 : 0 H1 : 1 (2.19) (2.20)
Basndonos en una muestra aleatoria X1 , . . . , Xn hemos de tomar una decisin. a o Las decisiones a tomar son una entre dos posibles: (i) Rechazar la hiptesis nula o o bien (ii) no rechazar la hiptesis nula. Notemos que, una vez hemos tomado una o decisin, podemos tener dos posibles tipos de error como recoge la siguiente tabla. o En las columnas indicamos la realidad mientras que en las las indicamos la decisin o que tomamos. H0 Error tipo I H1 Error tipo II
Rechazamos H0 No rechazamos H0
Supongamos que Rn es el conjunto de valores que puede tomar el vector aleatorio (X1 , . . . , Xn ). Entonces el contraste de hiptesis se basa en tomar un estad o stico o 13
funcin de la muestra que denotamos (X1 , . . . , Xn ) de modo que si (X1 , . . . , Xn ) o C entonces rechazamos la hiptesis nula mientras que si (X1 , . . . , Xn ) C entonces o / no rechazamos la hiptesis nula. Notemos que simplemente estamos particionando o el espacio muestral (que suponemos) Rn en dos partes, C y C c , de modo que tomamos una decisin basndonos en si el estad o a stico est en C o bien est en el a a complementario de C. Al conjunto C se le suele llamar la regin cr o tica. La funcin o potencia se dene como () = P ( C|). (2.21)
2.5.1.
El cociente de verosimilitudes para contrastar estas hiptesis se dene como o = mx0 L() a mx L() a (2.22)
Es razonable pensar que en la medida en que tome valores menores entonces la hiptesis alternativa sea ms plausible que la hiptesis nula y por lo tanto rechacemos o a o la hiptesis nula. Realmente se suele trabajar con 2 log pues bajo la hiptesis o o nula tiene una distribucin asinttica ji-cuadrado donde el n mero de grados de lio o u bertad es la diferencia de las dimensiones de los espacios paramtricos = 0 1 e a y 0 . Si denotamos L0 = mx0 L() y L1 = mx L() entonces = L0 y a L1 2 log = 2 log L0 = 2(l0 l1 ) L1 (2.23)
siendo l0 y l1 los logaritmos de L0 y L1 respectivamente que tambin corresponden e con los mximos de la logverosimilitud sobre 0 y sobre . a
2.5.2.
Test de Wald
Supongamos que el es un parmetro y denota su estimador mximo veros a a mil. Supongamos que queremos contrastar las siguientes hiptesis: o H0 : = 0 , H1 : = 0 . (2.24) (2.25)
Denotamos por SE() el error estndar bajo la hiptesis alternativa de . Entonces a o el estad stico 0 z= (2.26) SE() tiene, bajo la hiptesis nula, aproximadamente una distribucin normal estndar, o o a z N (0, 1). Este tipo de estad sticos donde se utiliza el error estndar del estimador a bajo la hiptesis alternativa recibe el nombre de estadstico de Wald. o Supongamos que es un vector de parmetros y queremos contrastar las hiptea o sis dadas en 2.24. La versin multivariante del estad o stico dado en 2.26 viene dada por W = ( 0 ) [cov()]1 ( 0 ), (2.27) donde cov() se estima como la matriz de informacin observada en el MLE . La o distribucin asinttica de W bajo la hiptesis nula es una distribucin ji-cuadrado o o o o donde el n mero de grados de libertad coincide con el n mero de parmetros no u u a redundantes en . 14
2.5.3.
Intervalos de conanza
Empezamos recordando el concepto de intervalo de conanza con un ejemplo muy conocido como es la estimacin de la media en poblaciones normales. o Ejemplo 7 (Intervalo de conanza para la media de una normal) Vemoslo a con un ejemplo y luego planteamos la situacin ms general. Tenemos una muestra o a aleatoria X1 , . . . , Xn i.i.d. tales que Xi N (, 2). Entonces es conocido que Xn tn1 . S/ n
(2.28)
Vemos cmo Xnn depende tanto de la muestra que conocemos como de un pao S/ rmetro (la media ) que desconocemos. Fijamos un valor de (habitualmente a tomaremos = 0,05) y elegimos un valor tn1,1/2 tal que
P (tn1,1/2
Xn tn1,1/2 ) = 1 . S/ n
(2.29)
Tenemos una muestra aleatoria X1 , . . . , Xn y por lo tanto tenemos un intervalo S S aleatorio dado por [Xn tn1,1/2 n , Xn +tn1,1/2 n ]. Este intervalo tiene una probabilidad de 1 de contener a la verdadera media. Tomemos ahora la muestra y consideremos no los valores aleatorios de Xn y de S 2 sino los valores observados s s xn y s. Tenemos ahora un intervalo [n tn1,1/2 n , xn + tn1,1/2 n ] jo. Es x posible que est en este intervalo y es posible que no lo est. Sabemos que antes e e de tomar la muestra tenamos una probabilidad de 1 de contener a la verdadera media pero despus de tomar la muestra tenemos una conanza de 1 de contener e s s a la verdadera media. Al intervalo [n tn1,1/2 n , xn +tn1,1/2 n ] se le llama x intervalo de conanza para con nivel de conanza 1 . Vamos a ver un planteamiento ms general del problema. a Supongamos que tenemos un test para contrastar la hiptesis simple H0 : = 0 o frente a la alternativa H1 : = 0 . Supongamos que elegimos un nivel de signicacin para contrastar las hiptesis anteriores y consideramos el siguiente conjunto o o formado por todos los 0 tales que no rechazamos la hiptesis nula al nivel . Eso te conjunto es un conjunto de conanza al nivel 1 . Cuando el conjunto de conanza es un intervalo hablamos de intervalo de conanza. Supongamos que consideramos el test del cociente de verosimilitudes. Denotemos por 2 (1 ) el percentil 1 de una distribucin ji-cuadrado con k grados de o k libertad. Entonces el intervalo de conanza al nivel 1 ser el conjunto a {0 : 2[l(0 ) l()] < 2 (1 )} k (2.31)
Consideremos ahora un test de Wald. En este caso, el intervalo de conanza de Wald vendr dado por el siguiente conjunto: a {0 : | 0 | < Z1/2 } SE() (2.32)
16
Cap tulo 3
3.1.
Una variable categrica tiene una escala de medida que consiste en una serie de o categor La variable respuesta o dependiente es categrica mientras que las as. o variables explicativas, predictoras o independientes pueden ser de cualquier tipo. Las variables categricas tienen dos tipos de escalas: nominal y ordinal. o Las distribuciones de probabilidad bsicas para el estudio de datos categricos a o son la distribucin binomial, la distribucin multinomial y la distribucin de Poisson. o o o Recordemos que una variable aleatoria tiene una distribucin Bernoulli, Y o Bi(1, ), si P (Y = 1) = , P (Y = 0) = 1 . Si Y1 , . . . , Yn son variables Bernoulli independientes e idnticamente distribuidas e entonces
n
Y =
i=1
Yi Bi(n, ).
y decimos que la variable Y tiene una distribucin binomial. o En cuanto a los momentos de estas variables tenemos que E(Yi ) = mientras que var(Yi ) = (1 ) de donde E(Y ) = n, y var(Y ) = n(1 ). Si en lugar de dos resultados en cada prueba suponemos que tenemos c resultados posibles con c > 2 y denotamos por para la prueba i como yij = 1 si la prueba i tiene el resultado en la categor j y cero en otro caso entonces el resultado de la a 1
i-sima prueba la podemos expresar como yi = (yi1 , . . . , yic ) y el n mero de pruebas e u que han dado el resultado j viene dada por
n
nj =
i=1
yij
donde j = 1, . . . , c. El vector aleatorio (n1 , . . . , nc ) se dice que tiene una distribucin o multinomial y lo denotamos como (n1 , . . . , nc ) M ultinomial(n; 1, . . . , c ). Su funcin de probabilidad conjunta viene dada por o p(n1 , . . . , nc ) = n! n n1 . . . c c . n1 ! . . . nc ! 1
Finalmente la distribucin de Poisson o distribucin de los sucesos raros se deo o nota por Y P o(), y tiene por funcin de probabilidad o p(y) = e y con y = 0, 1, . . . y!
Es bien conocido que su media y varianza son iguales a EY = var(Y ) = . Nota de R 3 (notaR501) En R se trabaja con las distribuciones de probabilidad mediante grupos de cuatro funciones. Por ejemplo, supongamos que estamos trabajando con la binomial. Entonces la funcin de probabilidad es dbinom, la funcin o o de distribucin es pbinom, la inversa de la funcin de distribucin que nos da o o o los percentiles es qbinom y, nalmente, podemos generar datos con distribucin bio nomial mediante la funcin rbinom. Consideramos una binomial con 10 pruebas o y una probabilidad de xito en cada prueba de 0,23. Su funcin de probabilidad la e o obtendramos la podemos obtener con > dbinom(0:10, size = 10, prob = 0.23) [1] 7.326680e-02 2.188489e-01 2.941670e-01 2.343149e-01 1.224828e-01 [6] 4.390291e-02 1.092821e-02 1.865298e-03 2.089376e-04 1.386888e-05 [11] 4.142651e-07 su funcin de distribucin con o o > pbinom(0:10, size = 10, prob = 0.23) [1] 0.0732668 0.2921157 0.5862827 0.8205976 0.9430804 0.9869833 0.9979115 [8] 0.9997768 0.9999857 0.9999996 1.0000000 La inversa de la funcin de distribucin, es decir, los percentiles se obtienen con o o > qbinom(0.3, size = 10, prob = 0.23) [1] 2 Y nalmente podemos generar valores con distribucin binomial del siguiente o modo. 2
> rbinom(100, size = 10, prob = 0.23) [1] 1 2 2 2 2 1 1 4 5 2 3 1 5 0 0 3 2 1 4 1 2 0 2 2 3 4 1 4 0 4 5 3 3 3 2 0 3 [38] 0 2 4 3 4 1 4 2 0 4 5 4 2 5 4 1 4 2 1 4 4 3 3 4 4 2 0 2 3 3 1 3 6 2 1 3 3 [75] 1 1 4 2 1 2 3 2 1 3 1 4 3 5 3 4 2 1 2 3 4 1 4 0 2 3 Anlogamente procedemos con la distribucin multinomial. a o > dmultinom(c(3, 7, 2), prob = c(0.1, 0.2, 0.8)) [1] 2.067297e-05 > dmultinom(c(1, 2, 8), prob = c(0.1, 0.2, 0.8)) [1] 0.1164302 > rmultinom(10, size = 12, prob = c(0.1, 0.2, 0.8)) [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] 0 2 2 1 0 0 1 1 3 0 0 1 1 1 2 3 6 1 1 2 12 9 9 10 10 9 5 10 8 10
Y nalmente para una distribucin de Poisson. o > dpois(0:30, lambda = 12) [1] [6] [11] [16] [21] [26] [31] 6.144212e-06 1.274064e-02 1.048373e-01 7.239112e-02 9.682032e-03 3.778781e-04 5.498491e-06 7.373055e-05 2.548128e-02 1.143679e-01 5.429334e-02 5.532590e-03 1.744053e-04 4.423833e-04 4.368219e-02 1.143679e-01 3.832471e-02 3.017776e-03 7.751345e-05 1.769533e-03 6.552328e-02 1.055704e-01 2.554981e-02 1.574492e-03 3.322005e-05 5.308599e-03 8.736438e-02 9.048890e-02 1.613672e-02 7.872460e-04 1.374623e-05
> ppois(10:20, lambda = 12) [1] 0.3472294 0.4615973 0.5759652 0.6815356 0.7720245 0.8444157 0.8987090 [8] 0.9370337 0.9625835 0.9787202 0.9884023 > qpois(seq(0.1, 0.9, 0.1), lambda = 12) [1] 8 9 10 11 12 13 14 15 17
> rpois(50, lambda = 12) [1] 12 15 15 9 15 13 12 10 9 21 13 10 18 7 18 11 13 19 7 11 10 12 21 [26] 7 18 16 15 12 8 10 13 11 14 16 11 7 14 14 13 14 13 10 17 17 14 11 Una versin extendida de la nota se puede ver en o http: // www. uv. es/ ayala/ DOCENCIA/ ad/ PDF/ notaR501. pdf y el cdigo utilio zado aparece en http: // www. uv. es/ ayala/ DOCENCIA/ ad/ Rcode/ notaR501_ wc. R En lo que sigue el siguiente resultado es muy importante. 3 8 12 4 12
P (Y1 = n1 . . . , Yn = yn | con
Yi = b) =
i=1
n! n n1 . . . c c n1 ! . . . nc ! 1
i =
i c i=1
En otras palabras, la distribucin conjunta de variables independientes y con diso tribucin Poisson condicionada a la suma total es una multinomial. o
3.2.
En esta seccin nos ocupamos del estudio de la distribucin binomial, su veroo o similitud y los contrastes bsicos relacionados con ella. Denotamos la probabilidad a de xito por . Si consideramos una prueba Bernoulli entonces la funcin de probae o bilidad es f (y|) = y (1 )1y donde y = 0, 1. Para n pruebas Bernoulli tendremos como funcin de verosimilitud o
n Pn Pn
L(; y) =
i=1
yi (1 )1yi =
i=1
yi
(1 )n
i=1
yi
l(; y) =
i=1
yi log + n
i=1
yi log(1 ).
Estas funciones son nuestro instrumento bsico para el anlisis estad a a stico de este tipo de datos.
3.2.1.
Tenemos una moneda (un euro para ms detalles) y pretendemos valorar si es a una moneda correcta. En otras palabras, si las probabilidades de obtener cara o cruz cuando lancemos la moneda son las mismas e igual a 1/2. Interpretando xito e como cara lo que nos planteamos es un contraste simple sobre la probabilidad de xito. En concreto un contraste donde la hiptesis nula es que dicha probabilidad e o vale 1/2 frente a una alternativa de que sea distinta. Formulndolo de un modo ms genrico tenemos el siguiente contraste: a a e H0 : H1 : = 0 = 0 .
Las opciones para constrastar son (como siempre) los test de Wald, el test score y el test del cociente de verosimilitudes. El estad stico de Wald viene dado por zW = 0 = SE 0 , (1 )/n
Es preferible el estad stico score pues su distribucin se aproxima ms a la normal. o a El tercero de la terna, el test del cociente de verosimilitudes, adopta la siguiente expresin o ny y + (n y) log 2(L0 L1 ) = 2 y log . n0 n n0 Bajo H0 , el n mero esperado de xitos y fracasos son n0 y n(1 0 ) respectivau e mente. Esto es lo que esperamos pero lo que realmente observamos son y xitos y e n y fracasos. Por ello, la expresin anterior puede expresarse de un modo resumido o como Observado . 2 Observado log Esperado donde la suma se hace sobre las dos categor que tenemos, xitos y fracasos. La as e distribucin asinttica bajo la hiptesis nula de este estdistico o distribucin nula, o o o a o es una ji-cuadrado con un grado de libertad, 2 (1).
3.2.2.
Intervalo de conanza
Una vez hemos visto cmo son los contrastes para la hiptesis simple podeo o mos construir el intervalo de conanza correspondiente como aquellos valores del parmetro para los cuales no rechazamos la correspondiente hiptesis nula simple. a o Fcilmente tenemos que el intervalo de conanza basado en el test de Wald ser a a: {0 : |zW | < z/2 }, o lo que es lo mismo, z/2 (1 ) . n
Este intervalo de conanza no es muy exacto cuando n es peque o sobre todo para n valores de prximos a 0 o a 1. o Si utilizamos el test score entonces los extremos los obtenemos resolviendo las ecuaciones 0 = z/2 . 0 (1 0 )/n La expresin nal es bastante compleja pues tenemos una funcin cuadrtica en 0 . o o a Este intervalo de conanza es ms exacto que el intervalo de Wald. El intervalo de a conanza del cociente de verosimilitudes ser a {0 : 2(L0 L1 ) 2 ()} 1 Podemos construir un intervalo de conanza exacto. En este caso el nivel de conanza (o probabilidad de conanza) es mayor o igual al establecido pero no tenemos asegurada la igualdad. Nota de R 4 (notaR502) Consideramos los datos scoremaster 10.1. Nos jamos en la variable sexo. Es una variable dicotmica. Tenemos una mueso tra de personas que son intervenidas sin ingreso hospitalaria y nos planteamos estimar la fraccin de mujeres (o de hombres equivalentemente). Entendemos como o xito (codicado con 1) ser mujer (no se admiten bromas sobre el tema). Empezamos e con el intervalo de conanza de Wald. Los conteos de hombres y mujeres son > table(sexo) 5
sexo 0 1 329 590 El conteo de mujeres y el total de casos lo podemos obtener como > tsexo = table(sexo) > tsexo[2] 1 590 > sum(tsexo) [1] 919 y nalmente el intervalo de conanza de Wald vendra dado por > library(Hmisc, T) > binconf(x = tsexo[2], n = sum(tsexo), method = "asymptotic") PointEst Lower Upper 0.6420022 0.6110067 0.6729977 El intervalo score para el parmetro de una binomial lo vamos a obtener mediante a dos opciones distintas. La primera opcin sera o > res = prop.test(x = tsexo[2], n = sum(tsexo), conf.level = 0.95, + correct = F) > res$conf.int [1] 0.6104745 0.6723477 attr(,"conf.level") [1] 0.95 mientras que la segunda opcin sera o > library(Hmisc, T) > binconf(x = tsexo[2], n = sum(tsexo), alpha = 0.05, method = "wilson") PointEst Lower Upper 0.6420022 0.6104745 0.6723477 El test exacto lo podemos obtener con > res = binom.test(x = tsexo[2], n = sum(tsexo)) > res$conf.int [1] 0.6100464 0.6730444 attr(,"conf.level") [1] 0.95 Una versin extendida de la nota se puede ver en o http: // www. uv. es/ ayala/ DOCENCIA/ ad/ PDF/ notaR502. pdf y el cdigo utilio zado aparece en http: // www. uv. es/ ayala/ DOCENCIA/ ad/ Rcode/ notaR502_ wc. R 6
3.3.
En una distribucin multinomial los parmetros a estimar son las probabilidades o a de cada una de las categor (1 , . . . , c ). Sin embargo, hemos de tener en cuenta as, que c = 1 c1 i por lo que realmente tenemos c 1 parmetros a estimar. a i=1 Notemos que la verosimilitud es proporcional a
c j=1
j j donde j 0,
j = 1.
j
Fcilmente se comprueba que los estimadores mximo veros a a miles vienen dados por nj j = , n esto es, son las correspondientes frecuencias observadas de cada una de las categor No pod (ni deb ser de otra manera. as. a a)
3.3.1.
Nos planteamos el contraste de hiptesis simple en donde especicamos una o probabilidad dada para cada categor De un modo ms formal tenemos a. a H0 H1 : j = j0 con j = 1, . . . , c : No H0 .
El primer test a considerar (uno de los procedimientos estad sticos ms antiguos a en uso) es el que se conoce como el test ji-cuadrado de Pearson. La idea es simple. Bajo la hiptesis nula, bajo H0 , esperamos observar de la categor j, j = nj o a casos. Es decir, la frecuencia esperada nula es j . Pero observamos nj , frecuencia observada. Pearson propuso comparar ambas frecuencias, observadas y esperadas, mediante el siguiente estad stico X2 =
j
(nj j )2 = j
Bajo la hiptesis nula H0 y para grandes muestras o distribucin nula asinttica el o o o estad stico tiene una distribucin ji-cuadrado con c 1 grados de libertad o X 2 2 . c1
2 Dados unos datos y un valor observado del estad stico, X0 , el p-valor vendr dado a por 2 p = P (X 2 X0 ).
El cociente de verosimilitudes es
= de modo que
j j0
nj j (nj /n)
, nj . nj0
G2 = 2 log = 2
2
nj log
j
Con el LRT, rechazamos H0 cuando G toma valores grandes. G2 es conocido como el estadstico ji-cuadrado del cociente de verosimilitudes. Su distribucin nula o asinttica ser un ji-cuadrado con c 1 grados de libertad ya que la dimensin del o a o espacio paramtrico es c 1, es decir, e G2 2 . c1 7
Nota de R 5 (notaR503) Todo el mundo utilizada estos datos para ilustrar este test. Pues vamos a usarlos tambin nosotros. Son unos datos de Mendel. Es un e experimento realizado por Mendel. Cruzamos guisantes amarillos con guisantes verdes. El caracter dominante es amarillo. De acuerdo con la teora de la herencia de Mendel 3/4 de los guisantes que obtenemos por cruce deberan de ser amarillos y el cuarto restante debera de ser verde. Se realizaron n = 8023 cruces de los cuales n1 = 6022 son amarillos y n2 = 2001 son verdes. Son consistentes los datos con la teora? Empezamos con el test ji-cuadrado de Pearson. > library(stats) > chisq.test(x = c(6022, 2001), p = c(0.75, 0.25)) Chi-squared test for given probabilities data: c(6022, 2001) X-squared = 0.015, df = 1, p-value = 0.9025 Y tambin consideramos el test del cociente de verosimilitudes e > observadas = c(6022, 2001) > esperadas = 8023 * c(0.75, 0.25) > 1 - pchisq(2 * sum(observadas * log(observadas/esperadas)), df = 1) [1] 0.9025024 Hay que reconocer que le fu muy (demasiado) bien la experimentacin a Mendel. e o Una versin extendida de la nota se puede ver en o http: // www. uv. es/ ayala/ DOCENCIA/ ad/ PDF/ notaR503. pdf y el cdigo utilio zado aparece en http: // www. uv. es/ ayala/ DOCENCIA/ ad/ Rcode/ notaR503_ wc. R
3.4.
Tablas de contingencia
Vamos a estudiar la relacin entre distintas variables categricas. Sin duda, lo o o ms interesante a nivel aplicado. En esta seccin nos ocuparemos de la situacin en a o o que tenemos dos variables categricas. o
3.4.1.
Sean X e Y dos variables categricas con I y J categor Un sujeto puede o as. venir clasicado en una de I J categor Dada una muestra podemos construir as. la tabla donde cada la corresponde a una categor de la variable X mientras que a cada columna corresponde a una categor de la variable Y . En la celda o casilla a correspondiente a la la i y la columna j tendremos el conteo de casos que en la muestra vericando que X = i e Y = j, esto es, recogemos el conteo conjunto de las dos variables. Una tabla como la indicada recibe el nombre de tabla de contingencia o tabla de clasicacin cruzada. o Recordemos algunos conceptos bsicos sobre la distribucin conjunta de dos a o variables aleatorias discretas. Lo necesitamos para entender el uso que pretendemos dar a una herramienta puramente descriptiva como es la tabla de contingencia. Dadas las variables X and Y su distribucin conjunta viene dada por o ij = P (X = i, Y = j), 8
Cuadro 3.1: Tablade conteos cruzando el estado del paciente y el resultado del test. Enfermo No enfermo Total Test positivo n11 n21 n+1 Test negativo n11 n22 n+2 Total n1+ n2+ n
i+ = P (X = i) =
j=1 I
P (X = i, Y = j) =
j=1 I
ij
+j = P (Y = j) =
i=1
P (X = i, Y = j) =
i=1
ij
El tercer concepto probabil stico bsico en lo que sigue es el de distribucin a o condicionada o condicional. Habitualmente una variable, por ejemplo Y , es una variable respuesta y la otra, X es explicativa o predictora. En esta situacin no tiene o sentido hablar de distribucin conjunta y s de distribucin condicionada de Y a X o o que denotaremos ij P (Y = j|X = i) = j|i = . i+ Las variables X and Y se dicen independientes si ij = i+ +j . En particular, si las variables son independientes entonces la distribucin condicioo nada es igual a la distribucin marginal, es decir, o j|i = +j con j = 1, . . . , J. La denicin usual de variables aleatorios discretas independientes es que la o funcin de probabilidad conjunta es el producto de marginales. Sin embargo, esta o denicin equivale con la que dice que son independientes si la condicionada de una o a otra es igual a la correspondiente marginal. Cundo es ms natural una interprea a tacin o la otra? Si las variables X e Y que estamos estudiando las consideramos o como variables respuesta entonces parece natural utilizar la primera denicin y o hablar de independencia. Sin embargo, si Y es considerada respuesta mientras que X es predictiva entonces hablamos de homogeneidad de las distintas distribuciones condicionadas de Y a los valores posibles de la variable X. Ejemplo 8 Un ejemplo clsico de tabla de contingencia aparece cuando estamos a considerando si un test es capaz de detectar una enfermedad. Entonces la tabla de contingencia sera la que aparece en la tabla 3.3. Si nos planteamos modicar la tabla bsica de los conteos anterior en una tabla a que estime la la distribucin conjunta de las variables X and Y entonces dividio mos cada conteo de cada celda por el total de individuos consideramos en la tabla. Tendramos la siguiente tabla modicada. Si dividimos los conteos por los totales de columna tenemos la distribucin cono dicionada de X a Y . En Medicina hay dos conceptos bsicos que se conocen como sensibilidad y a especicidad. Son unas cantidades que se calculan a partir de las tablas anteriores. 9
Cuadro 3.2: Tabla de proporciones sobre el total cruzando el estado del paciente y el resultado del test. Test positivo Test negativo Total ij Enfermo n11 /n n11 /n n1+ /n No enfermo n21 /n n22 /n n2+ /n Total n+1 /n n+2 /n 1 Cuadro 3.3: Tabla de proporciones sobre el total cruzando el estado del paciente y el resultado del test. j|i Enfermo No enfermo Test positivo n11 /n1+ n21 /n2+ Test negativo n11 /n1+ n22 /n2+ Total 1 1
La sensibilidad es la proporcin de enfermos correctamente diagnsticados o, o o de un modo ms preciso, a 1|1 = P (Y = 1|X = 1). La especicidad es la proporcin de sanos correctamente diagnsticados o o o 2|2 = P (Y = 2|X = 2). Nota de R 6 (notaR540) Utilizamos los datos scoremaster. Vamos a cruzar la intensidad de la intervencin (una medida de lo cruenta que o es la intervencin y que se conoce a priori) con el estado general del enfermo en la o primera llamada que recibe. Empezamos construyendo la tabla de contingencia. > tt0 = table(intensidad, eg1) > tt0 eg1 intensidad 0 1 2 1 5 97 66 2 6 242 178 3 7 206 115 Tambin es natural cruzar por ejemplo la intensidad con el resto de variables de e la primera llamada. Por ejemplo, con el nivel de dolor. > table(intensidad, d1) d1 intensidad 1 2 3
Recuperemos el primer cruce y veamos cmo estimar la distribucin conjunta en o o donde cada conteo lo dividimos por el total de la tabla. > prop.table(tt0) 10
eg1 intensidad 0 1 2 1 0.005422993 0.105206074 0.071583514 2 0.006507592 0.262472885 0.193058568 3 0.007592191 0.223427332 0.124728850 En este caso, la variable intensidad es previa y parece ms natural considerar la a distribucin de la variable que aparece en la columna condicionada a la variable que o aparece en la la. > prop.table(tt0, 1) eg1 intensidad 0 1 2 1 0.02976190 0.57738095 0.39285714 2 0.01408451 0.56807512 0.41784038 3 0.02134146 0.62804878 0.35060976 Una versin extendida de la nota se puede ver en o http: // www. uv. es/ ayala/ DOCENCIA/ ad/ PDF/ notaR540. pdf y el cdigo utilio zado aparece en http: // www. uv. es/ ayala/ DOCENCIA/ ad/ Rcode/ notaR540_ wc. R
3.4.2.
Tipo de muestreo
En cualquier tipo de tratamiento (y de interpretacin del mismo) es bsico plano a tearse cmo se ha obtenido la muestra. Un mismo resultado tiene interpretaciones o diversas. Los tipos de muestreo ms habituales con los que nos vamos a encontrar a se pueden clasicar en los siguientos tipos. Muestreo de Poisson Los conteos Yij de la tabla suponemos que son variables Poisson independientes con medias ij . Muestreo multinomial En este caso jamos el n mero total de elementos que u tenemos en la tabla, n, pero no los totales de la y columna. Muestreo multinomial independiente Ahora jamos los totales de la considerando Y como variable respuesta y X como explicativa. Al jar el total de la lo que tenemos es una muestra de una multinomial donde las distintas categor se corresponden con las distintas columnas. Adems las muestras para as a distintas las de la tabla se supone que se han obtenido independientemente. Como es lgico dependiendo del tipo de muestreo tenemos una verosimilitud distino ta. Si el muestreo es de Poisson entonces la verosimilitud es eij
i j
ijij , nij !
ijij .
Finalmente si cada la es una muestra de una multinomial independiente, esto es, tenemos un muestreo multinomial independiente y su verosimilitud viene dada por ni+ ! j nij ! 11
ij j|i .
Cundo nos encontramos en una u otra situacin? Vamos a plantearnos lo a o que ser una tabla de contingencia antes de tener datos y, por lo tanto, sin poder a construirla. Supongamos que pretendemos estudiar la relacin entre contraer eno fermedades venreas o no y utilizar el preservativo en las relaciones sexuales. Para e cada persona se le pregunta se usa el preservativo en sus relaciones y si ha contraido alguna enfermedad venrea en el ultimo a o. No tenemos datos y por lo tanto e n empezamos con una tabla vac a. Nuestro estudio que dar lugar a los conteos que rellenarn las celdas podemos a a plantearlo de distintas formas. Si no jamos el total de la tabla y nos limitamos a muestrear en el colectivo entonces tenemos conteos de Poisson. Si se toma una muestra de 300 personas en los ultimos tres meses en un instituto de secundaria en tonces tenemos un muestreo multinomial. Finalmente podemos tomar una muestra de 150 personas que han contra una enfermedad venrea y otra de 150 que no la do e han contra y luego observar sus hbitos de uso del preservativo. do a
3.4.3.
Muchos estudios se dise an para comparar grupos basndonos en una respuesta n a binaria, Y . En este caso la interpretacin que tiene sentido es pensar en la distribuo cin condicionada de Y a la variable X (las). O viceversa. Con dos grupos tenemos o una tabla de contingencia 2 2 como la que sigue. 1|i 2|i = i = 1 1|i = 1 i
Queremos comparar 1 con 2 . Cmo comparamos? Podemos estudiar la difeo rencia de las proporciones 1 2 , Cuadro 3.6: Grupo 1 Grupo 2 Exito 1|1 1|2 Fracaso 2|1 2|2
12
o el riesgo relativo,
1 , 2
3.4.4.
. +1 En una tabla 2 2 tenemos los odds en la la i i i = . 1 i = El cociente de los odds de las dos las ser el odds ratio. a = Se tiene fcilmente que a = 1 /(1 1 ) . 2 /(1 2 ) 11 22 . 12 21
Por ello tambin se le llama el cociente de los productos cruzados. e El odds ratio tiene las siguientes propiedades fundamentales. 1. Puede ser cualquier valor positivo. 2. = 1 signica que no hay asociacin entre X e Y . o 3. Valores de alejados de 1 indican una asociacin mayor. o 4. Se suele trabajar con log pues entonces el valor que tenemos es simtrico e respecto a cero. 5. El odds ratio no cambia cuando intercambiamos las y columnas. Nota de R 7 (notaR504) Los datos se reeren al efecto de la aspirina en la prevencin del infarto. o > x = c(104, 189) > n = c(11037, 11034) > prop.test(x, n) 13
2-sample test for equality of proportions with continuity correction data: x out of n X-squared = 24.4291, df = 1, p-value = 7.71e-07 alternative hypothesis: two.sided 95 percent confidence interval: -0.010814914 -0.004597134 sample estimates: prop 1 prop 2 0.00942285 0.01712887 > asp.ataque = prop.test(x, n) > attributes(asp.ataque) names [1] "statistic" [6] "conf.int" class [1] "htest" > prop.test(x, n)$p.value [1] 7.709708e-07 > asp.ataque$p.value [1] 7.709708e-07 > prop.test(x, n, alt = "less") 2-sample test for equality of proportions with continuity correction data: x out of n X-squared = 24.4291, df = 1, p-value = 3.855e-07 alternative hypothesis: less 95 percent confidence interval: -1.000000000 -0.005082393 sample estimates: prop 1 prop 2 0.00942285 0.01712887 > asp.ataque$estimate prop 1 prop 2 0.00942285 0.01712887 Veamos cul es la diferencia de proporciones, a > asp.ataque$estimate[2] - asp.ataque$estimate[1] prop 2 0.007706024 el riesgo relativo, asp.ataqueestimate[2]/asp.ataqueestimate[1] y el odds ratio 14 "parameter" "p.value" "alternative" "method" "estimate" "data.name" "null.value"
Cuadro 3.8: Procesamientos por asesinatos m ltiple sen Florida entre 1976 y 1987 u V ctima Blanco Negro Acusado Blanco Negro Blanco Negro Blanco Negro Pena de muerte Si No 53 11 0 4 53 15 414 37 16 139 430 176 % S 11,3 22,9 0,0 2,8 11,0 7,9
Total
Cuadro 3.9: Procesamientos por asesinatos m ltiple sen Florida entre 1976 y 1987 u V ctima vs acusado Blanco Negro Blanco 467 48 Negro 16 143 V ctima vs veredicto Si No Blanco 64 451 Negro 4 155
x[2]*(n[1]-x[1])/(x[1]*(n[2]-x[2])) Una versin extendida de la nota se puede ver en o http: // www. uv. es/ ayala/ DOCENCIA/ ad/ PDF/ notaR504. pdf y el cdigo utilio zado aparece en http: // www. uv. es/ ayala/ DOCENCIA/ ad/ Rcode/ notaR504_ wc. R
3.5.
Cuando estudiamos el efecto de X sobre Y debemos de controlar las covariables que pueden inuir en la relacin. Lo mejor es mantener las covariables relevano tes constantes. Un efecto de X sobre Y puede representar un efecto de la (o las) covariables sobre las variables X e Y . Esto no es fcil en estudios observacionales. a Se condena a muerte ms a los blancos que a los negros en Estados Unidos. En a el pa de la igualdad se discrimina a los blancos. Consideramos como covariable la s raza de la v ctima. En el pa de la igualdad se condena ms a los negros. s a Por qu? La explicacin tiene que venir de la asociacin existente entre la raza e o o de la v ctima y las variables que cruzamos marginalmente. Hay una gran asociacin o entre raza de v ctima y raza del acusado (odds ratio de 87). Los blancos tienden a matar ms a blancos. Si matas a un blanco tienes una a mayor probabilidad de que te condenen. Esto es un ejemplo de la paradoja de Simpson (1951). Nota de R 8 (notaR507) Esta nota es una ilustracin de la paradoja de Simpson o donde las asociaciones parciales pueden no coincidir con la asociacin global. o Cargamos el paquete vcd [? ] > library(vcd) Construmos la tabla con los conteos. 15
raza.victima = c("blanco", "negro") raza.agresor = raza.victima pena.muerte = c("si", "no") etiquetasdatos = list(agresor = raza.agresor, muerte = pena.muerte, victima = raza.victima) datos.florida = expand.grid(agresor = raza.agresor, muerte = pena.muerte, victima = raza.victima) conteos = c(53, 11, 414, 37, 0, 4, 16, 139) datos.florida = cbind(datos.florida, count = conteos) xtabs(conteos ~ agresor + muerte + victima, data = datos.florida)
, , victima = blanco muerte agresor si no blanco 53 414 negro 11 37 , , victima = negro muerte agresor si no blanco 0 16 negro 4 139 Veamos grcamente los datos. a > temp = xtabs(conteos ~ agresor + muerte + victima, data = datos.florida) > plot(temp) Aqu tenemos los logaritmos de los odds ratio y los test de si podemos conside rarlos nulos. > summary(oddsratio(temp)) Log Odds Ratio Std. Error blanco -0.84255 0.36705 negro -0.06252 1.51327 --Signif. codes: 0 *** 0.001 ** z value Pr(>|z|) -2.2955 0.01085 * -0.0413 0.48352 0.01 * 0.05 . 0.1
Y los intervalos de conanza correspondientes. > confint(oddsratio(temp)) lwr upr blanco -1.561961 -0.1231423 negro -3.028482 2.9034412 Una versin extendida de la nota se puede ver en o http: // www. uv. es/ ayala/ DOCENCIA/ ad/ PDF/ notaR507. pdf y el cdigo utilio zado aparece en http: // www. uv. es/ ayala/ DOCENCIA/ ad/ Rcode/ notaR507_ wc. R 16
3.6.
3.6.1.
Intervalo para los odds ratio El estimador del odds ratio es n11 n22 . = n12 n21 El estimador puede ser 0, innito o no estar denido () dependiendo de los conteos. Por ello no existe ni la media ni la varianza de ni de log . Una posibilidad es trabajar con (n11 + 0,5)(n22 + 0,5) = (n12 + 0,5)(n21 + 0,5) y con log . Un estimacin del error estndar de es o a (log ) = 1 1 1 1 + + + n11 n12 n21 n22 log z/2 (log ). Tomando las exponenciales en los extremos tenemos el correspondiente intervalo para log . El test es algo conservador (la probabilidad de cubrimiento es algo mayor que el nivel nominal). Estudio sueco sobre el uso de la aspirina y el infarto de miocardio. Infarto de miocardio Si No 28 656 18 658
1/2
Placebo Aspirina
Intervalo de conanza para la diferencia de proporciones Suponemos que tenemos muestras de binomiales independientes. En el grupo i tenemos Yi Bi(ni , i ). El estimador de la i-sima proporcin es e o i = Yi /ni , de modo que la diferencia entre las proporciones estimadas verica E(1 2 ) = 1 2 y el error estndar es a (1 2 ) = 1 (1 1 ) 2 (1 2 ) + n1 n2
1/2
Estimamos sustituyendo i por i . El intervalo de conanza de Wald ser a: 1 2 z/2 (1 2 ). Usualmente la probabilidad de cubrimiento es menor que el coeciente de conanza nominal. Especialmente para valores de 1 y 2 prximos a 0 o 1. o 17
Intervalo de conanza para el riesgo relativo El riesgo relativo muestral viene dado por r= 1 2
Hay una convergencia a la normalidad ms rpida trabajando en la escala logar a a tmica. El error estndar asinttico de log r es a o (log r) = 1 2 1 1 + n1 1 n2 2
1/2
Es algo conservador (probabilidad de cubrimiento mayor que el nivel de conanza nominal). El intervalo de conanza de Wald para log 1 /2 es log r z/2
3.6.2.
i+ +j para alg n i, j u
Los tests que vamos a considerar se pueden aplicar tanto para muestreo multinomial (con I J categor as) como para muestreo multinomial independiente (para las distintas las). En el primer caso contrastamos independencia y en el segundo homogeneidad. El primer test que vamos a considerar es el test ji-cuadrado. Es el test clsico a propuesto por K. Pearson. Bajo H0 , Enij = ij = ni+ +j . razonablemente buena si las frecuencias esperadas son mayores que 1 y la mayor parte son mayores que 5. Si nos los podemos usar hay que utilizar mtodos para e muestras peque as. n
3.7.
3.7.1.
Vamos a comparar las frecuencias observadas con las esperadas. Notemos que, para muestreo de Poisson, (nij ij ) = ij . a La desviacin estndar de nij ij es menor que ij pero todav proporcional a o a este valor. Denimos el residuo de Pearson como eij = nij ij . ij
En particular tenemos que el estad stico X 2 de Pearson es igual a la suma de los cuadrados de los residuos de Pearson. X2 =
i j
e2 . ij 18
Comparar estos residuos con los percentiles normales da una visin conservadora. o Se denen los residuos de Pearson estandarizados como nij ij ij (1 i+ )(1 +j ) que s tienen una distribucin normal estndar. o a Podemos comparar los residuos de Pearson estandarizados con los percentiles de la normal. Valores superiores (en mdulo) a 2 o 3 indican falta de ajuste. o
1/2
3.8.
3.8.1.
Todos los procedimientos vistos hasta ahora se basan en distribuciones asinto ticas. Si tenemos muestras grandes no hay problemas. Y con muestras peque as? n Rezar es una buena opcin. Siempre lo es. La otra es un test exacto. o Consideramos una tabla 2 2. La hiptesis nula es de independencia. Condio cionamos a los totales marginales de la y columna. Solamente nos queda libre un conteo (por ejemplo, n11 ) y p(t) = P (n11 = t) = donde los valores posibles son m n11 m+ con m = mx{0, n1+ + n+1 n} y m+ = m a n{n1+ , n+1 }. Queremos contrastar independencia. En tablas 2 2 lo podemos formular como H0 : = 1 frente a (alternativa unilateral) H1 : > 1 Para el test anterior, si t0 es el valor observado de n11 , entonces el p-valor ser a P (n11 t0 ) Primer servicio Ejemplo 9 El ejemplo del t Leche e T e Total Prediccin primer servicio o Leche T e 3 1 1 3 4 4 Total 4 4
n1+ t n2+ n+1 t n n+1
Ser ms extrema la tabla con n11 = 4. El p-valor ser a a a P (n11 = 3) + P (n11 = 4) = 0,243 Estamos ordenando las tablas de acuerdo con n11 . Podr amos ordenarlas seg n u el odds ratio o la diferencia de las proporciones y obtenemos el mismo test. Esto no ser cierto para test bilateral. a 19
3.9.
La denicin de p-valor depende de cmo ordenamos las tablas. Lo que suele ir o o programado en software es (si p(t) = P (n11 = t)) p = P (p(n11 ) p(t0 )) Sumamos la probabilidad de todas aquellas tablas que son tan probables o menos que la tabla observada. Otra opcin es o p = P |n11 E(n11 )| |t0 E(n11 )| teniendo en cuenta que para la hipergeomtrica e E(n11 ) = n1+ n+1 /n Este procedimiento equivale con
2 p = P (X 2 X0 ) 2 siendo X0 el valor observado de X 2 .
20
Cap tulo 4
Regresin o
El problema que se trata en este tema es bsico. Estudiar relaciones entre una a variable que llamaremos variable respuesta y una (o ms de una) variable que llaa maremos variables predictoras. Tambin se utilizan las denominaciones de variable e dependiente para la variable respuesta y variables independientes en lugar en predictoras. Si denotamos a la variable respuesta por Y (al valor observado lo denotaremos por y) y a la variable predictora por X nuestro problema es intentar conocer el valor de Y cuando conocemos el valor de la variable X. Nota de R 9 (notaR100) El primer conjunto de datos fueron publicados por Fisher[6]. El chero contiene tres variables correspondientes al peso del corazn, el peso del o cuerpo y el sexo de una muestra de gatos. Tenemos 47 hembras y de 97 machos. > library(MASS) > attach(cats) > names(cats) Empezamos representando el peso del corazn frente al peso del cuerpo para las o hembras. > plot(Bwt[Sex == "F"], Hwt[Sex == "F"]) Repetimos el dibujo para los machos. > plot(Bwt[Sex == "M"], Hwt[Sex == "M"]) Nuestro problema es intentar predecir el peso del corazn a partir del peso del o cuerpo. Adems parece razonable plantearse si esta relacin es similar para machos a o y hembras. Una versin extendida de la nota se puede ver en o http: // www. uv. es/ ayala/ DOCENCIA/ ad/ PDF/ notaR100. pdf y el cdigo utilio zado aparece en http: // www. uv. es/ ayala/ DOCENCIA/ ad/ Rcode/ notaR100_ wc. R Nota de R 10 (notaR101) Tenemos velocidades y tiempos de parada de una serie de vehculos. > require(stats) En abscisas consideramos las velocidades y en ordenadas los tiempos de parada. 1
> plot(cars, xlab = "Speed (mph)", ylab = "Stopping distance (ft)", + las = 1) Podemos predecir de algn modo el tiempo de parada a partir de la velocidad u del vehculo? Una versin extendida de la nota se puede ver en o http: // www. uv. es/ ayala/ DOCENCIA/ ad/ PDF/ notaR101. pdf y el cdigo utilio zado aparece en http: // www. uv. es/ ayala/ DOCENCIA/ ad/ Rcode/ notaR101_ wc. R En este tema utilizamos de un modo importante el paquete faraway [5].
4.1.
En todos los ejemplos antes comentados el problema com n es determinar el vau lor de Y a partir del valor de X. Obviamente la respuesta ms simple ser buscar a a una funcin que podemos denotar por f de modo que para un valor dado x simpleo mente calculamos y = f (x). Un poco de imaginacin y conocimiento de la posible o relacin entre x e y podr darnos una idea de qu funcin f buscar. Este planteao an e o miento es de base muy restrictivo. Por qu? Pues en primer lugar porque estamos e asumiendo que, para un valor de x, existe un unico valor de y asociado. Y esto nunca (o casi) es as Un detalle, a veces X es una variable aleatoria que observa. mos simultneamente con Y , en otras ocasiones es un valor que nosotros prejamos a (dosis de medicacin, tratamiento en un problema de diseo de experimentos). Sin o n embargo, desde el punto de vista de la regresin X siempre lo consideramos jo y o estudiamos cmo se comporta Y dado el valor de X = x. Es decir, de la distribucin o o condicionada de Y al valor de X = x. Un ejemplo muy famoso de Galton. Se tomaba como variable predictora la estatura del padre y como variable respuesta o a predecir, la estatura de un hijo. Es claro que para un mismo padre la estatura de sus hijos es variable. No todos los hijos de un mismo padre miden lo mismo. No tiene ning n sentido asumir una relacin u o funcional entre la estatura de un padre y la de un hijo. Tan tontos no son los estad sticos (que no estadistas). De hecho, lo que se modeliza es la relacin entre el valor x y el valor medio de la variable Y dado ese o valor x. Siguiendo con el ejemplo de Galton. Si consideramos un padre de estatura X = 178 cent metros. Supondremos que la media de la variable Y que nos da la estatura aleatoria de un hijo es la que se relaciona con x. Denotemos por E[Y | x] esta media (estatura media de todos los hijos de un padre con estatura 178 cent metros). Hemos de admitir que adems de lo que mide el padre, algo tendr que a a decir la madre, y tambin otros muchos factores que todos podemos imaginar. De e modo que Y , conocida la estatura del padre, sigue siendo una cantidad aleatoria. De hecho, se asume que la distribucin de Y es normal cuya media depende de Y , o E[Y | x], pero cuya varianza no depende de x, es decir, es una cantidad constante que denotaremos por 2 . En resumen, estamos asumiendo que Y N (E[Y | x], 2 ). (4.1)
En el modelo de regresin ms simple con el que se trabaja se asume que la media o a condicionada E[Y | x] es una funcin lineal de x, en otras palabras, se asume que o E[Y | x] = 0 + 1 x. (4.2) Las hiptesis asumidas en 4.1 y 4.2, podemos expresarlas conjuntamente diciendo o que la variable respuesta Y se puede expresar como Y = 0 + 1 x + , 2 (4.3)
donde N (0, 2 ). (4.4) En la formulacin de 4.3 expresamos el valor aleatorio de Y como suma de una o parte que sistemticamente depende de x (la componente sistemtica del modelo) a a y un trmino aleatorio con distribucin normal, un trmino de error o desajuste del e o e modelo. En esta variable normal con media cero y varianza constante 2 estamos incluyendo todas las posibles causas que inuyen el valor de Y y que no vienen dadas por la variable predictora. No consideramos un solo valor aleatorio de Y dado un valor jo de x. Realmente, tenemos n valores observados cuyos valores son independientes entre s pero no tienen la misma distribucin. Hemos de pensar que cad a Yi tiene una variable o predictora distinta que inuye en la distribucin de Yi . Tenemos pares (xi , Yi ) donde o la xi viene dada y consideramos la distribucin de Yi condicionada a xi , es decir, o Yi | xi . Resumiendo, estamos asumiendo que Yi N (0 +1 xi , 2 ) y que los distintos Yi son independientes entre si. Utilizando propiedades de la distribucin normal multio variante tenemos que estas hiptesis las podemos expresar conjuntamente diciendo o que Y Nn (X, 2 Inn ), (4.5) donde Y1 . Y = . . Yn Si consideramos que 1 . =. . n donde los i N (0, 2 ) e independientes entre si. Entonces el modelo dado en 4.5 lo podemos reescribir como Y = X + , (4.6) con Nn (0, 2 Inn ). Este modelo probabil stico es conocido como el modelo de regresin lineal o simple. No lo estudiaremos en ms detalle porque nos vamos a ocupar de la situaa cin ms general en que tenemos ms de una variable predictora. No es ms que o a a a un caso particular y sin mucha dicultad adicional se puede estudiar el situacin o general de regresin lineal mltiple. o u Nota de R 11 (Fichero notaR118) En este banco de datos (Orange) tenemos la variable predictora que nos da la edad del arbol y como variable respuesta la circunferencia del arbol. En gura 4.1 tenemos los datos con los que trabajamos. Obtenemos cmo el ajuste de regresin lineal simple con la funcin lm. La salida o o o bsica que produce nos muestra los estimadores mnimo cuadrticos de los coeciena a tes . En la gura 4.2 aparece la recta mnimo cuadrtica superpuesta a los datos a originales utilizando la funcin abline. Vemos tambin cmo obtener las predicciones o e o y los residuos observados. Finalmente mostramos los residuos frente a las predicciones de los valores. En principio, bajo la hiptesis de que el error tiene varianza o constante no debiramos de observar residuos mayores cuando las predicciones son e mayores. En este caso parece que es esto lo que observamos. 3 1 . X = . . x1 . . . 0 1
xn
data(Orange) attach(Orange) plot(age,circumference) #fig118a.ps lm(circumference ~ age,data=Orange) > lm(circumference ~ age,data=Orange) Call: lm(formula = circumference ~ age, data = Orange) Coefficients: (Intercept) 17.3997
age 0.1068
orange.lm = lm(circumference ~ age,data=Orange) #Veamos qu podemos obtener e attributes(orange.lm) > attributes(orange.lm) $names [1] "coefficients" "residuals" [5] "fitted.values" "assign" [9] "xlevels" "call" $class [1] "lm" #Valores ajustados orange.lm$fitted.values > orange.lm$fitted.values 1 2 3 29.99855 69.07649 88.29515 9 10 11 69.07649 88.29515 124.59706 17 18 19 88.29515 124.59706 148.83392 25 26 27 124.59706 148.83392 163.88854 33 34 35 148.83392 163.88854 186.31030
4 5 6 7 8 124.59706 148.83392 163.88854 186.31030 29.99855 12 13 14 15 16 148.83392 163.88854 186.31030 29.99855 69.07649 20 21 22 23 24 163.88854 186.31030 29.99855 69.07649 88.29515 28 29 30 31 32 186.31030 29.99855 69.07649 88.29515 124.59706
circumference
50
100
150
200
500 age
1000
1500
Figura 4.1:
4.2.
Pretendemos determinar la relacin que liga a una variable respuesta Y como o funcin de p 1 variables predictoras, x1 , . . . , xp1 . Siguiendo el razonamiento ano terior podemos plantearnos un modelo muy general como el que sigue. Y = f (x1 , . . . , xn ) + , (4.7)
donde f es una funcin desconocida y es el trmino del error. Vamos a asumir o e una situacin ms simple. En concreto que la funcin f es lineal de modo que la o a o 5
circumference
50
100
150
200
500 age
1000
1500
Figura 4.2:
orange.lm$residuals
40
20
20
40
50
100 orange.lm$fitted.values
150
Figura 4.3:
relacin ser Y = 0 + 1 x1 + . . . + p1 xp1 . Realmente observamos n vectores o a (yi , xi1 , . . . , xi,p1 ) en consecuencia nuestro modelo estocstico ha de considerar el a modelo para los n valores aleatorios Yi , donde cada Yi tiene asociado un vector xi . Vamos a suponer que para una combinacin de valores (xi1 , . . . , xi,p1 ) vamos a o observar un valor aleatorio Yi con distribucin normal cuya media es 0 + 1 xi1 + o . . .+p1 xi,p1 y cuya varianza va a ser constante e igual a 2 . Adems los distintos a Yi son independientes entre si. 6
Vamos a formular conjuntamente estas hiptesis. Denotaremos o 0 Y1 1 x11 . . . x1,p1 1 1 . . . . . . . Y = . X = . = . =. . . . . . . . Yn 1 xn1 . . . xn,p1 n p1 El modelo estocstico bsico es el que sigue a a Y = X + . (4.8)
En este modelo a X le llamaremos la parte sistemtica mientras que es la coma ponente aleatoria del modelo. Estamos expresando los datos como la suma de una parte sistemtica ms una parte aleatoria. La parte sistemtica es la media del veca a a tor Y . Notemos que la dimensin del espacio en que estamos trabajando es n, el o n mero de observaciones. El vector de medias o parte sistemtica del modelo tiene u a dimensin p por lo que la parte no explicada, el residuo, tiene dimensin n p. o o
Residuo
4.3.
Estimacin de o
Cmo estimamos los parmetros ? Nuestros datos son (yi , xi1 , . . . , xi,p1 ) con o a i = 1, . . . , n. Nuestro objetivo es estimar los coecientes de modo que X est e prximo a y. En concreto vamos a minimizar o
n i=1
2 = = (y X) (y X). i
(4.9)
Si desarrollamos la expresin anterior tendremos que o (y X) (y X) = y y 2 X y + + X X. Diferenciando respecto de los distintos j e igualando a cero nos da el siguiente sistema de ecuaciones normales: X X = X y. (4.10)
Si asumimos que la matriz X X es una matriz no singular entonces tendremos que = (X X)1 X y, 7 (4.11)
La matriz H = X(X X)1 X y = Hy es la matriz de proyeccin de y sobre el espacio o engendrado por los p vectores columna de la matriz X. Es una matriz n n. Utilizando la matriz H podemos calcular las predicciones para cada una de los xi originales. Vienen dadas por y = Hy = X . (4.13)
Tambin tenemos los residuos, esto es, las diferencias entre los valores observados e originalmente y las predicciones que de ellos hacemos. Los residuos en trminos de e la matriz H vienen dados por = y Hy = (I H)y. (4.14)
Finalmente, hemos determinado los coecientes que nos minimizaban la suma de cuadrados. El valor m nimo que hemos obtenido que recibe el nombre de suma de cuadrados residual o suma de cuadrados del error que viene dada por
n
SS(Error) =
i=1
(yi yi )2 ,
(4.15)
Veamos una interpretacin geomtrica que nos ayude a entender qu son los o e e estimadores m nimo cuadrticos que utilizamos. Estamos minimizando (yX) (y a X). Si vemos la gura 4.4 el valor de que nos da el m nimo coincide con el punto que nos da la proyeccin ortogonal de y sobre el plano que viene engendrado por o las columnas de la matriz X. De este modo es claro que (y y 1n ) (y y1n ) = (y X ) (y X ) + ( y 1n ) ( y 1n ). y y o de otro modo la ecuacin anterior la podemos expresar como o
n i=1 n n
(4.17)
(yi y )2 =
i=1
(yi yi )2 +
i=1
(yi y)2 .
(4.18)
Las sumas de cuadrados que acabamos de considerar reciben la siguiente denominacin: o Suma de cuadrados total
n
i=1
(yi y )2 .
(4.19)
i=1
(yi yi )2 .
(4.20)
SS(Regresion) = ( y1n ) ( y 1n ) = y y 8
i=1
(yi y)2 .
(4.21)
4.4.
Supongamos en primer lugar la situacin en que no tenemos ning n predictor. o u Esto es, nuestro modelo es Y = + . En este caso se tiene que la matriz de dise o n 1 X = 1n = (1, . . . , 1) , X X = n y, nalmente, = (X X)1 X y = n 1 y = y . n El segundo ejemplo que podemos considerar ser con una sola variable prea dictora o lo que es lo mismo, el modelo de regresin lineal simple. En este caso, o tendremos 1 1 x1 Y1 . . . 0 + . . . = . . . . . . 1 n 1 xn Yn Notemos que podemos hacer Yi = 0 + 1 x + 1 (xi x) + i . Nuestra matriz de dise o ser n a 1 . X = . . con X X = n 0
n i=1 (xi
1 xn x 0
x1 x . . .
x)2
(4.22)
4.5.
Verosimilitud
Dados los datos (xi , yi ) con i = 1, . . . , n la verosimilitud de y = (y1 , . . . , yn ) vendr dada por a L(, ) = y la logverosimilitud ser a l(, ) = n 1 log(2) n log 2 (y X) (y X). 2 2 (4.24) 1 1 exp{ 2 (y X) (y X)} n n 2 (2) 2 (4.23)
El estimador mximo veros a mil de se obtiene maximizando cualquiera de las dos funciones anteriores. Es obvio que el mximo respecto de se obtiene como el a valor que minimiza (y X) (y X), en denitiva, que los estimadores mximo a veros miles no son ms que los estimadores m a nimo cuadrticos. a Veamos un primer anlisis de regresin utilizando la funcin base lm. a o o Nota de R 12 (Fichero notaR119) Vamos a trabajar con un banco de datos relativos a precios de la vivienda. Es un chero que viene con el paquete SPSS. Tenemos las siguientes variables: VALTERR Valor de tasacin del terreno. o VALMEJOR Valor de tasacin de las mejoras. o 9
VALTOT Valor de tasacin total. o PRECIO Precio de venta. TASA Razn del precio de venta sobre el valor de tasacin total. o o BARRIO Barrio en el que se encuentra la vivienda. Nos planteamos predecir el precio de venta de la vivienda utilizando como variables predictoras el valor de tasacin del terreno y de las mejoras. Notemos que el valor o total no es ms que la suma de la tasacin del terreno ms el valor de las mejoras. a o a library(foreign) x = read.spss(file=../data/venta_casas.sav,to.data.frame=T) attach(x) casas.lm = lm(PRECIO ~ VALTERR + VALMEJOR) casas.lm > casas.lm Call: lm(formula = PRECIO ~ VALTERR + VALMEJOR) Coefficients: (Intercept) 767.4080
VALTERR 3.1916
VALMEJOR 0.4779
4.6.
Distribucin muestral de o
Hemos visto que = (X X)1 X Y . Aplicando propiedades simples de la media tenemos que E = (X X)1 X (EY ) = , (4.25) o lo que es lo mismo que es un estimador insesgado de , el estimador tiene por vector de medias el vector de parmetros que estima. Es una buena propiedad. a Veamos la expresin de la matriz de varianzas. o var() = (X X)1 X ( 2 I)X(X X)1 = (X X)1 2 . (4.26)
Como vemos la matriz de covarianzas depende de la varianza desconocida del error 2 . Si estimamos esta varianza podremos tener un estimador de dicha matriz de covarianzas. Se puede probar que E[SS(Error)] = (n p) 2 de donde, un estimador insesgado para la varianza 2 viene dado por 2 = . np (4.28) (4.27)
Si (X X)1 = [aij ]i,j=1,...,p entonces el estimador de la varianza de i , var(i ), ser a 2 i es un estimador insesgado de i y por lo tanto su varianza aii . Recordemos que coincide con su error cuadrtico medio. Finalmente el error estndar de i , es decir, a a su desviacin t o pica (ra cuadrada de su varianza) ser z a SE(i ) = aii . (4.30) Realmente de sabemos ms cosas: = (X X)1 X Y y puesto que Y a 2 Nn (X, Inn ) entonces, por propiedades bsicas de la distribucin normal mula o tivariante (ver apartado 1.4) se tiene que Np (, (X X)1 2 ). (4.31)
Nota de R 13 (Fichero notaR121) Utilizamos los datos de 12. Una vez realizado el ajuste con la funcin summary podemos observar los valores estimados de o (etiquetado como Residual standard error y los errores estndar de i . a summary(casas.lm) > summary(casas.lm) Call: lm(formula = PRECIO ~ VALTERR + VALMEJOR) Residuals: Min 1Q -153634.1 -10451.5
Median -575.7
3Q 8689.8
Max 356418.3
Coefficients: Estimate Std. Error (Intercept) 7.674e+02 1.290e+03 VALTERR 3.192e+00 5.339e-02 VALMEJOR 4.779e-01 2.552e-02 --Signif. codes: 0 *** 0.001 **
t value Pr(>|t|) 0.595 0.552 59.777 <2e-16 *** 18.728 <2e-16 *** 0.01 * 0.05 . 0.1
Residual standard error: 28070 on 2437 degrees of freedom Multiple R-Squared: 0.6756, Adjusted R-squared: 0.6754 F-statistic: 2538 on 2 and 2437 DF, p-value: < 2.2e-16
4.7.
Bondad de ajuste
Hemos supuesto una relacin lineal entre la media de la variable respuesta y las o variables predictoras. Asumiendo la relacin hemos considerado una funcin objetivo o o y minimizando dicha funcin hemos obtenido los estimadores m o nimo cuadrticos. a Sin embargo, la primera pregunta que hay que responder es: tenemos un ajuste razonable? La respuesta se da utilizando medidas que comparan los valores observados con las predicciones asumiendo el modelo, es decir, comparando yi con yi para los distintos datos. En concreto, con diferencia la ms utilizada es el coeciente a de determinacin que se denota por R2 y se dene como o R2 = 1
n i=1 (yi n i=1 (yi
(4.32)
Es habitual denominar a i=1 (yi yi )2 , suma de cuadrados del error mientras que a SS(Regresion) = n (i y )2 se le llama suma de cuadrados de la y i=1 regresin. Tenemos pues que o R2 =
n y 2 i=1 (i y ) n 2 i=1 (yi yi )
(4.33)
El ajuste que estamos realizando se supone que ser tanto mejor cuanto ms pea a que a sea SS(Error). Tampoco ser natural que SS(Error) fuera nula pues ser n a a tanto como asumir que los distintos valores aleatorios son iguales a su media. Notemos que SS(T otal) es una cuanticacin de la variabilidad de los distintos yi sin o tener en cuenta las variables predictoras mientras que SS(Error) nos cuantica la variacin residual despus de utilizar las variables predictoras. Es de esperar que un o e mejor ajuste vaya acompa ado de un valor de SS(Error) peque o en relacin con n n o SS(T otal). Esa es la idea del coeciente de determinacin. Toma valores entre 0 y o 1 y cuanto ms cerca de 1 mejor es el ajuste. a Tiene un peque o inconveniente y es que no tiene en cuenta el n mero de van u riables predictoras que estamos utilizando para predecir la variable respuesta. Una peque a modicacin de R2 para incorporar esta informacin es el coeciente de n o o determinacin ajustado que podemos denotar R2 -ajustado y se dene como o R2 ajustado = 1
n 2 i=1 (yi yi ) /(n p) , n 2 i=1 (yi y ) /(n 1)
(4.34)
donde suponemos que tenemos p 1 variables predictoras. Nota de R 14 (Fichero notaR120) Continuamos con los datos de la nota 12. Vemos los coecientes estimados y los valores de R2 y R2 -ajustado.
summary(casas.lm) > summary(casas.lm) Call: lm(formula = PRECIO ~ VALTERR + VALMEJOR) Residuals: Min 1Q -153634.1 -10451.5
Median -575.7
3Q 8689.8
Max 356418.3
Coefficients: Estimate Std. Error (Intercept) 7.674e+02 1.290e+03 VALTERR 3.192e+00 5.339e-02 VALMEJOR 4.779e-01 2.552e-02 --Signif. codes: 0 *** 0.001 **
t value Pr(>|t|) 0.595 0.552 59.777 <2e-16 *** 18.728 <2e-16 *** 0.01 * 0.05 . 0.1
Residual standard error: 28070 on 2437 degrees of freedom Multiple R-Squared: 0.6756, Adjusted R-squared: 0.6754 F-statistic: 2538 on 2 and 2437 DF, p-value: < 2.2e-16
12
4.8.
Un modelo de regresin lineal m ltiple supone, como hemos visto, varias hipo u o tesis. Es necesario valorar lo razonables, lo asumibles que son estas hiptesis. Las o hiptesis del modelo que vamos a valorar son las siguientes: o 1. Tenemos errores independientes, con la misma varianza y con distribucin o normal? Esto es, nos preguntamos si es asumible la hiptesis Nn (0, 2 Inn ). o 2. Asumimos que E[Yi | xi ] = 0 + 1 xi1 + . . . + p1 xi,p1 . Los errores no son directamente observables. Observamos los residuos = y y que no es lo mismo. Las propiedades de ambos vectores son distintas. En particular, estamos asumiendo que var() = 2 Inn . Sin embargo, esta armacin no es cierta o para los residuos observados . Notemos que y = X(X X)1 X y = Hy. De modo que = y y = (I H)y = (I H)X + (I H) = (I H). La tercera igualdad anterior es consecuencia de que HX = X porque H es la matriz de proyeccin sobre el espacio engendrado por las columnas de X y X est o a en este espacio por lo que la proyeccin es el propio punto. Notemos que I H o tambin es una matriz de proyeccin (sobre el espacio ortogonal al engendrado por e o las columnas de X) de modo que (I H)2 = I H. Aplicando esta propiedad se tiene que var() = var(I H) = (I H) 2 , (4.35)
ya que var() = 2 Inn . Vemos pues que, aunque asumimos que los errores son incorrelados y con la misma varianza, esto no es cierto para los residuos . La mera observacin de los residuos sin considerar su posible asociacin con otra o o variable no nos proporciona informacin sobre si la varianza de los mismos es conso tante. Hemos de considerarlos en relacin con otras variables. Es habitual considerar o un diagrama de puntos de los residuos como funcin de las predicciones y . Cuan o do la varianza es constante debemos de observar los residuos dispersos de un modo aleatorio respecto del eje de abscisas. Tambin podemos ver un comportamiento no e aleatorio alrededor del eje de abscisas cuando la parte estructural del modelo no es lineal, es decir, cuando no se verica que EY = X.
Nota de R 15 (Fichero notaR122) Los datos que vamos a utilizar para valorar las hiptesis del modelo son los datos savings contenido en la librera faraway ([? o ]). En la gura 4.5 tenemos un diagrama de puntos donde en abscisas tenemos las predicciones y en ordenadas tenemos los residuos. No parece en principio que no podamos asumir una varianza constante. Observemos la gura 4.5 nos indica los tres pases con los residuos ms extremos: Chile, Filipinas y Zambia. a
13
Residuals vs Fitted
10
Zambia
Philippines
Residuals
Chile
10
10
12
14
16
Cuando no tenemos una varianza constante una opcin es transformar las variao bles. Si y es la variable original y h(y) la transformada queremos determinar h de modo que la transformada tenga varianza constante. Transformaciones habituales que podemos valorar son la ra cuadrada o el logaritmo de la variable respuesta. z Qu tipo de representacin cabe esperar cuando la varianza no es constante? e o Veamos distintas representaciones de los residuos frente a los valores ajustados correspondiendo a varianza constante, varianzas no constantes y situaciones en que no hay linealidad. Nota de R 16 (Fichero notaR123) Ilustramos cmo observaramos residuos cuo ya varianza es constante. En la gura 4.6 tenemos 50 posibles residuos en donde la varianza es constante. En la gura 4.7 tenemos como abscisas valores que van de 1 a 50 en incrementos unitarios. El valor de residuo que generamos tienen varianza creciente. En concreto vamos multiplicando el valor con distribucin N (0, 1) por o una constante c. La varianza es del orden del cuadrado del valor por el que multipli camos. En la gura 4.8 los valores por los que multiplicamos son 1, 2, 3, . . . , 50 por lo que las varianzas se incrementan muy menos de una abscisa a la siguiente. Finalmente en la gura 4.9 mostramos un ejemplo de un residuo no lineal. Es un caso en que no podemos suponer la media funcin lineal de los predictores. o ## Evaluacin de los residuos con datos generados o 14
par(mfrow=c(3,3)) ##Varianza constante for(i in 1:9) plot(1:50,rnorm(50)) #fig123a ##Varianza no constante for(i in 1:9) plot(1:50,(1:50)*rnorm(50)) #fig123b ##Varianza ligeramente no constante for(i in 1:9) plot(1:50,sqrt((1:50))*rnorm(50)) #fig123c ##No linealidad for(i in 1:9) plot(1:50,cos((1:50)*pi/25)+rnorm(50)) #fig123d
La siguiente hiptesis a valorar es la normalidad de los errores. La herramienta o grca ms habitual es el dibujo q-q o la representacin cuantil-cuantil. Ordenamos a a o i los residuos y representamos los residuos ordenados en funcin de 1 ( n+1 ) para o i = 1, . . . , n. Si los residuos tienen una distribucin normal entonces deben estar o alineados. El histograma no es muy adecuado para ver la normalidad de los residuos. Nota de R 17 (Fichero notaR124) Para los datos savings representamos un dibujo q-q. En la gura 4.10 mostramos cmo hacerlo despus de ajustar el modelo o e y utilizando la funcin plot (realmente estamos utilizando plot.lm). En la gura o 4.11 aparece un dibujo q-q utilizando las funciones qqnorm que construye el dibujo y qqline que a ade una lnea uniendo el primer y tercer cuartil. Como vemos es el n mismo dibujo.
#Dibujo q-q para los datos savings plot(savings.lm,which=2) #fig124a #Otra forma de hacerlo sin utilizar el plot.lm qqnorm(residuals(savings.lm),ylab="Residuos") qqline(residuals(savings.lm)) #A~ade una lnea que une primer y tercer n #cuartil #fig124b
Veamos cmo se modica la forma del dibujo q-q con otras distribuciones que o no son normales. Es decir, vamos a valorar la forma de esta representacin grca o a cambiando el modelo. Nota de R 18 (Fichero notaR125) En esta nota consideramos cuatro distribuciones de probabilidad. En la gura 4.12 aparecen las densidades de los modelos considerados. La primera es la correspondiente a la distribucin normal. Luego teo nemos la lognormal, la densidad de una Cauchy y la densidad uniforme. La lognormal se toma como ejemplo de distribucin asimtrica, la Cauchy como ejemplo de o e 15
rnorm(50)
1.0
rnorm(50)
rnorm(50) 0 10 20 30 40 50
0.0
1.5
10
20
30
40
50
1.5
1 0
10
20
30
40
50
1:50
1:50
1:50
rnorm(50)
rnorm(50)
rnorm(50) 0 10 20 30 40 50
10
20
30
40
50
1.0 0
0.0
1.0
10
20
30
40
50
1:50
1:50
1:50
rnorm(50)
rnorm(50)
rnorm(50) 0 10 20 30 40 50
2 1
1 0
10
20
30
40
50
1 0
10
20
30
40
50
1:50
1:50
1:50
Figura 4.6: una distribucin con las colas ms largas que la normal y nalmente la uniforme o a como ejemplo de distribucin con las colas ms cortas. o a En la gura 4.13 tenemos nueve dibujos q-q realizados con datos simulados con una distribucin normal. Las guras 4.14, 4.15 y 4.16 tambin dibujos q-q con datos o e simulados correspondientes a la distribucin lognormal (gura 4.14), distribucin de o o Cauchy (gura 4.15) y uniforme (gura 4.16).
##Veamos cmo se modifican los dibujos q-q con otras distribuciones o ##Primero vemos las densidades de probabilidad par(mfrow=c(2,2)) #fig125a ##Con una normal curve(dnorm) ##Con una lognormal como ejemplo de distribucin asimtrica o e curve(dlnorm) 16
(1:50) * rnorm(50)
40
(1:50) * rnorm(50)
(1:50) * rnorm(50) 0 10 20 30 40 50
50
80 40
10
20
30
40
50
100
100 0
50
10
20
30
40
50
1:50
1:50
1:50
100
(1:50) * rnorm(50)
(1:50) * rnorm(50)
(1:50) * rnorm(50) 0 10 20 30 40 50
50
50
50 0
10
20
30
40
50
100 0
50
50
10
20
30
40
50
1:50
1:50
1:50
(1:50) * rnorm(50)
(1:50) * rnorm(50)
(1:50) * rnorm(50) 0 10 20 30 40 50
100
10
20
30
40
50
40
50 0
50 100
50
40
80
10
20
30
40
50
1:50
1:50
1:50
Figura 4.7: ##Con una Cauchy como ejemplo de distribucin con colas ms largas o a curve(dcauchy) ##con una uniforme como ejemplo de distribucin con colas ms cortas o a curve(dunif) ##Generamos datos y vemos los dibujos correspondientes par(mfrow=c(3,3)) for(i in 1:9) qqnorm(rnorm(50)) #fig125b for(i in 1:9) qqnorm(exp(rnorm(50))) #fig125c for(i in 1:9) qqnorm(rcauchy(50)) #fig125d for(i in 1:9) qqnorm(runif(50)) #fig125e Como vemos no es simple la interpretacin de estos dibujos. Por ejemplo, no es o fcil diferenciar entre una distribucin con colas ms largas de una situacin en dona o a o de tenemos observaciones anmalas. Cmo hacerlo? Si quitamos las observaciones o o 17
sqrt((1:50)) * rnorm(50)
sqrt((1:50)) * rnorm(50)
sqrt((1:50)) * rnorm(50) 0 10 20 30 40 50
10
10
20
30
40
50
15 5 0
10
10
15
10
20
30
40
50
1:50
1:50
1:50
sqrt((1:50)) * rnorm(50)
sqrt((1:50)) * rnorm(50)
sqrt((1:50)) * rnorm(50) 0 10 20 30 40 50
15
10
20
30
40
50
15
10 0
10
10
20
30
40
50
1:50
1:50
1:50
sqrt((1:50)) * rnorm(50)
sqrt((1:50)) * rnorm(50)
sqrt((1:50)) * rnorm(50) 0 10 20 30 40 50
5 10
5 10
10
10
10
20
30
40
50
10 0
5 10
10
20
30
40
50
1:50
1:50
1:50
Figura 4.8: extremas y aparecen otras estamos en una distribucin con colas largas. o Si tenemos muestras grandes el problema de la no normalidad se alivia. El problema de la no normalidad es mayor para colas largas que para colas ms cortas. a La asimetr se resolver transformando los datos. a a Tambin podemos usar un test de normalidad. Un test de normalidad es un e cualquier test estad stico donde la hiptesis nula es que los datos observados (en o nuestro caso los residuos observados) proceden de una distribucin normal. Una o opcin que viene implementada con la funcin shapiro.test es el test de Shapiroo o Wilk. Nota de R 19 (Fichero notaR126) Aplicamos un test de Shapiro-Wilk a los residuos observados en el ajuste de los datos savings. Vemos que el p-valor observado es muy grande y no podemos rechazar la normalidad de los residuos. residuals(savings.lm)
18
0 1 2 3
1 2 3
10
20
30
40
50
10
20
30
40
50
3 0
1 2
10
20
30
40
50
1:50
1:50
1:50
10
20
30
40
50
10
20
30
40
50
3 0
1 2 3
1 2
10
20
30
40
50
1:50
1:50
1:50
10
20
30
40
50
10
20
30
40
50
2 0
10
20
30
40
50
1:50
1:50
1:50
Figura 4.9: shapiro.test(residuals(savings.lm)) > shapiro.test(residuals(savings.lm)) Shapiro-Wilk normality test data: residuals(savings.lm) W = 0.987, p-value = 0.8524 Estamos asumiendo que los errores son incorrelados. La correlacin entre o los datos pueden venir de que han sido observados prximos bien en el tiempo bien o en el espacio. Cmo contrastar si los residuos son incorrelados? o Un test de la hiptesis de incorrelacin es el test de Durbin-Watson que utiliza o o el siguiente estad stico n (i i1 )2 , (4.36) DW = i=2 n 2 i i=1 19
Normal QQ 3
Zambia
Philippines
Standardized residuals
Chile
Figura 4.10:
Normal QQ Plot
10 Residuos 5 0 5
0 Theoretical Quantiles
Figura 4.11: bajo la hiptesis nula de incorrelacin la distribucin es una combinacin lineal de o o o o distintas distribuciones 2 . Nota de R 20 (Fichero notaR127) library(lmtest) #Aplicamos el test de Durbin-Watson dwtest(savings.lm) > dwtest(savings.lm) Durbin-Watson test
20
0.4
0.3
dlnorm (x) 2 1 0 x 1 2
dnorm (x)
0.2
0.1
0.0
0.2
0.4
0.6
0 x
0 x
dcauchy (x)
0.25
0.05
0.15
dunif (x)
0 x
Figura 4.12: data: savings.lm DW = 1.9341, p-value = 0.3897 alternative hypothesis: true autocorrelation is greater than 0
Algunas observaciones no ajustan bien al modelo y son llamadas observaciones anmalas. Otras observaciones inuyen mucho en el ajuste y lo modican de un o modo substantivo. Estas ultimas reciben el nombre de observaciones inuyentes. Una observacin dada puede ser o bien anmala o bien inuyente o ambas cosas. o o Empecemos estudiando qu se entiende por inuencia de una observacin. Llae o maremos a hi = Hii , esto es, el valor en la posicin (i, i) de la matriz H la inuencia o (leverage en ingls). Notemos que var(i ) = 2 (1 hi ). En consecuencia, una ine uencia alta supone una varianza del correspondiente residuo baja. Forzamos al ajuste a que est prximo a yi . Se tiene que p hi = p. En consecuencia el valor e o i=1 medio de los hi es p/n. Como una regla simple de aplicar si la inuencia hi es mayor que 2p/n debemos de observar el dato con atencin. Buscamos valores grandes de o las inuencias. Nota de R 21 (Fichero notaR128) Calculamos las inuencias para los datos savings. En gura 4.17 aparece una representacin de las inuencias respecto de los o residuos estandarizados. 21
Normal QQ Plot
3 Sample Quantiles Sample Quantiles
Normal QQ Plot
Sample Quantiles 2 2 1 0 1
Normal QQ Plot
2 2
Theoretical Quantiles
Theoretical Quantiles
Theoretical Quantiles
Normal QQ Plot
Sample Quantiles Sample Quantiles 2 2
Normal QQ Plot
Sample Quantiles 2 1 0 1
Normal QQ Plot
2 2
Theoretical Quantiles
Theoretical Quantiles
Theoretical Quantiles
Normal QQ Plot
Sample Quantiles Sample Quantiles 2 2
Normal QQ Plot
Sample Quantiles 0.0 1.0 2.0 1.5
Normal QQ Plot
4 2
Theoretical Quantiles
Theoretical Quantiles
Theoretical Quantiles
Figura 4.13:
library(faraway) data(savings) savings.lm = lm(sr ~ pop15 + pop75 + dpi + ddpi, savings) #Calculamos las influencias savings.inf = influence(savings.lm) savings.inf$hat #Veamos la representacin grfica o a plot(savings.lm,which=5) #fig128a
Otra posibilidad es para encontrar observaciones anmalas consiste en trabajar o con los residuos estudentizados. Veamos su denicin. Notemos que var(i ) = 2 (1 o hi ) lo que sugiere tomar i (4.37) ri = 1 hi Estos son los residuos estudentizados. Si el modelo que asumimos es correcto entonces la varianza de estos residuos es uno y son aproximadamente incorrelados. Notemos que la estudentizacin corrige las varianzas desiguales de los residuos cuando o 22
Normal QQ Plot
Sample Quantiles Sample Quantiles 8 10 12
Normal QQ Plot
Sample Quantiles
Normal QQ Plot
0 2
Theoretical Quantiles
Theoretical Quantiles
Theoretical Quantiles
Normal QQ Plot
Sample Quantiles Sample Quantiles 6
Normal QQ Plot
Sample Quantiles 8 0 2 1 0 1 2 2 4 6
Normal QQ Plot
Theoretical Quantiles
Theoretical Quantiles
Theoretical Quantiles
Normal QQ Plot
Sample Quantiles Sample Quantiles 6 6
Normal QQ Plot
Sample Quantiles 5 2 1 0 1 2 0 1 2 3 4
Normal QQ Plot
Theoretical Quantiles
Theoretical Quantiles
Theoretical Quantiles
Figura 4.14: las varianzas de los errores son iguales entre si. En otro caso esto no es cierto. Si las varianzas de los errores no son iguales (tenemos heterocedasticidad) entonces la estudentizacin no hace homogneas las varianzas de los residuos. o e Algunos autores (y programas) tienden a usar en lugar de los residuos originales, los residuos estudentizados. Una observacin anmala es una observacin que no se ajusta a nuestro moo o o delo. Hemos de protegernos frente a este tipo de puntos. Un test para observaciones anmalas es util si nos permite distinguir entre observaciones que son realmente o anmala y aquellas que simplemente tienen un residuo grande aunque no excepcioo nalmente grande. Para detectar este tipo de puntos, lo que hacemos es excluir el punto i-simo y e ajustamos el modelo sin ese punto obteniendo los estimadores (i) y (i) . Tendremos 2 para el punto i-simo la siguiente estimacin e o y(i) = x (i) . i (4.38)
Si el valor yi y(i) es grande entonces el caso i es una observacin anmala. Con o o objeto de valorar si estos nuevos residuos son anormales hemos de estandarizarlos. Notemos que
var(yi y(i) ) = (i) (1 + x (X(i) X(i) )1 xi ) 2 i
23
Normal QQ Plot
40 Sample Quantiles Sample Quantiles
Normal QQ Plot
Sample Quantiles 80 40 0 40
Normal QQ Plot
20
20
30 2
10
10
Theoretical Quantiles
Theoretical Quantiles
Theoretical Quantiles
Normal QQ Plot
Sample Quantiles Sample Quantiles 20 0
Normal QQ Plot
Sample Quantiles 50 10 10 30
Normal QQ Plot
60
20 2
0 10
Theoretical Quantiles
Theoretical Quantiles
Theoretical Quantiles
Normal QQ Plot
Sample Quantiles Sample Quantiles 100 5
Normal QQ Plot
Sample Quantiles
Normal QQ Plot
10 5
50
300 2
100
50
Theoretical Quantiles
Theoretical Quantiles
Theoretical Quantiles
Figura 4.15: de modo que podemos denir los residuos jackknife como ti = var(yi y(i) ) yi y(i) = yi y(i) tnp1 ,
(i)
1 + x (X(i) X(i) )1 xi i
Puesto que cada uno de los ti sigue una distribucin conocida podemos contrastar si o tenemos una observacin anmala. En principio el procedimiento ser simplemente o o a jar un nivel de signicacin y determinar el percentil 1 de una distribucin o o 2 t de Student con n p 1 grados de libertad. Si denotamos el percentil como e tnp1,1 entonces residuos que no estn en el intervalo [tnp1,1 , tnp1,1 ] 2 2 2 ser sospechosos. Esto no es adecuado. Porque estamos analizando n residuos an estudentizados. Con uno slo s que ser aplicable el razonamiento. Tenemos un o a problema de muchos tests simultneamente considerados. Si aplicamos la correccin a o de Bonferroni tendr amos que corregir el nivel de signicacin y trabajar con o /n. Por tanto, consideramos como sospechosos aquellos residuos estandarizados que estn fuera del intervalo [tnp1,1 2n , tnp1,1 2n ]. e 24
Normal QQ Plot
1.0 Sample Quantiles Sample Quantiles 1.0
Normal QQ Plot
Sample Quantiles 0.8 0.0 0.4
Normal QQ Plot
0.6
0.2
0.2 2
0.6
Theoretical Quantiles
Theoretical Quantiles
Theoretical Quantiles
Normal QQ Plot
Sample Quantiles Sample Quantiles 0.8 0.8
Normal QQ Plot
Sample Quantiles 0.8 0.0 0.4
Normal QQ Plot
0.4
0.0
0.0 2
0.4
Theoretical Quantiles
Theoretical Quantiles
Theoretical Quantiles
Normal QQ Plot
Sample Quantiles Sample Quantiles 0.8 0.8
Normal QQ Plot
Sample Quantiles 0.8 0.0 0.4
Normal QQ Plot
0.4
0.0
0.0 2
0.4
Theoretical Quantiles
Theoretical Quantiles
Theoretical Quantiles
Figura 4.16:
Residuals vs Leverage 3
Zambia
1 Japan 0.5
Standardized residuals
Libya 0.5
Figura 4.17:
25
Nota de R 22 (Fichero notaR130) Calculamos para los datos savings los residuos estudentizados con la funcin rstudent. La pregunta que nos hacemos es si o alguno de estos residuos es muy grande o muy peque o. Comparamos el mdulo de n o los residuos estandarizados con tnp1,1 2n . #Residuos estudentizados savings.rs = rstudent(savings.lm) #Comparamos los residuos el percentil correspondiente abs(savings.rs) > qt(1-.05/(50*2),44) Un punto inuyente es aquel que cuando lo quitamos causa una modicacin o importante del ajuste. Un punto inuyente puede ser o no una observacin anmala, o o puede tener o no una alta inuencia pero tender a tener al menos una de las dos a propiedades. El estad stico de Cook es una de las maneras de medir la inuencia. Se dene como ( y(i) ) ( y(i) ) y y 1 2 hi = ri . (4.39) Di = 2 p p 1 hi Nota de R 23 (Fichero notaR129) Con los datos savings representamos las distancias de Cook (gura 4.18) y las obtenemos utilizando la funcin Cooks.distance. o Vemos Lbia, Zambia y Japn son observaciones que inuyen mucho en el ajuste. o Habra que valorar el ajuste con y sin estas observaciones. #Distancia de Cook plot(savings.lm,which=4) #fig129a #Tambin podemos ver los valores de la e # distancia de Cook cooks.distance(savings.lm)
4.9.
Hemos formulado un modelo probabil stico en donde relacionamos la variable respuesta con una serie de variables predictoras. Es claro que el experimentador introduce en el modelo como variables predictoras variables que a priori sospecha que pueden ser relevantes a la hora de predecir. Esto no quiere decir que luego podamos prescindir de alguna o algunas de ellas. Bien porque se demuestra que dicha variable no es relevante o bien porque la informacin que contiene esa variable o predictora est contenida en las otras. a Supongamos que nos planteamos el siguiente contraste de hiptesis: H0 : i1 = o . . . = ir = 0 frente a la alternativa H1 : No H0 . Si un coeciente determinado i es nulo entonces la variable respuesta Y no depender de la variable asociada a dicho a coeciente. En denitiva, la hiptesis nula considerada se podr formular diciendo o a o que la variable Y no depende de las variables xi1 , . . . , xir . Cmo contrastar las hiptesis indicadas? Se puede hacer mediante el test del cociente de verosimilitudes, o es decir, utilizando el estad stico = mx(,)0 L(, ) a mx(,) L(, ) a 26 (4.40)
Cooks distance
Libya
Cooks distance
0.15
0.20
0.25
Japan
0.10
Zambia
0.00 0
0.05
10
20
30
40
50
(0, +) : i1 = . . . = ir = 0} y = Rp (0, +). Como es habitual en un test del cociente de verosimilitudes rechazar amos la hiptesis nula si es peque o (menor o n que una cierta constante) que se prueba es equivalente a que SS(Error)0 SS(Error) SS(Error) sea grande (mayor que una cierta constante). Denotamos por SS(Error)0 la suma de cuadrados del error bajo la hiptesis nula y SS(Error) la suma de cuadrados o sobre todo el espacio paramtrico. Bajo la hiptesis nula se verica que e o SS(Error)0 SS(Error) 2 r 2 r y SS(Error) 2 np 2 (n p)
adems ambas cantidades son independientes. Por ello se verica que a F = (SS(Error)0 SS(Error) )/r Fr,np . (SS(Error) )/(n p) F > Fr,np,1 donde Fr,np,1 es el percentil 1 de una F con r y n p grados de libertad. Realmente depende la variable respuesta de alguna de las variables predictoras? Realmente nos estamos planteando la hiptesis de que todos los coecientes, salvo el o trmino constante 0 , valen cero, es decir, la hiptesis nula H0 : 1 = . . . = p1 = 0. e o En este caso tendremos que F = ((y 1n y ) (y 1n y) (y X ) (y X ))/(p 1) Fp1,np . (y X ) (y X )/(n p) 27
Como segundo caso tendr amos la situacin en que contrastamos que un solo coeo ciente vale cero, es decir, la hiptesis nula H0 : i = 0 frente a la alternativa o H1 : i = 0. Tenemos que bajo la hiptesis nula indicada o ti = i SE(i ) tnp
donde SE(i ) es el error estndar de i y viene dado en ecuacin 4.30. Se tiene, de a o hecho, que F = t2 . i Rechazaremos la hiptesis nula si o |ti | > tnp,1 2 o bien si F = t2 > F1,np,1 . i 2 Ambos procedimientos son equivalentes como se puede ver fcilmente. a Nota de R 24 (Fichero notaR131) Utilizando los datos savings podemos ver en la ultima lnea el contraste de que todas las variables predictoras tienen su coeciente asociado nulo. El p-valor es 0,0007904, es decir, es muy peque o por lo que rechazan mos la hiptesis nula. Al menos una de las variables predictoras tiene su coeciente o asociado no nulo. Cuando contrastamos la hiptesis de que cada coeciente valga cero vemos que o no podemos rechazarlo para las variables pop75 y dpi. library(faraway) data(savings) attach(savings) #Hacemos el ajuste lineal savings.lm = lm(sr~pop15+pop75+dpi+ddpi,savings) summary(savings.lm) > summary(savings.lm) Call: lm(formula = sr ~ pop15 + pop75 + dpi + ddpi, data = savings) Residuals: Min 1Q Median -8.2422 -2.6857 -0.2488 Coefficients: Estimate (Intercept) 28.5660865 pop15 -0.4611931 pop75 -1.6914977 dpi -0.0003369 ddpi 0.4096949 --Signif. codes: 0 *** Std. Error t value Pr(>|t|) 7.3545161 3.884 0.000334 *** 0.1446422 -3.189 0.002603 ** 1.0835989 -1.561 0.125530 0.0009311 -0.362 0.719173 0.1961971 2.088 0.042471 * 0.001 ** 0.01 * 0.05 . 0.1 28
3Q 2.4280
Max 9.7509
Residual standard error: 3.803 on 45 degrees of freedom Multiple R-Squared: 0.3385, Adjusted R-squared: 0.2797 F-statistic: 5.756 on 4 and 45 DF, p-value: 0.0007904
Podemos tener intervalos de conanza para cada uno de los coecientes i . i Teniendo en cuenta que SE( i) tnp entonces el intervalo de conanza al nivel i 1 para el coeciente i ser a i tnp,1 SE(i ). 2 Nota de R 25 (Fichero notaR132) Calculamos los intervalos de conanza para los coecientes de savings con la funcin connt. o confint(savings.lm) > confint(savings.lm) 2.5 % (Intercept) 13.753330728 pop15 -0.752517542 pop75 -3.873977955 dpi -0.002212248 ddpi 0.014533628
Supongamos que consideramos un vector de predictores x0 y pretendemos predecir la correspondiente media de la variable respuesta. Esta media viene dada por E[Y |x0 ] = x . 0 La estimacin de esta media es o que tiene varianza x , 0
var(x ) = x (X X)1 x0 2 . 0 0
Esta varianza la estimamos mediante var(x ) = x (X X)1 x0 2 . 0 0 Y el intervalo de conanza ser a x tnp,1 0 2 x (X X)1 x0 . 0
Supongamos que, en lugar de predecir la media de la variable respuesta para un conjunto de predictores dados, pretendemos predecir la propia variable respuesta. Recordemos que seg n nuestro modelo tenemos u Y = x + . 0 En consecuencia la prediccin de la propia observacin ser o o a x 0 29
pero hay que considerar la varianza a adida por el error de modo que la varianza n al predecir Y dado x0 ser a var(x ) + 2 0 que estimar amos como var(x ) + 2 = x (X X)1 x0 2 + 2 = (x (X X)1 x0 + 1) 2 . 0 0 0 Finalmente tendremos que el intervalo de conanza para una observacin Y que o tiene predictores x0 es el siguiente x tnp,1 0 2 x (X X)1 x0 + 1 0
Nota de R 26 (Fichero notaR133) Con los datos savings consideramos cmo o obtener las predicciones, intervalos de conanza para las medias y para las predicciones. Utilizamos los propios datos que se han utilizado para ajustar el modelo. Con la funcin predict obtenemos las predicciones as como los intervalos de conano za para las medias de las predicciones (predict con la opcin interval=condence) o y los intervalos de conanza para las observaciones (predict con la opcin intero val=prediction).
#Predicciones para los propios datos predict(savings.lm) #Intervalos de confianza para la prediccin de la media o predict(savings.lm,interval="confidence") #Intervalos de confianza para la prediccin de la observacin o o predict(savings.lm,interval="prediction")
4.10.
Seleccin de variables o
Habitualmente tenemos un gran conjunto de variables y pretendemos determinar un buen conjunto de variables. En qu sentido bueno? En primer lugar, bueno en e el sentido de sencillo. Tener pocas variables supone un modelo ms simple, ms a a fcil de entender. Es bueno tener pocas variables porque luego no tendremos que a recoger esta informacin. Es bueno porque los estimadores de los parmetros que o a intervienen en el modelo son mucho menos variables. Dos son las aproximaciones al problema de la seleccin de variables. En la primeo ra vamos comparando modelos sucesivos y, bsicamente, consideramos si los modelos a sucesivos que comparamos dieren signicativamente como modelos. En la segunda se adopta una medida de calidad global del ajuste y se plantea el problema de determinar el modelo que optimiza ese criterio global.
4.10.1.
Tres procedimientos se pueden considerar: seleccin backward, seleccin foro o ward y seleccin stepwise. En el primer procedimiento, seleccin backward o o (seleccin hacia atrs), empezamos el proceso de seleccin con un modelo en que o a o tenemos todas las variables consideradas a priori. Elegimos aquella que, cuando la quitamos, el p-valor resultante de comparar ambos modelos (completo y aquel que 30
le falta la variable considerada) es mayor. Si este p-valor es mayor que un valor previamente especicado entonces eliminamos la variable del modelo. Y as conti nuamos hasta que al eliminar una variable el p-valor correspondiente sea menor que el elegido. El procedimiento seleccin forward (o hacia adelante) empezamos con un o modelo en el cual solamente tenemos la constante. Elegimos para entrar la variable tal que cuando se incorpora el modelo cambia lo ms posible. Esto es, el p-valor es a el ms signicativo. Si el p-valor de la comparacin de los modelos es menor que a o (siempre elegido antes de iniciar el proceso de seleccin y no reajustado a lo largo del o mismo) entonces la variable entra en el modelo. Continuamos hasta que el modelo no cambia signicativamente. El procedimiento ms usado es el seleccin stepwise (hacia adelante y hacia a o atrs). Vistos los anteriores es de esperar cmo funciona este mtodo. Despus de la a o e e inclusin de una variable consideramos la posible exclusin de las variables que estn o o a en el modelo. Si es posible eliminar una lo hacemos y nos planteamos la inclusin o de la variable que produzca un cambio ms signicativo. a Nota de R 27 (Fichero notaR146) Utilizamos los datos state y aplicamos un procedimiento de seleccin backward. o data(state) statedata = data.frame(state.x77,row.names=state.abb,check.names=T) g = lm(Life.Exp~.,data=statedata) summary(g) g=update(g,.~.-Area) summary(g) g=update(g,.~.-Illiteracy) summary(g) g=update(g,.~.-Income) summary(g) g=update(g,.~.-Population) summary(g)
4.10.2.
Estamos ajustando un modelo de regresin lineal m ltiple con alg n propsito. o u u o Podemos jarnos en una medida global de calidad del ajuste y buscar la seleccin o de variables que nos da el ptimo seg n ese criterio. o u Una medida global puede ser AIC (Akaike Information Criterion) denido como AIC = 2 mx logverosimilitud + 2p. a A partir de la denicin de esta medida global es claro que un valor peque o o n indica un mejor ajuste. Nota de R 28 (Fichero notaR147) Vamos a aplicar una seleccin de variables o utilizando la optimizacin (minimizacin del AIC) con los datos state. o o Notemos que con en la funcin step podemos indicar con el argumento direction o si queremos both (stepwise), o bien backward o bien forward. 31
data(state) statedata = data.frame(state.x77,row.names=state.abb,check.names=T) g = lm(Life.Exp ~ ., data=statedata) step(g) > step(g) Start: AIC= -22.18 Life.Exp ~ Population + Income + Illiteracy + Murder + HS.Grad + Frost + Area Df Sum of Sq 1 0.001 1 0.004 1 0.005 1 1 1 1 1.747 1.847 2.441 23.141 RSS 23.298 23.302 23.302 23.297 25.044 25.144 25.738 46.438 AIC -24.182 -24.175 -24.174 -22.185 -20.569 -20.371 -19.202 10.305
Step: AIC= -24.18 Life.Exp ~ Population + Income + Illiteracy + Murder + HS.Grad + Frost Df Sum of Sq 1 0.004 1 0.006 1 1 1 1 1.760 2.049 2.980 26.272 RSS 23.302 23.304 23.298 25.058 25.347 26.279 49.570 AIC -26.174 -26.170 -24.182 -22.541 -21.968 -20.163 11.568
Step: AIC= -26.17 Life.Exp ~ Population + Income + Murder + HS.Grad + Frost Df Sum of Sq 1 0.006 1 1 1 1 1.887 3.037 3.495 34.739 RSS 23.308 23.302 25.189 26.339 26.797 58.041 AIC -28.161 -26.174 -24.280 -22.048 -21.187 17.457
Step: AIC= -28.16 Life.Exp ~ Population + Murder + HS.Grad + Frost Df Sum of Sq <none> - Population 1 2.064 - Frost 1 3.122 - HS.Grad 1 5.112 RSS 23.308 25.372 26.430 28.420 AIC -28.161 -25.920 -23.876 -20.246 32
- Murder
34.816
58.124
15.528
Call: lm(formula = Life.Exp ~ Population + Murder + HS.Grad + Frost, Coefficients: (Intercept) Population 7.103e+01 5.014e-05
data = statedata)
Murder -3.001e-01
HS.Grad 4.658e-02
Frost -5.943e-03
###Utilizamos stepAIC de la librer~a MASS A library(MASS) data(state) statedata = data.frame(state.x77,row.names=state.abb,check.names=T) g = lm(Life.Exp ~ ., data=statedata) stepAIC(g) #Se obtiene el mismo resultado.
4.11.
Algunos ejemplos
Terminamos el tema con algunos ejemplos. Nota de R 29 Son unos datos sobre el abuln. Es un molusco. Se trata de predecir o su edad a partir de una serie de caractersticas fsicas. Los datos se pueden encontrar en http://www.liacc.up.pt/ ltorgo/Regression/DataSets.html. La edad del abaln se calcula habitualmente cortando la concha y contando el o nmero de anillos utilizando un microscopio. Es una tarea bastante laboriosa. Se u pretende predecir la edad del animal utilizando distintas medidas que son ms fciles a a de obtener. Vemos cmo quitando un par de observaciones con un leverage alto el ajuste o mejora. #Regresin mltiple o u x= read.table(file="../data/abalone.dat",sep=",") attach(x) xnam <- paste("V", 1:8, sep="") (fmla <- as.formula(paste("y ~ ", paste(xnam, collapse= "+")))) y = log(x[,9]) y.fit = lm (fmla,data=x) summary(y.fit) plot(y.fit) x=x[-2052,] attach(x) 33
xnam <- paste("V", 1:8, sep="") (fmla <- as.formula(paste("y ~ ", paste(xnam, collapse= "+")))) y = log(x[,9]) y.fit = lm (fmla,data=x) summary(y.fit) plot(y.fit) x=x[-1418,] attach(x) xnam <- paste("V", 1:8, sep="") (fmla <- as.formula(paste("y ~ ", paste(xnam, collapse= "+")))) y = log(x[,9]) y.fit = lm (fmla,data=x) summary(y.fit) plot(y.fit)
Nota de R 30 (Fichero notaR140) Se trata de unos datos utilizados para reducir costes de produccin. En concreto se pretende valorar el consumo de agua o en una fbrica. Se tiene el consumo de agua en distintos meses (en galones) como a variable respuesta. Las variables predictoras seran la temperatura media en el mes, la produccin (en libras), nmero de das que ha funcionado la fbrica durante ese o u a mes, nmero de personas trabajando. Los datos han sido obtenidos en la pgina u a http://www.statsci.org/data/general/water.html.
x=read.table(file="../data/agua.txt",header=T) attach(x) a.lm = lm(agua ~ temperatura + produccion + dias + personas) summary(a.lm) #Introducimos un trmino cuadrtico y otro cbico en la produccin. e a u o b.lm = lm(agua ~ temperatura + poly(produccion,3) + dias + personas) summary(b.lm) #Diagnstico del modelo o plot(a.lm) #Intervalo de confianza para observaciones predict(a.lm,interval="prediction") #Intervalo de confianza para la media predict(a.lm,interval="confidence")
34
Nota de R 31 (Fichero notaR141) Las variables son las siguientes: Variable Description M percentage of males aged 14-24 So indicator variable for a southern state Ed mean years of schooling Po1 police expenditure in 1960 Po2 police expenditure in 1959 LF labour force participation rate M.F number of males per 1000 females Pop state population NW number of nonwhites per 1000 people U1 unemployment rate of urban males 14-24 U2 unemployment rate of urban males 35-39 GDP gross domestic product per head Ineq income inequality Prob probability of imprisonment Time average time served in state prisons Crime rate of crimes in a particular category per head of population Se pretende predecir la variable Crime a partir de las dems. Se proponen dos a modelos y se ve que no hay diferencias signicativas entre ellos. x= read.table(file="../data/uscrime.txt",header=T) attach(x) crime.lm = lm(Crime ~ M + So + Ed + Po1 + Po2 + LF + M.F + Pop + NW + U1 + U2 + GDP + Ineq + Prob + Time) summary(crime.lm) crime.lm2 <- lm(Crime~M+Ed+Po1+U2+Ineq+Prob)
35
36
Cap tulo 5
Anlisis cluster a
En este tema vamos a tratar lo que en la literatura estad stica recibe el nombre de anlisis cluster 1 o, en mejor castellano, anlisis de conglomerados. En la literatura a a de Inteligencia Articial se utiliza la expresin clasicacin no supervisada. Tenemos o o una muestra de observaciones multivariantes de dimensin d. Qu pretendemos o e hacer con ellos? Encontrar grupos. Muy breve la respuesta pero: qu son grupos? e Imaginemos una imagen area ja de un patio de un colegio. En esta imagen los e datos son las posiciones de los ni os. Se agrupan los ni os formando grupos o n n todos estn jugando con todos y los grupos son una consecuencia pasajera del juego a (delanteros y defensas que aparecen agrupados en un ataque)? Parece claro y simple el problema. S lo parece. Qu es un grupo? Cmo , e o deno un grupo? Cuntos grupos distingo en los datos? Estamos viendo el efecto a del ruido o realmente hay una estructura debajo que la vemos en un entorno con ruido. Qu quiere decir encontrar grupos? Se trata de clasicar las observaciones en e grupos de modo que las observaciones de un mismo grupo sean lo ms similares que a podamos y que los grupos entre s sean muy distintos. El n mero de procedimientos u que se han propuesto en la literatura es muy grande. La mayor parte de ellos no tienen un modelo probabil stico debajo, no son procedimientos basados en modelo. Son mtodos que esencialmente utilizan el concepto de proximidad. Valoran de distintas e formas lo prximos, lo cercanos que estn los puntos, dentro de un mismo grupo o a y entre distintos grupos. Es pues, el primer punto a tratar: cmo cuanticamos o lo cerca o lejos que estn los distintos puntos? En la seccin 5.1 nos ocupamos de a o este punto. Tambin ser necesario, como veremos en el tema, valorar cuando dos e a conjuntos de puntos son ms o menos parecidos, proximos, similares. En la misma a seccin nos ocupamos de ello. Supongamos que ya hemos clasicado en distintos o grupos. Hemos tenido xito al hacerla? Cuando tenemos un anlisis discriminante e a tenemos una muestra donde sabemos a qu grupo pertenece el individuo y dnde lo e o hemos clasicado. Esto nos permit valorar si nuestro procedimiento clasica bien a o no. Aqu no vamos a tener esta referencia que nos da la muestra de entrenamien to. Cmo valorarlo? Un concepto conocido por silueta y debido a Rousseeuw [10] o nos va a servir para ello. No es ni tan simple ni tan satisfactorio como en anlisis a discriminante (como es de esperar si tenemos menos informacin para trabajar). Lo o estudiamos en la seccin 5.4. o Entre los muchos procedimientos de obtener los grupos a partir de los datos, los ms utilizados son dos tipos: procedimientos jerrquicos y mtodos de partia a e cionamiento. De los jerrquicos nos ocupamos en la seccin 5.2. El mtodo de las a o e k-medias y el mtodo de las k-mediodes (el castellano como siempre es muy sufrido e
1 Por
pues no existe la palabra) son mtodos de particionamiento y los tratamos en la e seccin 5.3. o Empezamos viendo un conjunto de datos que nos sugieran el problema y cmo o tratarlo. Nota de R 32 (Fichero notaR109) Generamos dos tres muestras correspondientes a distribuciones bivariates normales. La matriz de covarianzas vamos a suponer que es la matriz identidad. Los vectores de medias son 1 = c(1, 1), 2 = c(3, 3) y 2 = c(7, 7). Es resumen un vector Xi Nd (i , I22 . Vamos a generar cien datos de cada grupo. Vamos a utilizar la librera [? ] para simular las distintas normales bivariantes. Como podemos ver en la gura 5.1. Se ve que hay tres grupos pero estos no estan muy claramente delimitados. Nosotros no disponemos de esta informacin. o Conocemos los valores que componenten los vectores de datos pero no conocemos a qu grupo podra pertenecer una observacin de las consideradas. Tampoco tenemos e o porqu tener prejado el nmero de cluster. Los datos son articiales pero ilustra e u perfectamente el tipo de datos y lo que pretendemos hacer con ellos. library(mvtnorm) limite.x = c(-1,8) limite.y = limite.x x1= rmvnorm(n=100, mean=c(1,1)) x2= rmvnorm(n=100, mean=c(3.3,4.1)) x3= rmvnorm(n=100, mean=c(6,5.5)) if(dib) postscript(file="fig109a.ps",horizontal=F) plot(x1,xlim=limite.x,ylim=limite.y) points(x2,pch=2) points(x3,pch=3) if(dib) dev.off()
Una referencia muy adecuada que se puede consultar es el texto de [10]. Cualquier texto de reconocimiento de patrones es adecuado. En lo que sigue vamos a basarnos fundamentalmente en la librer cluster [12]. a
5.1.
Disimilaridades
Empezamos tratando el problema de cuanticar el grado de proximidad, de similaridad entre dos puntos en el espacio de dimensin d. Tradicionalmente este o tema en Matemticas se ha formalizado a travs del concepto de distancia o mtrica. a e e Una mtrica es una funcin que a cada par de puntos x, y Rd le asocia un valor e o positivo de modo que cuando mayor es ms distantes son, ms alejados estn. Como a a a siempre la formalizacin matemtica de un concepto intuitivo ha de ser prudente o a y pedir que se veriquen ciertos axiomas que resulten razonables y generalmente admisibles. En concreto la funcin d denida en el espacio producto Rd Rd se dice o que es una mtrica si verica: e No negativa d(x, y) 0. Un punto dista 0 de s mismo d(x, x) = 0. Simetr d(x, y) = d(y, x). a 2
x1[,2] 0 2
2 x1[,1]
Figura 5.1: Desigualdad triangular d(x, z) d(x, y) + d(y, z), para todo x, y, z Rd . Las distancias ms habitualmente utilizadas en anlisis cluster son la distancia a a eucl dea y la distancia de Manhattan. Si tenemos dos vectores u e v entonces la distancia eucl dea se dene como
d
d(u, v) =
k=1
(uk vk )2 ,
(5.1)
d(u, v) =
k=1
|uk vk |.
(5.2)
Las distancias eucl dea y de Manhattan son adecuadas cuando trabajamos con variables continuas y que adems estn en una misma escala. Notemos que cada una a e de las componentes del vector pesan igualmente. Si tenemos variables que no estn a igualmente escaladas estas distancias pueden pesar ms unas variables que otras no a por lo diferentes que sean entre los individuos sino simplemente por su escala. Nota de R 33 (Fichero notaR110) En este ejemplo generamos datos 100 datos con cada una de tres distribuciones normales. La matriz de covarianzas es la misma y cambiamos el vector de medias. Se utiliza la funcin dist que permite utilizar o ms distancias. En particular, utilizamos la distancia eucldea y la distancia de a Manhattan. Repetimos el clculo utilizando la funcin daisy de la librera cluster. a o Tambin calculamos las matrices de distancias para las datos agriculture y pluton. e 3
library(mvtnorm) x1= rmvnorm(n=100, mean=c(1,1)) x2= rmvnorm(n=100, mean=c(3.3,4.1)) x3= rmvnorm(n=100, mean=c(6,5.5)) x = rbind(x1,x2,x3) #Distancia eucldea dist(x,method = "euclidean") #Distancia de Manhattan dist(x,method = "manhattan") #Con la funcin daisy de cluster o library(cluster) daisy(x, metric = "euclidean", stand = FALSE) daisy(x, metric = "manhattan", stand = FALSE) data(agriculture) daisy(agriculture, metric = "euclidean", stand = FALSE) data(pluton) daisy(pluton, metric = "euclidean", stand = FALSE)
Con mucha frecuencia nos encontramos trabajando con variables que a n siendo u continuas estn medidas en escalas muy diversas o bien tenemos variables que son a continuas, otras que son binarias, otras categricas con ms de dos categor o bien o a as variable ordinales. En resumen, todos los posibles tipos de variables simultneamena te considerados. Es lo habitual. Una variable binaria la codicamos habitualmente como 1 y 0 indicando presencia o ausencia del atributo que estemos considerando. En una variable categrica la codicacin es completamente arbitraria y por lo tanto o o no tiene sentido la aplicacin de una de estas distancias. o Todo esto plantea el hecho de que no es recomendable, ni tampoco fcil, en un a banco de datos con distintos tipos de variables considerar una mtrica o distancia, e esto es, algo que verique las propiedades anteriores. Son demasiado exigentes estas propiedades. Lo que se hace es proponer medidas entre los vectores de caracter sticas que tienen algunas de las propiedades y son, adems, razonables. Por ello no a hablaremos, en general, de una distancia o una mtrica, sino de una medida de e disimilaridad. Finalmente, valores grandes estarn asociados con vectores de caraca ter sticas que tienen una mayor diferencia. Se han propuesto distintas medidas de disimilaridad entre variables cualitativas (binarias simtricas o asimtricas, cualie e tativas, ordinales) y cuantitativas. En lo que sigue comentamos con alg n detalle u la que lleva la funcin daisy de la librer cluster. Es una opcin muy genrica y o a o e razonable. Vamos a ir viendo cmo se plantea el problema cuando solo tenemos un tipo de o variable no cuantitativa y nalmente veremos como combinarlo todo en una sola medida de disimilaridad. Supongamos descrita al individuo o caso mediante d variables binarias. Es natural construir la tabla de contingencia 2 2 que aparece en la tabla 5.1 donde las las corresponden con el individuo i y las columnas con el individuo j. Estamos denotando por A el n mero de variables en que coinciden los dos indiviu duos con un valor uno de la variable correspondiente, con B lo mismo pero valiendo 4
Cuadro 5.1: Conteos asociados a dos casos descritos por variables binarias 1 0 1 A C A+C 0 B D B+D A+B C+D d=A+B+C+D
cero la correspondiente variable. El total de variables es d = A + B + C + D. Basndonos en esta tabla se pueden denir distintas medidas de disimilaridad. a Vamos a considerar una para el caso de variables binarias simtricas y otra para e variables no simtricas. Una variable binaria es simtrica cuando las dos categor e e as que indica son intercambiables, cuando no tenemos una preferencia especial en qu e resultado lo codicamos como 1 y qu resultado codicamos como 0. Un ejemplo e frecuente es el sexo de la persona. Si las variables son todas binarias simtricas es e natural utilizar como disimilaridad el coeciente de acoplamiento simple denido como B+C A+D d(i, j) = =1 . A+B+C +D A+B+C +D La interpretacin de esta medida de disimilaridad es simple. Dos individuos son o tanto ms disimilares cuantas ms variables binarias tienen distintas. Notemos que a a la presencia o ausencia de un atributo tienen el mismo peso. Supongamos que las variable que describen al individuo son binarias asimtrie cas. Ejemplos de esto pueden ser la presencia o ausencia de un atributo muy poco frecuente. Por ejemplo, tener o no tener sida. Dos personas que tienen el sida, tienen ms es com n, estn ms prximas, que dos personas que no lo tienen. Supongamos a u a a o que codicamos el atributo menos frecuente como 1 y el ms frecuente como 0. Est a a claro que un acoplamiento 1-1 o acoplamiento positivo es ms signicativo que un a acoplamiento negativo o acoplamiento 0-0 por lo que A, n mero de acoplamientos u positivos, ha de tener ms peso que d o n mero de acoplamientos negativos. El ms a u a conocido es el coeciente de Jaccard que se dene como d(i, j) = A B+C =1 . A+B+C A+B+C
Vemos que simplemente nos olvidamos de los acoplamientosnegativos. Para variables categricas donde hay ms de dos categor (color de pelo, eso a as tado civil, tipo de alimentacin, etc). En este caso, la medida de disimilaridad ms o a utilizada es el n mero de variables en las que no coinciden los dos individuos, es u decir, du d(i, j) = , d donde d es el n mero de variables y u es el n mero de variables en las que coinciden u u los dos individuos. Finalmente veamos cmo tratar las variables ordinales. Lo que haremos para o variables de este tipo es transformarlas al intervalo [0, 1]. Si xij denota la j-sima e variable del i-simo individuo entonces consideramos la transformacin e o yik = xik 1 Mk 1
siendo 1, . . . , Mk los valores que puede tomar la j-sima variable ordinal. Lo que e estamos haciendo con este procedimiento es transformar la variable ordinal es una variable numrica con una escala com n. En la medida en que el n mero de catee u u gor sea mayor esta transformacin tendr ms sentido. as o a a 5
Hemos visto cmo tratar cada tipo de variable aisladamente. El problema es o combinar todas ellas en una sola medida de disimilaridad. La funcin daisy de o cluster utiliza la siguiente medida. d(i, j) =
(k) (k) (k) d k=1 ij dij , (k) d ij k=1
(5.3)
donde ij vale uno cuando las medidas xik y xjk no son valores faltantes y cero e en otro caso. ij vale 0 cuando la variable k es binaria asimtrica y tenemos entre los individuos i y j un acoplamiento 0-0. El valor dij es lo que contribuye a la disimilaridad entre i y j la variable f . Si la variable k es binaria o categrica entonces o (k) dij es denida como dij = 1 si xik = xjk y 0 en otro caso. Si todas las variables son categricas entonces 5.3 nos da el n mero de acoplamientos o u del total de pares disponibles, en denitiva, el coeciente de acoplamiento simple. Si todas son variables binarias simtricas entonces obtenemos otra vez el coeciente de e acoplamiento simple. Si las variables son binarias asimtricas entonces obtenemos e el coeciente de Jaccard. Si una variable es numrica entonces e dij =
(k) (k) (k) (k)
|xik xjk | Rk
donde h var entre todos los individuos con valor no faltante de la variable k. a Cuando todas las variables con las que trabajamos son numricas la medida de e disimilaridad es la distancia de Manhattan. Nota de R 34 (Fichero notaR111) Un ejemplo de clculo de la medida de dia similaridad propuesta en 5.3 con la funcon daisy para los datos ower. En estos datos tenemos todos los tipos de variables posibles.
Tenemos una matriz de dimensin n n siendo n el n mero de datos que recoge o u las disimilaridades entre los distintos individuos de la muestra. A partir de esa matriz vamos a trabajar en los procedimientos jerrquicos. a Con esta matriz podemos medir la disimilaridad que hay entre los elementos originales de la muestra. Vamos a necesitar en lo que sigue poder medir distancias entre distintos conjuntos disjuntos de individuos. Sean A y B dos subconjuntos disjuntos del conjunto de ndices de la muestra {1, . . . , n}. Cmo podemos denir o disimilaridades partiendo de las disimilaridades entre datos individuales d(i, j)? Se han propuesto muchos procedimientos. Si denotamos la disimilaridad entre A y B como d(A, B) entonces las disimilaridades ms habitualmente utilizadas son las a siguientes: 6
Enlace simple La disimilaridad entre los dos grupos es el m nimo de las disimilaridades entre las observaciones de uno y de otro. Tomamos la disimilaridad de los objetos que ms se parecen en uno y otro grupo. a d(A, B) =
aA,bB
m n
d(a, b)
Enlace completo Ahora tomamos como disimilaridad entre los grupos como el mximo de las disimilaridades, en denitiva, la disimilaridad entre los objetos a ms alejados o ms distintos. a a d(A, B) =
aA,bB
mx d(a, b) a
Promedio La disimilaridad es el promedio de las disimilaridades entre todos los posibles pares. 1 d(A, B) = d(a, b) |A| |B|
aA,bB
donde |A| es el cardinal del conjunto A. Es importante notar que solamente necesitamos conocer las disimilaridades entre los individuos para poder calcular las disimilaridades entre grupos de individuos. En la siguiente seccin nos vamos a ocupar de los mtodos jerrquicos en los o e a cuales es fundamental el procedimiento que elijamos para calcular distintas entre grupos.
5.2.
Cluster jerrquico a
La idea de estos procedimientos es construir una jerarqu de particiones del a conjunto de ndices. Sea {1, . . . , n} el conjunto de ndices que indican a las distintas observaciones o individuos de nuestro banco de datos. Supongamos que {C1 , . . . , Cr } es una particin de este conjunto de o ndices, es decir: Ci {1, . . . , n}; son disjuntos dos a dos, Ci Cj = si i = j con i, j = 1, . . . , n y r Ci = {1, . . . , n}. Dada una partii= cin del conjunto de o ndices podemos calcular la matriz r r que en la posicin o (i, j) tiene la disimilaridad entre el conjunto Ci y Cj , d(Ci , Cj ) seg n alguno de los u procedimientos antes indicados. Veamos los procedimientos jerrquicos aglomerativos. En estos procedimientos a vamos a iniciar el agrupamiento con la particin: Ci = {i} con i = 1, . . . , n, es o decir, cada grupo es un individuo. En cada iteracin vamos agrupando el par de o conjuntos (elementos de la particin que tengamos en esa iteracin) que estn ms o o e a prximos seg n la disimilaridad entre grupos que estemos utilizando. El proceso o u contin a hasta que tengamos un unico grupo. u Un esquema algor tmico del procedimiento indicado puede ser el siguiente. Paso 0 Tenemos grupos unitarios formados por cada una de las observaciones. Tenemos pues una particin inicial Ci = {i} con i = 1, . . . , n. En un principio, o cada dato es un grupo. Paso 1 Calculamos las disimilaridades entre los elementos de la particin. Para ello o utilizamos cualquiera de los procedimientos antes indicados. Paso 2 Agrupamos los dos conjuntos de la particin ms prximos y dejamos los o a o dems conjuntos igual. Tenemos ahora Ci = {i} con i = 1, . . . , k. a Paso 3 Si tenemos un solo conjunto en la particin paramos el procedimiento. o 7
Paso 4 Volvemos al paso 1. Hay una representacin grca muy utilizada para describir los resultados de o a un cluster jerrquico aglomerativo como el que acabamos de describir. Esta reprea sentacin tiene el nombre de dendograma. En el dendograma se va mostrando o a qu valor de la medida de disimilaridad se produce la unin de los grupos y sie o multneamente qu grupos se estn uniendo para esa disimilaridad. Tambin nos a e a e permite una valoracin rpida de cuntos grupos puede haber en el banco de datos. o a a Simplemente trazando una linea horizontal a la altura en que tengamos el n mero u de grupos que pensamos que puede haber. Nota de R 35 (Fichero notaR113) Aplicamos un procedimiento de particionamiento de las k-medias con el algoritmo de Hartigan-Wong [8]. Vemos que como resultado tenemos la clasicacin nal de cada individuo en un grupo, el vector de o medias de cada grupo que son los centros de los grupos. Como medida de lo compactos que son los grupos encontrados tenemos tambin la suma de cuadrados de cada e grupos. Notemos que la suma de todos estos cuadrados es la que hemos minimizado imponiendo simplemente el nmero total de grupos. u x=read.table("..//data//descriptores.txt") y = x[,2:ncol(x)] #Aplicamos k-medias con algoritmo de Hartigan-Wong y.km = kmeans(y,centers=5,iter.max=100) #Clasificacin de los primeros datos o y.km$cluster[1:10] #Centros de los clusters encontrados y.km$cluster[1:10] #Sumas de cuadrados dentro de cada grupo y.km$withinss #Tama~o de los clusters n y.km$size
Un procedimiento jerrquico aglomerativo tiene inters cuando el banco de datos a e no tiene muchos individuos. En otro caso es muy dif de interpretar un dendocil grama o de seleccionar el n mero de grupos que hay. En todo caso lo hemos de ver u como un anlisis exploratorio para decidir el n mero de grupos y posteriormente a u utilizar alg n mtodo de particionamiento como los que vamos a ver. u e
5.3.
Mtodos de particionamiento e
Suponemos ahora que tenemos una idea de cuntos grupos hay. Posiblemente a hemos realizado un anlisis jerrquico previo con todos los datos o, si eran muchos, a a con una seleccin aleatoria de los datos. Tenemos pues una idea de cuntos grupos o a tendremos que considerar. Obviamente podemos luego evaluar los resultados modicando el n mero de grupos. En principio, vamos a suponer que jamos el n mero u u de grupos a considerar. Suponemos pues que sabemos el n mero de grupos y lo u denotamos por k. 8
5.3.1.
El primer procedimiento que vamos a ver es el mtodo de las k-medias (que por e alguna extra a razn en la literatura de Inteligencia Articial se le llama de las n o c-medias lo que demuestra que cada persona copia a sus amigos o, simplemente, conocidos). Supongamos que tenemos C1 , . . . , Ck una particin de {1, . . . , n}. Un o modo bastante natural de valorar la calidad de del agrupamiento que la particin o nos indica ser simplemente considerar la siguiente funcin. a o
k
d(xj , xCi )2 ,
i=1 jCi
(5.4)
(5.5)
es el vector de medias del grupo cuyos ndices estn en Ci . Una particin ser tanto a o a mejor cuanto menor sea el valor de la funcin dada en 5.4. El procedimiento de o agrupamiento de las k-medias simplemente se basa en elegir como particin de los o datos aquella que nos da el mnimo de la funcin objetivo considerada en ecuacin o o 5.4. Notemos que en muchos textos se hablan del algoritmo de las k-medias y se identica con un procedimiento concreto para encontrar el m nimo de la funcin. o Aqu entendemos el procedimiento como la minimizacin de la funcin objetivo. o o De hecho, R ofrece hasta cuatro posibles procedimientos de los muchos que cabe proponer. Hay que diferenciar claramente el procedimiento del mtodo de aplicacin e o del mismo, del mtodo de obtencin de dicho m e o nimo. Es importante darnos cuenta de que el procedimiento que acabamos de ver est a basado en la utilizacin de la distancia eucl o dea y en que, dado un grupo, podemos calcular el vector de medias y esto solo lo podemos hacer si todas las variables son cuantitativas. Es un procedimiento que funciona muy bien con grandes vol menes u de datos.
5.3.2.
Y si no podemos calcular el vector de medias? Y si no tiene sentido calcular el vector de medias? Cmo promediar dos conguraciones de puntos distintas? Cmo o o promediamos dos formas distintas descritas numricamente? Cuando el concepto de e promedio aritmtico no tiene sentido podemos generalizar el procedimiento anterior e y hablar de (perdn por el neologismo) de k-mediodes (que Dios nos perdone!). o La idea ahora es sustituir esos centros calculados como vectores de medias de los individuos de un mismo grupo por individuos bien centrados, por individuos t picos, que sustituyan a las medias. Supongamos que tomamos k individuos de la muestra que denotamos por mi con i = 1, . . . , k. Particionamos la muestra en k grupos de modo que el grupo Ci est formado por los individuos ms prximos a mi que a cualquier otro mj con a a o j = i, Ci = {l : d(l, i) = m d(l, j)}. n
j=i
d(j, mi ).
i=1 jCi
(5.6)
En el mtodo de particionamiento alrededor de los mediodes nos planteamos ene contrar las observaciones m1 , . . . , mk que minimizan el valor dado en la ecuacin o 5.6. Nota de R 36 (Fichero notaR114) Aplicamos a los datos descriptores (descriptores de una base de datos de imgenes digitales) un procedimiento de k-mediodes a con el mismo nmero de grupos que utilizamos en 35. u x=read.table("..//data//descriptores.txt") y = x[,2:ncol(x)] y.med = pam(y,5) y.med$medoids
5.4.
Silueta
Veamos cmo se construye la silueta. Para cada objeto i, sea A el cluster al cual o lo ha asignado el procedimiento cluster que empleamos y calculamos a(i) la disimilaridad media de i con todos los dems individuos del grupo A. Obviamente estamos a asumiendo que A contiene al menos otro objeto. Consideremos ahora un cluster C diferente de A y denamos d(i, C) como la disimilaridad media de i con los objetos de C. Despus de calcular d(i, C) para todos los clusters C = A, seleccionamos el e que tiene el m nimo valor: b(i) = m d(i, C). n
C=A
El cluster B donde se alcanza este m nimo, es decir, d(i, B) = b(i) se le llama vecino del objeto i. Denimos s(i) como s(i) a(i) si a(i) < b(i), b(i) = 0 si a(i) = b(i), b(i) = 1 si a(i) > b(i). a(i) = 1 (5.7) (5.8) (5.9)
Esto se puede expresar en una unica ecuacin como o s(i) = b(i) a(i) . mx{a(i), b(i)} a
En el caso en que el cluster A contenga un unico objeto no est muy claro cmo a o denir a(i). Tomaremos s(i) = 0 que es una eleccin arbitraria. Se comprueba con o facilidad que 1 s(i) 1 para cualquier objeto i. Para interpretar el signicado de s(i) es bueno ver los valores extremos. Si s(i) es prximo a uno signica que a(i) es mucho menor que b(i) o lo que es lo mismo, o que el objeto i est bien clasicado pues la disimilaridad con los de su propio grupo a es mucho menor que la disimilaridad con los del grupo ms prximo que no es el a o suyo. Un valor prximo a cero signica que a(i) y b(i) son similares y no tenemos o muy claro si clasicarlo en A o en B. Finalmente un valor de s(i) prximo a 1 o signica que a(i) es claramente mayor que b(i). Su disimilaridad media con B es menor que la que tiene con A. Estar mejor clasicado en B que en A. No est a a bien clasicado. 10
Cuadro 5.2: Silueta media y estructura en un conjunto de datos SC 0,71 1,00 0,51 0,70 0,26 0,50 0,25 Interpretacin o Fuerte estructura Estructura razonable Estructura dbil. Probar otros mtodos e e No se encuentra estructura
Los valores de s(i) aparecern representados para cada cluster en orden decrea ciente. Para cada objeto se representa una barra horizontal con longitud proporcional al valor s(i). Una buena separacin entre grupos o cluster viene indicada o por unos valores positivos grandes de s(i). Adems de la representacin grca se a o a proporciona un anlisis descriptivo. En concreto la media de los valores de la silueta a dentro de cada cluster y la media de la silueta para todo el conjunto de datos. La clasicacin ser tanto mejor cuanto mayor sean estos valores medios. De hecho, se o a puede decidir el n mero de grupos en funcin del valor medio de las silueta sobre u o toda la muestra. Vamos probando distintos n meros de grupos y nos quedamos con u el n mero que nos da el mximo dado por u a SC = mx s(k). a
k
(5.10)
Cundo podemos decir que hay estructura de grupos en los datos que estamos a analizando? Experiencias con datos sugieren la tabla 5.2. Nota de R 37 (Fichero notaR115) Utilizamos los datos descriptores. Hemos aplicado una particionamiento alrededor de los mediodes con cinco grupos. Hacemos una descriptiva de la silueta obtenida en la clasicacin utilizando la funcin o o summary. Vemos que los resultados son realmente malos. No hay estructura cluster de ningn tipo. Tambin podemos utilizar la representacin grca de la silueta que u e o a aparece en la gura 5.2. Nuevamente se aprecia que no es adecuado el anlisis que a hemos realizado.
x=read.table("..//data//descriptores.txt") y = x[,2:ncol(x)] y.med = pam(y,5) #Hacemos la silueta y.si = silhouette(y.med) summary(y.si) > summary(y.si) Silhouette of 5773 units in 5 clusters from pam(x = y, k = 5) : Cluster sizes and average silhouette widths: 1130 385 1694 1444 1120 0.29803506 0.36812793 0.14175502 0.29011448 0.09241103 Individual silhouette widths: Min. 1st Qu. Median Mean 3rd Qu. Max. -0.3259 0.1022 0.2019 0.2150 0.3231 0.5523
11
2 : 385 | 0.37
3 : 1694 | 0.14
4 : 1444 | 0.29
5 : 1120 | 0.09
0.8
1.0
Figura 5.2:
Nota de R 38 (Fichero notaR116) Analizamos los datos Ruspini, muy conocidos en la literatura de anlisis cluster. Primero se hace un particionamiento alrea dedor de los k-mediodes con cuatro grupos. La gura 5.3 muestra los resultados. Despus hacemos un anlisis jerrquico aglomerativo y observamos la silueta con e a a cinco y con dos grupos. Ver guras 5.4 and 5.5 respectivamente.
data(ruspini) pr4 <- pam(ruspini, 4) str(si <- silhouette(pr4)) (ssi <- summary(si)) plot(si) # silhouette plot
## Silueta con un cluster jerrquico a ar <- agnes(ruspini) #Se utilizan 5 grupos si3 <- silhouette(cutree(ar, k = 5), daisy(ruspini)) plot(si3, nmax = 80, cex.names = 0.5) ## Repetimos el anlisis anterior con dos grupos a si4 <- silhouette(cutree(ar, k = 2), daisy(ruspini)) 12
1 : 20 | 0.73
2 : 23 | 0.75
3 : 17 | 0.67
4 : 15 | 0.80
0.8
1.0
Figura 5.3:
5 clusters Cj j : nj | aveiCj si
1 : 20 | 0.71
2 : 23 | 0.74
0.0
0.2
0.4
0.6
0.8
1.0
Figura 5.4:
5.5.
Algunos ejemplos
Para acabar el tema inclu mos algunos ejemplos de anlisis cluster. a Nota de R 39 (Fichero notaR135) Veamos un ejemplo de anlisis cluster. Los a datos proceden de la siguiente pgina web: http://www.uni-koeln.de/themen/Statistik/data/cluster/. a 13
2 clusters Cj j : nj | aveiCj si
1 : 35 | 0.58
2 : 40 | 0.59
0.0
0.2
0.4
0.6
0.8
1.0
Figura 5.5: Tenemos cuatro variables que nos dan las puntuaciones obtenidas en 25 escuelas de New Haven en aritmtica y lectura al principio del cuarto curso y al principio e del sexto curso. Hacemos un anlisis cluster jerrquico. Observando el dendograma parece razoa a nable considerar tres grupos. Aplicamos un particionamiento alrededor de los mediodes con tres grupos y valoramos el resultado. Si probamos con dos o cuatro vemos que no mejora el resultado global del anlisis a cluster.
#Datos achieve library(cluster) x= read.table(../data/achieve.txt) names(x) = c("centro","lec4","aritme4","lec6","aritme6") attach(x) y = x[,2:ncol(x)] y.ag = agnes(y) plot(y.ag) #Parece que hay tres grupos y.pam = pam(y,3) summary(y.pam)
y.si = silhouette(y.pam) plot(y.si) #Parece que los dos ltimos grupos no estn bien definidos. u a 14
y.si = silhouette(y.pam) plot(y.si) #Repetimos el anlisis con k-medias y comparamos con k-mediodes a y.pam = pam(y,3) y.km = kmeans(y,3) table(y.pam$cluster,y.km$cluster)
Nota de R 40 (Fichero notaR136) Veamos un ejemplo de anlisis cluster. Los a datos proceden de la siguiente pgina web: http://www.uni-koeln.de/themen/Statistik/data/cluster/. a Los datos son las tasas de nacimiento y muerte en 70 pases. Observemos que los datos se leen desde un chero de SPSS por lo que hay que usar la librera foreign [2]. Hacemos un anlisis cluster jerrquico. Observando el dendograma parece razoa a nable considerar tres grupos. Aplicamos un particionamiento alrededor de los mediodes con tres grupos y valoramos el resultado. Si probamos con dos o cuatro vemos que no mejora el resultado global del anlisis a cluster.
#Datos achieve library(cluster) library(foreign) x= read.spss(../data/birth.sav,to.data.frame=T) names(x) = c("country","birth","death") attach(x) y = x[,2:ncol(x)] y.ag = agnes(y) plot(y.ag)
15
y.si = silhouette(y.pam) plot(y.si) #Parece que los dos ltimos grupos no estn bien definidos. u a #Vamos a probar con distintos nmero de grupos. u
y.si = silhouette(y.pam) plot(y.si) #Repetimos el anlisis con k-medias y comparamos con k-mediodes a y.pam = pam(y,2) y.km = kmeans(y,2) table(y.pam$cluster,y.km$cluster)
16
Cap tulo 6
utilizado en el contexto de la Informtica de clasicacin supervisada. a o Nota de R 41 (Fichero notaR102) Tenemos pacientes de los cuales se conocen algunas variables obtenidas de un anlisis de orina. En concreto las variables nos a dan la gravidez especca (grav), la osmolaridad (osmo), la conductibilidad (con duc), la concentracin de urea (urea) y la concentracin de calcio (calcio). Tambin o o e tenemos una variable que nos indica la presencia o ausencia de cristales en la orina del individuo (grupo donde 1 indica ausencia y 2 indica presencia). El problema que nos planteamos es dise ar un procedimiento de clasicacin de modo que, dado el n o vector de caractersticas de la orina, nos permita clasicar a un individuo en uno de los dos posibles grupos, esto es, que va a desarrollar cristales en la orina o no. En el dise o del procedimiento pretendemos utilizar la informacin que ya tenemos, n o esto es, conocemos para una serie de individuos si tiene o no cristales y los vectores de caractersticas asociados. En una observacin futura tendremos el vector de o caractersticas pero no conoceremos la clasicacin. o
library(foreign) #Leemos los datos de un fichero SPSS x = read.spss(file=../data/cristal.sav,to.data.frame=T) #No estaba bien definido el dato faltante x[x==-1] = NA cc = complete.cases(x) x = x[cc,] attach(x)
> x 2 3 4 5 6 7 IND 2 3 4 5 6 7 ausencia ausencia ausencia ausencia ausencia ausencia de de de de de de GRUPO cristales cristales cristales cristales cristales cristales GRAV 1.017 1.008 1.011 1.005 1.020 1.012 PH OSMO CONDUC UREA CALCIO 5.74 577 20.0 296 4.49 7.20 321 14.9 101 2.36 5.51 408 12.6 224 2.15 6.52 187 7.5 91 1.16 5.27 668 25.3 252 3.34 5.62 461 17.4 195 1.40
#Un resumen de cada variable summary(x) > summary(x) IND Min. : 2.00 1st Qu.:21.00 Median :40.00 Mean :40.31 3rd Qu.:60.00 Max. :79.00 OSMO Min. : 187.0 1st Qu.: 410.0 Median : 594.0 Mean : 613.6
GRAV PH Min. :1.005 Min. :4.760 1st Qu.:1.012 1st Qu.:5.530 Median :1.018 Median :5.940 Mean :1.018 Mean :6.041 3rd Qu.:1.024 3rd Qu.:6.400 Max. :1.040 Max. :7.940 UREA CALCIO Min. : 10.0 Min. : 0.17 1st Qu.:159.0 1st Qu.: 1.45 Median :255.0 Median : 3.16 Mean :262.4 Mean : 4.16 2
Nota de R 42 (Fichero notaR103) Los datos corresponden a una serie de personas de las cuales conocemos informacin que previsiblemente nos permitir si son o a diabticos o no. Incluso dentro de los diabticos pretendemos discriminar (distine e guir) entre diabetes clnica y diabetes maniesta. La variable tipo nos indica en qu e grupo est la persona observada de los tres indicados. El resto de variables nos desa criben al paciente: peso es el peso relativo, gpb es la glucosa plasmtica en ayunas, a garea el area bajo la curva de la glucosa, iarea el area bajo la curva de insulina y sspg la glucosa plasmtica en estado estacionario. Pretendemos clasicar a un individuo a en uno de los tres grupos posibles teniendo en cuenta las variables consideradas.
library(foreign) x= read.spss(file=../data/diabetes.sav,to.data.frame=T) > x 1 2 IND PESO GPB GAREA IAREA SSPG 1 0.81 80 356 124 55 2 0.95 97 289 117 76 75 92 455 442 636 741 392 109 314 219 242 157 TIPO LIAREA control 4.820282 control 4.762174 diabetes quimica 5.971262 diabetes quimica 4.691348
summary(x) > summary(x) IND Min. : 1 1st Qu.: 37 Median : 73 Mean : 73 3rd Qu.:109 Max. :145 IAREA Min. : 10.0 1st Qu.:118.0 Median :156.0 Mean :186.1 3rd Qu.:221.0 Max. :748.0
PESO Min. :0.7100 1st Qu.:0.8800 Median :0.9800 Mean :0.9773 3rd Qu.:1.0800 Max. :1.2000 SSPG Min. : 29.0 1st Qu.:100.0 Median :159.0 Mean :184.2 3rd Qu.:257.0 Max. :480.0
GPB Min. : 70.0 1st Qu.: 90.0 Median : 97.0 Mean :122.0 3rd Qu.:112.0 Max. :353.0
GAREA Min. : 269.0 1st Qu.: 352.0 Median : 413.0 Mean : 543.6 3rd Qu.: 558.0 Max. :1568.0 TIPO LIAREA diabetes manifiesta:33 Min. :2.303 diabetes quimica :36 1st Qu.:4.771 control :76 Median :5.050 Mean :5.019 3rd Qu.:5.398 Max. :6.617
El tema utiliza la librer MASS [15]. a El tema est organizado del siguiente modo. Empezamos (seccin 6.1) recordana o do el teorema de Bayes con un ejemplo muy simple de urnas (no funerarias). De 3
este modo vemos la idea bsica del mtodo de clasicacin basado en probabilidaa e o des a posteriori. Consideramos en la seccin 6.2 la situacin con dos poblaciones o o normales univariantes con la misma varianza y con los parmetros conocidos. En a la seccin 6.3 abordamos la situacin con dos poblaciones normales multivariantes. o o All consideramos tanto el caso en que las matrices de covarianzas son la misma como cuando son distintas. En la seccin 6.4 nos planteamos la estimacin de los o o vectores de medias y las matrices de covarianzas y vemos la implementacin prco a tica del mtodo. El problema de la reduccin de la dimensin dentro del problema e o o de la clasicacin es considerado en la seccin 6.7 o o
6.1.
1/3 y P (B2 | A) = 2/3. Las probabilidades P (B1 ) y P (B2 ) reciben el nombre de probabilidades a priori. Vamos a denotarlas en lo que sigue por i , esto es, la probabilidad de la urna i. Nuestra informacin consiste en la ocurrencia del suceso A (la bola ha sido blanca) o de modo que las probabilidades P (A | B1 ) y P (A | B2 ) ser las verosimilitudes an de que ocurra lo que ha ocurrido si la urna es la primera o la segunda. Finalmente tenemos P (B1 | A) y P (B2 | A) que nos dar las probabilidades a posteriori. an Hemos de tomar una decisin: cul fue la urna elegida? Parece natural elegir o a aquella que tiene a posteriori una mxima probabilidad y quedarnos con la segunda a urna. Vamos a reescribir lo que acabamos de hacer que nos acerque al planteamiento ms genrico del problema. Supongamos que describimos el color de la bola elegida a e mediante una variable dicotmica o binaria. Consideramos la variable aleatoria X o que vale uno si es blanca la bola y cero en otro caso. Es lo que se llama una variable indicatriz pues nos indica si se ha producido el suceso que nos interesa. 1 El comportamiento aleatorio de X, su distribucin de probabilidad, depende que o estemos extrayendo una bola de la primera o de la segunda urna. En concreto en la primera urna X sigue una distribucin Bernoulli con probabilidad de xito p1 = 1/3 o e mientras que en la segunda urna tenemos una Bernoulli con probabilidad de xito e
1 Si A es el suceso de inters entonces X() = 1 si A y cero en otro caso. A veces se denota e como X() = 1A ().
Veamos un problema de probabilidad bsico que nos servir para introducir el a a procedimiento de clasicacin que vamos a utilizar. No le falta ning n detalle y o u muchos lo hemos resuelto. Tenemos dos urnas. En la primera de ellas hay una bola blanca y dos negras mientras que en la segunda urna hay dos bolas blancas y una negra. Elegimos al azar una urna (no sabemos cul es la elegida). Posteriormente de a la urna elegida, elegimos a su vez una bola. Resulta que la bola elegida es blanca. La pregunta que nos hacemos es: De qu urna la hemos elegido? La solucin es una e o aplicacin del teorema de Bayes (ver 1.2.1). Denotamos Bi el suceso consistente en o que la bola ha sido extra de la i-sima urna y por el A el suceso de que la bola da e es blanca. A priori, antes de realizar el experimento, las dos urnas ten la misma an probabilidad (elegimos al azar una de las urnas) y por tanto la probabilidad (previa o a priori) de los sucesos Bi ser P (Bi ) = 1/2. No sabemos si la urna elegida ha an sido la primera o la segunda pero nos podemos plantear qu probabilidad tenemos e de que sea blanca si efectivamente es la urna 1 la elegida y lo mismo para la dos. Es obvio que P (A | B1 ) = 1/3 y P (A | B2 ) = 2/3. Esta informacin se puede o combinar aplicando el teorema de Bayes para determinar la probabilidad de que sea la primera o la segunda urna la elegida sabiendo (teniendo pues una informacin o adicional sobre el experimento) que ha salido blanca. En concreto tenemos que ) P (Bi | A) = PkP (A|Bi )P (Bi(B ) . Finalmente podemos comprobar que P (B1 | A) = P (A|B )P
j=1 j j
p2 = 2/3. Cada urna es una poblacin distinta donde el comportamiento aleatorio o de la misma cantidad es distinto. X en la i-sima poblacin tiene una funcin de e o o probabilidad fi (x) = px (1 pi )1x con x = 0, 1. i Ten amos unas probabilidades a priori de que X estuviera siendo observada en la poblacin i-sima que denotamos por (i) donde (1) + (2) = 1 y (1), (2) 0. o e Las probabilidades a posteriori obtenidas por la aplicacin del teorema de Bayes o vienen dadas por fi (x)(i) . (i | x) = f1 (x)(1) + f2 (x)(2) Finalmente nos hemos quedado con la poblacin i tal que ten un valor de (i | x) o a mayor, aquella que, una vez observado el valor de X = x, hac ms probable la a a poblacin. o
6.2.
Supongamos ahora que tenemos que decidir entre dos poblaciones basndonos a en un valor aleatorio continuo con distribucin normal. En concreto supondremos o que en la primera poblacin X es normal con media 1 y varianza 2 . En la segunda o poblacin X tiene distribucin normal con media 2 y varianza 2 . Grcamente en o o a la gura 6.1 aparece la situacin con la que nos encontramos. Supongamos conocidos o los valores de las media y la varianza com n. Observamos un valor de la variable u X = x: cul de las dos distribuciones lo ha generado? De otro modo: a qu a e poblacin pertenece este valor generado? o La idea para clasicar este valor generado es la misma de antes. Ahora tendremos 1 exp fi (x) = f (x | i , 2 ) = 2 1 (x i )2 , 2 2
aunque fi (x) no es la probabilidad del valor x asumiendo que estamos en la poblacin i. No obstante, fi (x)dx s que tiene este sentido. Hablando en un sentido o amplio tenemos una interpretacin similar. La observacin x la clasicar o o amos en la poblacin 1 si o (1)f (x | 1 , 2 ) > 1, (2)f (x | 2 , 2 ) Fcilmente comprobamos que esto equivale con que a 1 1 (1 2 ) x (1 + 2 ) 2 2 > log (2) . (1)
6.3.
En la seccin 6.2 nos plantebamos la situacin de dos normales univariantes. En o a o las aplicaciones es ms habitual el caso en que trabajamos con varias caracter a sticas simultneamente. En particular, vamos a asumir ahora que X puede pertenecer a a una de dos poblaciones normales multivariantes. La primera con vector de medias 1 y matriz de covarianzas y la segunda con vector de medias 2 y matriz de covarianzas . Dada una observacin multivariante x, la clasicaremos en la poblacin o o 1 si (1)f (x | 1 , ) > 1, (2)f (x | 2 , ) 5
0.0
0.1
0.2
0.3
0.4
2 x
Figura 6.1: Dos densidades normales con la misma varianza y distinta media. pero, f (x | 1 , ) = f (x | 2 , )
1 1 exp (x 1 ) 1 (x 1 ) + (x 2 ) 1 (x 2 ) = 2 2 1 exp (1 2 ) 1 x (1 2 ) 1 (1 + 2 ) . 2
(6.1)
Sea = 1 (1 2 ), entonces la observacin es asignada a la primera poblacin o o si 1 (2) D(x) = x (1 + 2 ) > log . (6.2) 2 (1) Notemos que la ecuacin D(x) = log (2) nos dene un hiperplano que separa las o (1) dos poblaciones. Qu ocurre si no asumimos que tenemos una misma matriz de covarianzas? En e este caso se tiene que: Q(x) = log f (x | 1 , 1 ) = f (x | 2 , 2 ) |2 | 1 1 1 log (x 1 ) 1 (x 1 ) + (x 2 ) 1 (x 2 ) = 1 2 2 |1 | 2 2 |2 | 1 1 1 1 log x (1 1 )x 2x (1 1 2 2 ) . 2 1 2 |1 | 2 6
(6.3)
Como en el caso anterior asignamos la observacin x a la primera poblacin si o o Q(x) > log (2) . (1)
(2) Notemos que ahora Q(x) = log (1) no es un hiperplano sino que tenemos una supercie no plana.
6.4.
Lo visto en las secciones anteriores ten como objeto mostrar de un modo suave a la transicin desde el resultado probabil o stico bsico, el teorema de Bayes, y su a aplicacin en el problema de la clasicacin. Sin embargo, no es real asumir que o o conocemos completamente la distribucin de las observaciones en cada poblacin o o o clase En las aplicaciones los vectores de medias y la matriz o matrices de covarianzas no son conocidas. Hemos de estimarlas a partir de los datos. Veamos primero cmo o hacerlo y luego cmo usar estos parmetros en el procedimiento de clasicacin. o a o Empezamos por el caso en que tenemos dos poblaciones normales con vectores de medias 1 y 2 y matrices de covarianzas 1 y 2 . Lo que tenemos son dos muestras aleatorias correspondientes a cada una de las poblaciones. Supongamos que tenemos ni individuos de la poblacin i y los vectores de cao racter sticas son los vectores columna xij Rd (con i = 1, 2 y j = 1, . . . , ni ). Denotamos ni 2 ni j=1 xij i=1 j=1 xij , x = (6.4) xi = ni n donde n = n1 + n2 . Sea Si la matriz de varianzas o de dispersin de la poblacin i, o o es decir, ni j=1 (xij xi )(xij xi ) Si = . (6.5) ni 1
El vector i es estimado mediante i = xi . La matriz i la estimamos mediante Si . En el caso particular en que asumamos que = 1 = 2 entonces la matriz de covarianzas com n la estimamos con u Sp =
2 i=1 (ni
1)Si . n2
Cmo clasicamos? Las distribuciones tericas que supon o o amos conocidas son reemplazadas por las distribuciones normales con los parmetros estimados. a Si asumimos una matriz de covarianza com n a ambas poblaciones entonces u asignamos x a la primera poblacin si o Ds (x) > log donde y (2) , (1) (6.6)
1 x Ds (x) = (x (1 + x2 ) 2 = S1 (1 x2 ). p x
(6.7) (6.8)
La funcin Ds recibe el nombre de funcin discriminante lineal. La razn es obvia: o o o clasicamos en uno o en otro grupo utilizando una funcin lineal de las distintas o variables. 7
En el caso particular en que (1) = (2), esto es, consideramos a priori igualmente probables ambos grupos entonces la regla de clasicacin propuesta ser o a: clasicamos en la poblacin o clase 1 si, o 1 x > ( x1 + x2 ). 2 Es es el procedimiento que propuso R.A. Fisher en 1936. Notemos que las probabilidades de pertenencia a posteriori a cada una de las poblaciones pueden ser estimadas mediante (i|x) = (i)f (x|i , Sp ) x . (1)f (x|1 , Sp ) + (2)f (x|2 , Sp ) x x (6.9)
Una vez tenemos las probabilidades a posteriori estimadas el individuo es clasicado en el grupo que tiene una mayor probabilidad a posteriori. Nota de R 43 (Fichero notaR104) Es un ejemplo de anlisis discriminante lia neal con dos grupos. Los datos aparecen descritos en la nota 41. Consideramos dos situaciones. En la primera las probabilidades a priori de cada grupo se asumen iguales entre s y, por lo tanto, iguales a 0,5. En el segundo caso, las probabilidades a priori coinciden con las proporciones observadas dentro de la muestra de cada una de las poblaciones o clases. ##Leemos los datos library(foreign) x = read.spss(file=../data/cristal.sav,to.data.frame=T) x[x==-1] = NA ##No estaba definido el -1 como datos faltante ##en el fichero original cc = complete.cases(x) ## Vemos los casos en que no hay dato ## faltante attach(x[cc,]) ##Suponemos matrices de covarianzas iguales y probabilidades a priori iguales library(MASS) z = lda( GRUPO ~ CALCIO + CONDUC + GRAV + OSMO + PH + UREA, prior = c(1,1)/2) > z Call: lda(GRUPO ~ CALCIO + CONDUC + GRAV + OSMO + PH + UREA, prior = c(1, 1)/2) Prior probabilities of groups: ausencia de cristales presencia de cristales 0.5 0.5 Group means: CALCIO CONDUC GRAV OSMO PH UREA ausencia de cristales 2.628864 20.55000 1.015364 561.6591 6.125682 232.4318 presencia de cristales 6.202424 21.37879 1.021576 682.8788 5.927273 302.3636 Coefficients of linear discriminants: LD1 CALCIO 0.301091251 8
CONDUC -0.117156709 GRAV 140.610784925 OSMO 0.003408930 PH -0.125723350 UREA -0.008383726 ##Veamos cmo recuperar los distintos elementos del anlisis o a attributes(z) > attributes(z) $names [1] "prior" "counts" [8] "call" "terms" $class [1] "lda" ##Probabilidades a priori z$prior > z$prior ausencia de cristales presencia de cristales 0.5 0.5 ##El nmero de datos por grupo u z$counts > z$counts ausencia de cristales presencia de cristales 44 33 ##El vector de medias estimado en cada grupo z$means > z$means CALCIO CONDUC GRAV OSMO PH UREA ausencia de cristales 2.628864 20.55000 1.015364 561.6591 6.125682 232.4318 presencia de cristales 6.202424 21.37879 1.021576 682.8788 5.927273 302.3636
"svd"
"N"
## Vamos a obtener las probabilidades a posteriori ## Observar la opcin CV=TRUE o z = lda( GRUPO ~ CALCIO + CONDUC + GRAV + OSMO + PH + UREA, prior = c(1,1)/2,CV=TRUE) attributes(z) > attributes(z) $names [1] "class" "posterior" "terms" ##Probabilidades a posteriori 9
"call"
"xlevels"
z$posterior ##No muestro toda la salida > z$posterior ausencia de cristales presencia de cristales 1 0.6410723439 0.35892766 2 0.8700259575 0.12997404 3 0.8483785261 0.15162147 4 0.9053400470 0.09465995 5 0.5761860564 0.42381394 6 0.8967915333 0.10320847 7 0.2665532816 0.73344672 ##Clasificaciones para cada los distintos casos z$class > z$class [1] ausencia de cristales ausencia de cristales [4] ausencia de cristales ausencia de cristales
#Las probabilidades a priori corresponden con proporciones observadas z1 = lda( GRUPO ~ CALCIO + CONDUC + GRAV + OSMO + PH + UREA,CV=TRUE) ##Probabilidades a posteriori (no es toda la salida) z1$posterior > z1$posterior ausencia de cristales presencia de cristales 1 0.7042676259 0.29573237 2 0.8992456041 0.10075440 3 0.8818036171 0.11819638 4 0.9272842171 0.07271578 5 0.6444698875 0.35553011 6 0.9205435042 0.07945650 7 0.3264031028 0.67359690
En la situacin ms general no asumiremos una misma matriz de covarianzas o a en las dos poblaciones. En este caso estimamos la matriz i mediante la matriz Si dada en la ecuacin 6.5. Las probabilidades a posteriori las estimamos como o (i|x) = (i)f (x|i , Si ) x . (1)f (x|1 , S1 ) + (2)f (x|2 , S2 ) x x (6.10)
Nota de R 44 (Fichero notaR105) Con los datos de la nota 41 realizamos un anlisis discriminante cuadrtico en donde no asumimos una matriz de covarianzas a a comn. u #Leemos los datos library(foreign) 10
+ OSMO + PH + UREA,
> z$posterior ausencia de cristales presencia de cristales 1 7.658585e-01 0.234141505 2 9.465173e-01 0.053482670 3 9.718836e-01 0.028116449 4 9.811643e-01 0.018835694 5 5.413410e-01 0.458659042 6 9.434295e-01 0.056570538 7 2.934976e-01 0.706502353
+ OSMO + PH + UREA,CV=TRUE)
> z1$posterior ausencia de cristales presencia de cristales 1 8.134756e-01 0.186524405 2 9.593444e-01 0.040655595 3 9.787634e-01 0.021236612 4 9.858064e-01 0.014193607 5 6.114531e-01 0.388546921 6 9.569634e-01 0.043036553 7 3.564571e-01 0.643542909
6.5.
Supongamos que tenemos unas probabilidades a priori (i) de que el caso pern tenezca al grupo i con i = 1, . . . , g (obviamente i=1 (i) = 1). Si x son las caracter sticas de un caso entonces vamos a asumir que x tiene una distribucin normal o multivariante con media i y matriz de varianzas i en la clase i. Su densidad de probabilidad viene dada por 1 f (x | i , i ) = (2)d/2 | i |1/2 exp{ (x i ) 1 (x i )}. i 2 (6.11)
Utilizando el teorema de Bayes tenemos que las probabilidades a posteriori vienen dadas por (i)f (x | i , i ) . (6.12) (i | x) = k j=1 (j)f (x | j , j ) 11
Un mtodo de clasicacin consiste en clasicar al individuo con caracter e o sticas x en la clase o grupo tal que la probabilidad a posteriori (i | x) es mxima o lo a que es lo mismo: clasicamos en el grupo tal que (i)f (x|i , i ) = mx j f (x|j , j ). a
j
Obviamente, habitualmente no conocemos los parmetros (i , i ) de las distintas a clases por lo que hemos de estimarlos. Supongamos que tenemos ni individuos en la clase i y los vectores de caracter sticas son los vectores columna xij Rd (con i = 1, . . . , g y j = 1, . . . , ni ). Denotamos g ni ni i=1 j=1 xij j=1 xij , x = (6.13) xi = ni n donde n = decir,
g i=1
xi )(xij xi ) ni 1
(6.14)
El vector i es estimado mediante i = xi . En cuanto a la estimacin de las matrices o i se utilizan dos estimadores. En el caso en que asumamos que todas son iguales entonces el estimador de = 1 = . . . = g es = Sp donde Sp =
g i=1 (ni
1)Si . ng
Si no asumimos que las distintas matrices de varianzas son iguales entonces cada i es estimada mediante Si . Es claro que el procedimiento indicado en la ecuacin 6.5 no es aplicable pues o no conocemos los parmetros. Veamos como queda el procedimiento en las dos a situaciones posibles: asumiendo igualdad de las matrices de covarianzas y asumiendo que son distintas. Bajo la hiptesis de matriz de varianza com n tendremos que o u 1 log[(i)f (x|i , Sp )] = log (i) + c (x xi ) S1 (x xi ). x p 2
1 Le quitamos a log[(i)f (x|i , Sp )] la parte que no depende de i dada por c 2 x S1 x x p y obtenemos la funcin o
1 Li (x) = log (i) + x S1 (x xi ). i p 2 Asignamos x al grupo que tiene un valor mayor de la funcin Li (x). Estas funciones o reciben el nombre de funciones discriminantes. Observemos que las diferencias entre distintas funciones Li son hiperplanos y por ello se habla de anlisis discriminante a lineal. Nota de R 45 Consideremos los datos iris tratados originalmente por Fisher. Vemos cmo se utiliza una muestra para estimar las matrices de covarianzas y los o vectores de medias mientras que clasicamos a los individuos no utilizados en la estimacin de los parmetros. o a #Se utilizan los datos iris de Fisher data(iris3) Iris <- data.frame(rbind(iris3[,,1], iris3[,,2], iris3[,,3]), 12
Sp = rep(c("s","c","v"), rep(50,3))) #Tomamos una muestra de entrenamiento train <- sample(1:150, 75) table(Iris$Sp[train]) z <- lda(Sp ~ .,Iris, prior = c(1,1,1)/3, subset = train) #Se clasifica a los individuos predict(z, Iris[-train,])$class (z1 <- update(z,. ~ . - Petal.W.)) En el caso en que no se asume una matriz de varianzas comn entonces u la regla de clasicacin consiste en clasicar donde es mxima la siguiente funcin o a o
1 Qi (x) = 2 log (i) log |Si | (x xi ) Si (x xi ).
(6.15)
Notemos que el ultimo trmino no es ms que la distancia de Mahalanobis de x al e a centro estimado de la clase, xi . La diferencia entre las funciones Qi para dos clases distintas es una funcin cuadrtica y por ello el mtodo recibe el nombre de anlisis o a e a discriminante cuadrtico. a Nota de R 46 (Fichero notaR107) Vamos a analizar el banco de datos de la diabetes. En este caso pretendemos clasicar entre tres grupos: no diabticos, diabee tes clnica y diabetes maniesta. Realizamos un anlisis discriminante lineal (asu a miendo matriz de varianzas comn) y un anlisis discriminante cuadrtico. u a a library(foreign) x= read.spss(file=../data/diabetes.sav,to.data.frame=T) attach(x) summary(x)
library(MASS) ##Discriminante lineal z = lda(TIPO ~ PESO + GPB + GAREA + IAREA + SSPG, CV=TRUE) z$class z$posterior table(TIPO,z$class) > table(TIPO,z$class) TIPO diabetes manifiesta diabetes quimica control diabetes manifiesta 26 6 1 diabetes quimica 0 30 6 control 0 3 73
#Discriminante cuadratico 13
z = qda(TIPO ~ PESO + GPB + GAREA + IAREA + SSPG, CV=TRUE) z$class z$posterior table(TIPO,z$class) > table(TIPO,z$class) TIPO diabetes manifiesta diabetes quimica control diabetes manifiesta 30 3 0 diabetes quimica 3 29 4 control 0 4 72
6.6.
Nuestros datos son (xi , yi ) con i = 1, . . . , n siendo xi el vector de caracter stica del individuo y denotando yi la clase poblacin o grupo al que pertenece realmente o el individuo. Tenemos unas probabilidades a posteriori (j|x) para cada x que nos queramos plantearla. Clasicamos x en la clase j tal que tiene mxima probabilidad a de las posibles. Pero el mtodo as construido, va bien o es un desastre? Parece e que todos coincidimos en que ir bien quiere decir clasicar a los individuos en los grupos a los que realmente pertenecen. Una primera prctica que pretende valorar la probabilidad (y por lo tanto la a frecuencia de veces que ocurre) de una clasicacin correcta es, una vez estimadas o las probabilidades a posteriori para los propios elementos de la muestra. Esto es, nos planteamos clasicar a los individuos utilizados para construir el procedimiento de clasicacin. Tendremos para cada data, yi , el grupo al que pertenece e yi el o grupo en el que lo clasicamos. Podemos considerar una valoracin del resultado de o la clasicacin la siguiente cantidad, o
n
I=
i=1
yi ,yi , n
(6.16)
donde y,y = 1 si y = y y cero en otro caso. La cantidad denida en 6.16 es de uso habitual en la literatura de reconocimiento de patrones. Es, sin duda, un modo razonable de valorar la calidad del procedimiento de clasicacin. Se queda pobre. o Al menos parece insuciente. Cmo nos equivocamos cuando clasicamos? La sio guiente opcin habitual es utilizar la tabla de clasicacin en donde cruzamos los o o valores (yi , yi ). En esta tabla tendremos en la la (r, c) el n mero de casos que oriu ginalmente son de la clase r y los hemos clasicado en el grupo c. Valorando la tabla de clasicacin podemos valorar el mtodo de clasicacin. Es importante tener en o e o cuenta aqu que no todos los errores de clasicacin tienen la misma importancia. o Independientemente de la valoracin numrica que hagamos del procedimiento o e de clasicacin hemos de tener en cuenta sobre qu casos estamos realizando eso e ta valoracin. Si un mismo caso lo utilizamos para construir el procedimiento de o valoracin y lo volvemos a utilizar para clasicarlo estamos sesgando la valoracin o o del procedimiento a favor del mismo. Un procedimiento de clasicacin siempre ir o a mejor con los casos que utilizamos para construirlo y peor sobre otros casos. Hemos de intentar corregirlo. Una primera idea es dejar uno fuera cada vez. Para cada j consideramos toda la muestra menos xj . Utilizando el resto de la muestra estimamos los vectores de 14
medias y las matrices de covarianzas y, nalmente, las probabilidades a posteriori del individuo j en cada clase. Lo clasicamos del modo habitual. Repetimos el procedimiento para cada j y construimos la tabla correspondiente. En ingls es la e tcnica conocida como leaving one out. Realmente el mtodo de clasicacin que e e o valoramos en cada ocasin no es exactamente el mismo pero no es muy diferente. En o cada ocasin solamente estamos prescindiendo de un caso y los vectores de medias o y matrices de covarianzas no se modican mucho. Estamos valorando esencialmente el mismo mtodo. e Una segunda opcin; mejor en su validez peor en sus necesidades. Si tenemos una o muestra de tama o n elegimos una muestra sin reemplazamiento de tama o m. Los n n m datos seleccionados son utilizadas para estimar las probabilidades a posteriori y los n m restantes son clasicados y podemos valorar las distintas proporciones de error. Es una estimacin del error basada en un mtodo de aleatorizacin. Si elegimos o e o las sucesivas muestras con reemplazamiento tendr amos un mtodo bootstrap. e Nota de R 47 (Fichero notaR149) Seguimos analizando los datos de la orina (ver nota 41. Notemos que consideramos probabilidades a priori correspondientes a las proporciones en la muestra. Nos limitamos a construir la tabla de clasicacin. o
##Leemos los datos library(foreign) x = read.spss(file=../data/cristal.sav,to.data.frame=T) x[x==-1] = NA ##No estaba definido el -1 como dato faltante ##en el fichero original cc = complete.cases(x) ## Vemos los casos en que no hay datos ## faltante attach(x[cc,]) ## Suponemos matrices de covarianzas iguales y probabilidades a priori ## dadas por las proporciones de cada clase en la muestra library(MASS) z1 = lda( GRUPO ~ CALCIO + CONDUC + GRAV + OSMO + PH + UREA,CV=TRUE)
#Tabla de clasificaciones correctas table(GRUPO,z1$class) > table(GRUPO,z1$class) GRUPO ausencia de cristales presencia de cristales ausencia de cristales 42 2 presencia de cristales 14 19
Nota de R 48 (Fichero notaR139) Consideramos unos datos de correo electro nico. El objetivo del anlisis es decidir si el correo es basura o no basndonos en a a informacin de dicho correo. Estos datos se pueden encontrar en [3]. o Realizamos un anlisis discriminante linear y un anlisis cuadrtico. Vemos que a a a el lineal nos proporciona mejores resultados. 15
xnam <- paste("V", 1:57, sep="") (fmla = as.formula(paste("y ~ ", paste(xnam, collapse= "+")))) y = x[,58] z = lda(fmla, data=x, prior = c(1,1)/2,CV=T) table(V58,z$class) > table(V58,z$class) V58 0 1 0 2622 166 1 263 1550 z = qda(fmla, data=x, prior = c(1,1)/2,CV=T) table(V58,z$class) > table(V58,z$class) V58 0 1 0 2086 695 1 86 1723 ##Recuperamos el anlisis discriminante lineal a entrenamiento = sample(nrow(x),2000) #Elegimos la muestra de entrenamiento #aleatoriamente table(y[entrenamiento]) #Vemos la distribucin del correo o #en la muestra de entrenamiento z = lda(fmla, data=x, prior = c(1,1)/2,subset=entrenamiento) #Vemos la tabla de clasificacin sobre los datos de entrenamiento o table(predict(z, x[entrenamiento,])$class,y[entrenamiento]) #Vemos la tabla de clasificacin sobre el resto de los datos o table(predict(z, x[-entrenamiento,])$class,y[-entrenamiento]) ##Repetimos en muestras con reemplazamiento
entrenamiento = sample(nrow(x),2000,replace=T) #Elegimos la muestra de entrenamiento ##con reemplazamiento #aleatoriamente table(y[entrenamiento]) #Vemos la distribucin del correo o #en la muestra de entrenamiento 16
z = lda(fmla, data=x, prior = c(1,1)/2,subset=entrenamiento) #Vemos la tabla de clasificacin sobre los datos de entrenamiento o table(predict(z, x[entrenamiento,])$class,y[entrenamiento]) #Vemos la tabla de clasificacin sobre el resto de los datos o table(predict(z, x[-entrenamiento,])$class,y[-entrenamiento])
6.7.
Vamos a estudiar una tcnica de reduccin de la dimensin relacionada con el e o o planteamiento que del anlisis discriminante lineal hizo Fisher. Consideramos las a matrices W y B denidas como
g ni g
W =
i=1 j=1
(xij xi )(xij xi ) =
g
i=1
(ni 1)Si ,
(6.17)
y B=
ni
i=1 j=1
(i x )(i x ) = x x
i=1
ni (i x )(i x ) x x
(6.18)
Estas matrices reciben el nombre de matrices intra grupos y entre grupos respectivamente. Son las versiones matriciales de las sumas de cuadrados intra y entre grupos habituales en anlisis de la varianza. a Es claro que cuando ms agrupados estn los datos dentro de los grupos y ms a e a separados estn para grupos distintos tendremos que la magnitud de W ha de ser e menor que la de B. Supongamos que reducimos las observaciones multivariantes xij a datos univariantes mediante tomando zij = c xij . Las sumas de cuadrados intra y entre vendr dadas por c W c y c Bc. El cociente Fc = c Bc/c W c nos compara an la variabilidad intra con la variabilidad entre. Fisher (1936) introdujo el anlisis a discriminante lineal buscando el vector c tal que el cociente Fc sea el mayor posible. Ese fue su objetivo inicial. La matriz W es suma de matrices semidenidas positivas por lo que es denida positiva y consideramos su descomposicin de Cholesky dada por W = T T . o Tomamos b = T c. Se tiene Fc = b (T )1 BT 1 b b Ab c Bc = = = a Aa, W c b c b bb (6.20)
donde a = b/ b , esto es, a tiene mdulo unitario y A = (T )1 BT 1 . Se nos o plantea el problema de maximizar a Aa con la restriccion de a a = 1. Por resultados estndar del lgebra lineal se tiene que a1 es el vector propio de A con el mayor a a propio 1 vericando que 1 = a Aai . Hemos encontrado una combinacin lineal o 1 que, en el sentido que hemos indicado, es ptima a la hora de separar los grupos. o Parece lgico buscar la siguiente combinacin lineal que verique el mismo criterio o o 17
de optimalidad pero que el vector correspondiente sea ortogonal al ya calculado. Nos planteamos pues maximizar a Aa con la restriccion de a = 1 y que sea ortogonal con el anterior. La solucin viene dada por el vector propio de A asociado a su seo gundo valor propio por orden de magnitud, 2 (Aa2 = 2 a2 por lo que 2 = a Aa2 ). 2 Procedemos del mismo modo obteniendo k direcciones ortogonales que nos dan las combinaciones ptimas que separan a los grupos. El valor de k es el m o nimo entre el n mero de grupos menos uno, g 1 y el n mero de datos n, k = m g 1, n. u u n Notemos que los sucesivos ar constituyen una base ortonormal tales que (T )1 BT 1 ar = Aar = r ar , con 1 2 . . . k . Si multiplicamos por la izquierda por la matriz T 1 (n g)1/2 se deduce que W 1 Bcr = r cr , donde cr = (n g)1/2 T 1 ar . En consecuencia W 1 B tiene valores propios r y vectores propios cr con r = 1, . . . , k. Adems los vectores ar = T cr (n g)1/2 a constituyen una base ortonormal. Consideremos la matriz C que tiene por la rsima el vector cr . Sea zij = Cxij . Estos valores reciben el nombre de coordenadas e discriminantes. Vemos que estas coordenadas pretenden destacar las diferencias entre los grupos con un orden decreciente de relevancia. Tenemos que decidir cn o cuantas de ellas nos quedamos. Es habitual estudiar los cocientes
j i=1 k i=1
i i
(6.21)
como funcin de j y quedarse con las coordenadas discriminantes hasta un j prximo o o a uno. Es muy importante darse cuenta que las coordenadas discriminantes estn tipia cadas y son independientes entre ellas. Recordemos que W = T T y que la matriz de covarianzas agrupada viene dada por Sp = W/(g 1). Por tanto tendremos que c Sp cs = (n g)1 c T T cs = a as = rs , r r r (6.22) donde rs = 1 si r = s y cero en otro caso. Tenemos pues que CSp C = Ik . Asumiendo que las matrices de dispersin son iguales para los distintos grupos o tendremos que cov(c xij , c xij ) = c cs y reemplazando por Sp tenemos que los r s r zij tienen covarianzas muestrales nulas y varianzas muestrales unitarias. Nota de R 49 (Fichero notaR108) Repetimos el anlisis discriminante tanto a para los datos de cristales en la orina como para los datos de la diabetes. En la gura 6.2 vemos un histograma de la primera variable discriminante cannica en el o primer y segundo grupo. En la gura 6.3 tenemos una representacin conjunta de las dos variables diso criminantes cannicas. o library(foreign) #Leemos los datos de un fichero SPSS x = read.spss(file=../data/cristal.sav,to.data.frame=T) #No estaba bien definido el dato faltante x[x==-1] = NA cc = complete.cases(x) x = x[cc,] attach(x) 18
+ OSMO + PH + UREA,
z = lda(TIPO ~ PESO + GPB + GAREA + IAREA + SSPG) if(dib) postscript(file=fig108b.ps,horizontal=F) plot(z) #Figura b if(dib) dev.off() if(dib) postscript(file=fig108c.ps,horizontal=F) pairs(z) #Figura c if(dib) dev.off()
0.0 2
0.2
0.4
0.6
0.8
1.0
0.0 2
0.2
0.4
0.6
0.8
1.0
Figura 6.2:
19
diabetes manifiesta diabetes manifiesta diabetes manifiesta diabetes manifiesta diabetes manifiesta diabetes manifiesta control control
diabetes manifiesta diabetes manifiesta diabetes manifiesta diabetes manifiesta diabetes manifiesta diabetes manifiesta
control control control control control controlcontrol control control controlcontrol control control control control control diabetes manifiesta manifiesta control control control diabetes manifiesta diabetesdiabetes manifiesta control control control control control control control control control control control control control control control control control control control controlcontrol control diabetes manifiesta diabetes quimica control control control diabetes manifiesta diabetes quimica control control diabetes manifiesta control diabetes manifiesta control control control control diabetescontrol control quimica control diabetes manifiesta diabetes manifiesta controlcontrol diabetes manifiesta control diabetes quimicaquimica control control control control control diabetes diabetes manifiesta diabetes manifiesta diabetes quimicaquimicacontrolcontrol control diabetes quimica diabetescontrol control control diabetes quimica diabetes manifiesta diabetes quimica diabetes manifiesta diabetes quimica control quimica diabetes manifiestadiabetes quimicadiabetesquimica diabetes manifiesta diabetes diabetes quimica diabetes quimica diabetes quimica diabetes quimica diabetes quimica diabetes manifiesta control control diabetes quimica diabetes quimica diabetes quimica diabetes quimica diabetes quimica diabetes manifiesta diabetes quimica diabetes quimica diabetes manifiesta diabetes manifiesta diabetes quimica diabetes quimica diabetes quimica diabetes quimica diabetes quimica diabetes quimica diabetes quimica diabetes quimica diabetes quimica control
LD2
diabetes quimica
2 LD1
Figura 6.3:
6.8.
Algunos ejemplos
Nota de R 50 (Fichero notaR142) Los datos se pueden encontrar en http://www.stat.wisc.edu/ yand El siguiente texto est tomado de dicha pgina y describen las variables. a a The measurements were coded based on body part -- head (H), thorax (T), wing (W) or gonadium (G) -- and kind of measurement -- width (W), height (H) and length (L). The gonadium (also known as gastral tergite) has two length and three width measurements. Realizamos un anlisis discriminante en donde a partir de las caractersticas a morfolgicas pretendemos saber si es una abeja reina o bien es una obrera. o library(MASS) x=read.table(file="../data/wasp.dat",header=T) attach(x) z = lda(caste ~TL+WL+HH+HW+TH+TW+G1L+G2Wa,prior=c(1,1)/2) plot(z) z = lda(caste ~TL+WL+HH+HW+TH+TW+G1L+G2Wa,prior=c(1,1)/2,CV=TRUE)
20
2 4
control control control control control control control control control control control control control control control control control control control control control control control control controlcontrol control control control controlcontrol controlcontrol control control control controlcontrol control control control control control control control control control control control control control control control control control control control control control control control control control control control control controlcontrol diabetes quimica controlcontrol control control diabetes quimica control diabetescontrol diabetes diabetes quimica quimica quimica diabetes quimica control diabetes quimica manifiesta diabetes quimica control diabetes diabetes quimica diabetes quimica diabetes quimica diabetes diabetes quimica diabetes diabetes quimica diabetes quimica quimica diabetes quimica quimica diabetes quimica diabetes diabetes quimica diabetes quimica quimica diabetes quimica diabetes manifiesta diabetes quimicaquimica quimica diabetes diabetes diabetes quimica diabetes quimica diabetes quimicaquimica diabetesdiabetes manifiesta diabetes quimica diabetes quimica diabetes quimica diabetes quimica diabetes manifiesta diabetes quimica diabetes manifiesta diabetes quimica
LD1
diabetes quimica diabetes diabetes manifiesta manifiesta diabetes manifiesta diabetes manifiesta diabetes manifiesta diabetes manifiesta manifiesta diabetes manifiesta diabetes diabetes manifiesta diabetesdiabetes manifiesta manifiesta diabetes manifiesta diabetes manifiesta diabetes diabetes manifiestamanifiesta diabetes manifiesta diabetes manifiesta diabetes manifiesta diabetes manifiesta diabetes manifiesta diabetes manifiestadiabetes manifiesta diabetes diabetes diabetes manifiesta manifiesta manifiesta diabetes manifiesta diabetes manifiesta diabetes manifiesta
diabetes manifiesta diabetes manifiesta diabetes manifiesta diabetes manifiesta diabetes manifiesta diabetes manifiesta control control
diabetes manifiesta diabetes manifiesta diabetes manifiesta diabetes manifiesta diabetes manifiesta diabetes manifiesta
control control control control control control control control control control control control control control control control diabetes manifiesta control diabetes diabetes manifiesta manifiesta control control control control diabetes manifiesta control control control control control control control control control control control control control control control control control controlcontrol diabetes diabetes diabetes quimica control manifiesta control control control manifiesta control diabetes manifiesta control diabetesdiabetes quimica manifiesta control control control control control control control diabetescontrol quimica control diabetes manifiesta diabetes manifiesta control control diabetes manifiesta control control control diabetes quimica control control control diabetes manifiesta diabetes quimica control diabetes manifiesta diabetes quimica diabetescontrol control quimica diabetes quimica control control control diabetes quimica diabetes manifiesta diabetes quimica control diabetes manifiesta diabetes quimica quimica diabetes manifiestadiabetes quimica diabetes manifiesta diabetesdiabetes quimica diabetes quimica diabetes quimica diabetes quimica diabetes quimica diabetes quimica diabetes manifiesta control control diabetes quimica diabetes quimica diabetes quimica diabetes quimica diabetes diabetes quimica quimica diabetes manifiesta diabetes quimica diabetes quimica diabetes manifiesta manifiesta diabetes diabetes quimica
LD2
diabetes quimica control diabetes quimica diabetes quimica diabetes quimica diabetes quimica diabetes quimica diabetes quimica
diabetes quimica
Nota de R 51 (Fichero notaR144) El banco de datos wbca contiene informacin sobre un estudio de cncer de mama en el estado norteamericano de Wiscono a sin. La variable Class indica si la mujer tiene cncer de mama o no (valores 1 y 0 a respectivamente). El resto son variables que describen el estado de la paciente. Pretendemos clasicar a la paciente como enferma o no de cncer utilizando el resto a de las variables. Realizamos para ello un anlisis discriminante lineal. Tenemos una a muestra bastante grande. Elegimos una muestra de entrenamiento para estimar las probabilidades a posteriori. Para ellos elegimos al azar 400 mujeres de la muestra inicial. library(faraway) library(MASS)
attach(wbca) 21
train <- sample(1:nrow(wbca), 400) wbca.lda0 = lda(Class ~ Adhes+BNucl+Chrom+Epith+Mitos+NNucl+Thick+UShap+USize,subset=trai wbca.lda0$class[train] table(wbca.lda0$class[train],Class[train]) table(wbca.lda$class,Class)
0.0 6
0.2
0.4
0.6
0.8
2 group 0
0.0 6
0.2
0.4
0.6
0.8
2 group 1
Figura 6.5:
22
Cap tulo 7
7.1.
Los modelos lineales generalizados (GLM) extiende los modelos de regresin o ordinaria en dos puntos: (i) consideran que la respuesta no tiene necesariamente una distribucin normal y (ii) utiliza funciones que modelizan la media. o En su denicin intervienen tres componentes: o Componente aleatoria Identica la variable respuesta Y y su distribucin de o probabilidad. Componente sistemtica Especica las variables explicativas (independientes, a predictoras) utilizadas en la funcin predictora lineal. o Funcin link Especica la funcin de EY que la expresa como una combinacin o o o lineal de las variables predictoras. La componente aleatoria de un GLM consiste de una variable aleatoria Y con observaciones independientes (y1 , . . . , yN ). Suponemos la distribucin de Y en la o familia exponencial natural, donde la forma de la densidad viene dada por f (yi ; i ) = a(i )b(yi ) exp{yi Q(i )}. (7.1)
En esta familia de distribuciones de probabilidad se incluyen la Poisson y la binomial. Notemos que i var para los distintos i dependiendo de los valores de las a variables predictoras. Q() recibe el nombre de parmetro natural. a 1
j xij , con i = 1, . . . , N,
(7.2)
donde xij es el valor del j-simo predictor en el i-simo individuo. La combinae e cin lineal j j xij es el predictor lineal. Notemos que, como es habitual, se suele o considerar que uno de los predictores xij vale uno para todos los i de modo que consideramos el trmino independiente (que denotaremos a menudo por ). e La tercera componente es la funcin link g. Mediante esta funcin relacionamos o o las componentes aleatoria y sistemtica. Sea i = E(Yi ) con i = 1, . . . , N . Vamos a a suponer que i = g(i ) (7.3) donde la funcin link g la suponemos montona y diferenciable. En consecuencia o o tenemos j xij , con i = 1, . . . , N. (7.4) g(i ) =
j
El modelo lineal es un modelo lineal generalizado ya que Yi N (i , 2 ) donde a o i = j j xij . En consecuencia el parmetro natural es la media y la funcin link es la identidad. De hecho, los modelos lineales generalizados surgen como una extensin o natural cuando la variable respuesta no necesariamente ha de ser continua. En un modelo lineal la relacin que liga a los predictores con la media de la variable es o directa: la media es funcin lineal de los predictores. Sin embargo, una modelizacin o o tan simple como esta no es asumible cuando la respuesta es una variable binomial o Poisson, o multinomial. Sin embargo, se observ que muchos de los mtodos que se o e utilizaban para estudiar el modelo lineal eran aplicables para este tipo de modelos que proporcion un marco com n a procedimientos que ya se estaban usando en o u Estad sticas previamente.
7.1.1.
Tenemos respuesta binaria (xito como 1 y fracaso como 0), esto es, Y e Bin(1, ). Notemos que f (y | ) = y (1 )1y = (1 )[/(1 )]y = (1 ) exp y log por lo que pertenece a la familia exponencial natural con = , 1 , 1, log . 1 (7.6) (7.7) (7.8) (7.9)
(7.5)
Vemos que el parmetro natural log 1 es el logit de . Es pues el link cannico. a o Los GLM que utilizan un link logit reciben el nombre de modelos logit.
7.1.2.
La variable respuesta son conteos. La distribucin ms simple para este tipo de o a datos es la distribucin de Poisson. Sea Y el conteo aleatorio y = EY . La funcin o o 2
de probabilidad de la distribucin de Poisson la podemos expresar como o f (y | ) = e y 1 = exp() y! y! exp(y log ), con y = 0, 1, . . . (7.10)
Esta familia de distribuciones pertenece a la familia exponencial natural con = , exp(), 1 y! log . (7.11) (7.12) (7.13) (7.14) a() = b(y) = Q() =
El parmetro natural es log y en consecuencia la funcin link cannica es el logaa o o ritmo. El modelo que utiliza este link es log =
j
j xij , con i = 1, . . . , N.
(7.15)
7.1.3.
Desviacin o
Sean y = (y1 , . . . , yN ) los valores observados y L(; y) la verosimilitud expresada en trminos del vector de medias = (1 , . . . , N ). Sea L(; y) el mximo de la loge a verosimilitud como funcin de . Si no nos restringimos a un modelo determinado o entonces L(; y) = L(y; y). (7.16) En este modelo perfecto se tiene un parmetro distinto por observacin. Este modelo a o lo llamamos modelo saturado. Este modelo no tiene ninguna utilidad pues no supone ninguna reduccin de los datos, ning n tipo de modelizacin con lo que esto supone o u o de simplicacin. Sin embargo, es un modelo base con el que compararse. o Denimos la desviacin como o 2 L(; y) L(y; y) . (7.17)
La desviacin es el test del cociente de verosimilitudes donde la hiptesis nula es o o el modelo que estamos considerando frente a la alternativa ms general que supone a la negacin de este modelo. o La distribucin asinttica de la desviacin es una 2 (N p) donde N es el o o o n mero de observaciones (igual al n mero de parmetros en el modelo saturado) y u u a p el n mero de parmetros del modelo asumido en la hiptesis nula. u a o
7.2.
Cuadro 7.1: Relacin entre el ronquido (las) y la enfermedad card o Iaca (columnas) Si 24 35 21 30 No 1355 603 192 224
7.2.1.
si consideramos un solo predictor. El problema que se nos plantea es que no tenemos asegurada que dicha probabilidad est entre cero y uno. Obviamente, es el cambio e en la probabilidad por un cambio unitario de x. Notemos que Y depende de x a travs de (x) . La varianza de la varianza tiende e a cero cuando (x) se aproxima bien a cero bien a uno.
7.2.2.
7.3.
La variable respuesta Y son datos de conteo. Se asume que sigue una distribucin o de Poisson. Denotamos = EY =. Un modelo loglineal con una sola variable predictora ser Ia log = + x, o de otro modo = exp( + x) = e e
x
que en palabras signica que un incremento unitario de la variable x supone que la media de Y , , corresponde a la asociada a x multiplicada por e .
7.3.1.
Es un estudio de apareamiento de cangrejos herradura. Cada hembra tiene un macho residiendo en su nido. En el estudio se trata de investigar qu otros factores e inuyen en que la hembra tenga otros machos, llamados satlites, residiendo en el e entorno. Como variables explicativas tenemos el color de la hembra (C), estado de la columna (S), anchura del caparazn (W), peso (Wt) y como variable respuesta o tenemos el n mero de satlites (Sa). De momento vamos a usar una sola variable u e predictora, la anchura del caparazn W. o Leemos los datos. 4
##tabla 4.3 table.4.3 <read.table(../data/crab.txt,col.names=c("C","S","W","Sa","Wt")) ##Pasamos los pesos a kilogramos table.4.3[,5] <- table.4.3[,5]/1000 En la siguiente gura representamos el n mero de sattites frente a la anchura u e del caparazn. o # Figura 4.3 plot.table.4.3<-aggregate(rep(1,nrow(table.4.3)), list(Sa=table.4.3$Sa, W=table.4.3$W), sum) plot.table.4.3$Sa<-as.numeric(as.vector(plot.table.4.3$Sa)) plot.table.4.3$W<-as.numeric(as.vector(plot.table.4.3$W)) plot(y=plot.table.4.3$Sa,x=plot.table.4.3$W,xlab="Width (cm)", ylab="Number of Satellites", bty="L", axes=F, type="n") axis(2, at=1:15) axis(1) text(y=plot.table.4.3$Sa,x=plot.table.4.3$W,labels=plot.table.4.3$x) Realmente no es fcil observar ning n patrn de comportamiento. Agrupamos a u o las hembras de grupos dependiendo de la anchura. En concreto las categor consiIas deradas sern 0, 23,2], (23,2, 24,2], (24,2, 25,2], (25,2, 26,2], (26,2, 27,2], (27,2, 28,2], a (28,2, 29,2], (29,2, Inf ]. Representamos, en abscisas, la anchura media en cada grupo y, en ordenadas, el n mero medio de satlites. u e # figure 4.4 table.4.3$W.fac<-cut(table.4.3$W, breaks=c(0,seq(23.25, 29.25),Inf)) plot.y<-aggregate(table.4.3$Sa, by=list(W=table.4.3$W.fac), mean)$x plot.x<-aggregate(table.4.3$W, by=list(W=table.4.3$W.fac), mean)$x plot(x=plot.x, y=plot.y, ylab="Number of Satellites", xlab="Width (cm)", bty="L",axes=F, type="p", pch=16) axis(2, at=0:5) axis(1, at=seq(20,34,2)) Vamos a realizar una regresin de Poisson donde utilizados el logaritmo como o funcin link. o log.fit<-glm(Sa~W, family=poisson(link=log),data=table.4.3) summary(log.fit) summary(log.fit) Call: glm(formula = Sa ~ W, family = poisson(link = log), data = table.4.3) Deviance Residuals: Min 1Q Median -2.8526 -1.9884 -0.4933
3Q 1.0970
Max 4.9221
Coefficients: Estimate Std. Error z value Pr(>|z|) (Intercept) -3.30476 0.54224 -6.095 1.10e-09 *** W 0.16405 0.01997 8.216 < 2e-16 *** (Dispersion parameter for poisson family taken to be 1) Null deviance: 632.79 on 172 5 degrees of freedom
on 171
Number of Fisher Scoring iterations: 6 Aparecen los estimadores de los coecientes, sus errores estndar aproximados, a la desviacin residual y un resumen de los residuos de la desviacin. o o La desviacin nula es la desviacin cuando suponemos en el modelo solamente o o el trmino constante. En este caso asumiendo que el coeciente de W es nulo. La e diferencia entre las desviaciones considerando solamente la constante o el modelo que incluye a la variable predictora W puede obtenerse del siguiente modo: log.fit$null.deviance-log.fit$deviance Y el resultado es 1] 64.91309 Este es el valor del estad Istico correspondiente al test del cociente de verosimilitudes. Tiene, en este caso, una distribucin aproximada ji-cuadrado con un grado de o libertad. El p-valor vendr dado por Ia > 1-pchisq(64.91309,df=1) [1] 7.771561e-16 que como vemos es claramente signicativo. Se rechaza la hiptesis nula de que el o coeciente de W es nulo. En la salida que proporciona la funcin summary aparece o un z value que vale 6,095 con un p-valor asociado de 1,10e 09. Esto corresponde con el test de Wald. El test del cociente de verosimilitudes suele ser ms able. a La funcin summary nos devuelve un objeto que tiene mucha ms informacin. o a o Con la funcin attributes podemos verlo. o attributes(summary(log.fit)) Cuya salida es $names [1] "call" [5] "aic" [9] "df.null" [13] "aliased" "cov.scaled" "terms" "contrasts" "iter" "dispersion" "family" "deviance" "df.residual" "null.deviance" "deviance.resid" "coefficients" "df" "cov.unscaled" [17]
$class [1] "summary.glm" Por ejemplo podemos obtener los coecientes como summary(log.fit)$coefficients que nos devuelve Estimate Std. Error z value Pr(>|z|) (Intercept) -3.3047572 0.54224155 -6.094622 1.096964e-09 W 0.1640451 0.01996535 8.216491 2.095450e-16 Es decir, el modelo ajustado es log = 3,305 + 0,164x Podemos utilizar tambin el ajuste original y ver la informacin que contiene el e o objeto que contiene el ajuste. 6
attributes(log.fit) Que nos devuelve $names [1] "coefficients" [4] "effects" [7] "qr" [10] "deviance" "iter" "df.residual" "boundary" "terms" [25] "data" "method" "residuals" "fitted.values" "R" "rank" "family" "linear.predictors" "aic" "null.deviance" [13] "weights" "prior.weights" [16] "df.null" "y" [19] "converged" "model" [22] "call" "formula" "offset" "control" [28] "contrasts" "xlevels"
$class [1] "glm" "lm" Por ejemplo, los valores ajustados para la respuesta, es decir, los valores medios estimados se pueden obtener como log.fit$fitted.values o bien como fitted(log.fit) De un modo similar podemos obtener los residuos o los coecientes utilizando las funciones resid y coef. Podemos tambin predecir la respuesta con la funcin predict del siguiente e o modo. predict.glm(log.fit, type="response", newdata=data.frame(W=26.3)) Estamos haciendo la prediccin de la media del conteo para un valor de W de 26,3. o Vamos a ajustar ahora un modelo de Poisson utilizando como funcin link la o identidad. id.fit<-glm(Sa~W, family=poisson(link=identity),data=table.4.3, start=coef(log.fit)) summary(id.fit) que nos produce lo siguiente Call: glm(formula = Sa ~ W, family = poisson(link = identity), data = table.4.3, start = coef(log.fit)) Deviance Residuals: Min 1Q Median -2.9113 -1.9598 -0.5405
3Q 1.0406
Max 4.7988
Coefficients: Estimate Std. Error z value Pr(>|z|) (Intercept) -11.52547 0.67767 -17.01 <2e-16 *** W 0.54925 0.02968 18.50 <2e-16 ***
(Dispersion parameter for poisson family taken to be 1) Null deviance: 632.79 Residual deviance: 557.71 on 172 on 171 degrees of freedom degrees of freedom AIC: 917
Number of Fisher Scoring iterations: 22 Ahora el modelo ajustado es = 11,41 + 0,55x Vemos pues ahora que la anchura del caparazn tiene un efecto aditivo en lugar de o ser multiplicativo. Vamos a comparar los dos modelos que se han ajustado. plot(x=plot.x, y=plot.y, ylab=expression(paste("Mean number of satellites,", {mu})), xlab="Width (cm)",bty="L",axes=F, type="p", pch=16) axis(2, at=0:5) axis(1, at=seq(20,34,2)) ind<-order(table.4.3$W) lines(x=table.4.3$W[ind],y=log.fit$fitted.values[ind]) lines(x=table.4.3$W[ind],y=id.fit$fitted.values[ind]) arrows(x0=23.5,y0=2.9,x1=23.5,y1=predict(log.fit,newdata=data.frame(W=23.5), type="response"),length=.2) text(x=23.5,y=3,"Log Link") arrows(x0=29.75,y0=3.1,x1=29.75,y1=predict(id.fit,newdata=data.frame(W=29.75), type="response"),length=.2) text(x=29.75,y=2.9,"Identity Link")
7.4.
Vamos a suponer que la variable respuesta Y es ordinal y toma valores 1, . . . , J. Las variables independientes o predictoras sern x = (x1 , . . . , xd ). Pretendemos a modelizar la distribucin de la variable Y condicionada a los valores de x. Hemos o de tener en cuenta que por ser ordinal la variable respuesta tiene sentido (y es la opcin ms simple) modelizar directamente la funcin de distribucin condicionada o a o o dada por P (Y j|x), es decir, la probabilidad de que la variable sea igual o menor que cada posible valor j condicionada a los valores de x. Si denotamos j (x) como la probabilidad de que Y tome el valor j para un x dado, es decir, j (x) = P (Y = j|x) entonces P (Y j|x) = j P (Y = i|x) = j i (x). i=1 i=1 Hay distintos modelos propuestos para este tipo de datos [1], cap tulo 7. El ms extendido se basa en dar un modelo para el logit de la funcin de distribucin a o o condicionada de Y que recibe el nombre de logit acumulado que vendr dado por a logit(P (Y j|x)) = log P (Y j|x) = log P (Y > j|x)
j i=1
i (x) i (x)
J i=j+1
(7.18)
logit(P (Y j|x)) = j +
i=1
i xi , j = 1, . . . , J 1
(7.19)
Es importante darse cuenta de que cada variable independiente tiene un solo coeciente asociado y que no depende del valor j. La dependencia de j aparece en las intersecciones j . 8
Teniendo en cuenta que si j < j entonces logit(P (Y j|x)) logit(P (Y j |x)) se ha de vericar que j j . En denitiva los distintos j han de crecer con j. Notemos tambin que si consideramos dos vectores de variables independientes e x1 = (x11 , . . . , x1d ) y x2 = (x21 , . . . , x2d ) entonces
d
logit(P (Y j|x1 )) logit(P (Y j|x2 )) = j + pero logit(P (Y j|x1 )) logit(P (Y j|x2 )) = log En denitiva estamos armando que P (Y j|x1 )/P (Y > j|x1 ) log = P (Y j|x2 )/P (Y > j|x2 )
d i=1
i=1
i (x1i xi2 ),
(7.20)
i (x1i x2i ).
(7.22)
Al cociente que aparece en el lado izquierdo de la ecuacin anterior recibe el nombre o de cociente de odds acumulado. Los odds de un respuesta menor o igual a j para x = x1 es
d
exp
i=1
i (x1i xi2 )
veces los odds para x = x2 . Adems vemos que esta constante de proporcionalidad a no depende del valor de j. Por ello al modelo que estamos asumiendo se le suele llamar el modelo de odds proporcionales ([? ]). Intentemos expresar el signicado de la ecuacin 7.22 de un modo simple. Suo pongamos que los vectores x1 y x2 son iguales salvo en la componente i-sima. En e denitiva, ambos individuos coinciden salvo en dicha componente y supongamos, adems, que dieren en una unidad ambos vectores para la i-sima componente. a e Tenemos, bajo estas hiptesis, la siguiente ecuacin: o o P (Y j|x1 )/P (Y > j|x1 ) = P (Y j|x2 )/P (Y > j|x2 )
d i=1
(7.23)
Mantenidas todas las dems variables constantes tenemos que el cambio de los odds a de la funcin de distribucin de la variable Y condicionada a x1 y a x2 se modica o o de un modo constante e igual a ei . La funcin de verosimilitud de estos modelos viene dada por la siguiente ecuao cin. Notemos que para el individuo i tenemos asociado el vector (yi1 , . . . , yiJ ) o donde yij ser uno si el individuo est en la categor j, es decir, si la variable Y a a a toma el valor j.
n J n J
j (xi )yij =
i=1 j=1 n J i=1 j=1
exp(j + 1 + j +
i=1 j=1
(7.24)
7.5.
De alguna manera la variable ordinal Y que analizamos puede considerarse como la versin discreta de una variable continua en la que discretizamos su rano go. Denotamos esa variable por Y y suponemos que tiene funcin de distribuo cin G(y ) donde los valores y var alrededor de la media que depeno an d de de x a travs de (x) = e i=1 i (x1i xi2 ). Tomemos los puntos de corte = 0 < 1 < . . . < J = + de modo que Y = j si j1 < Y j . En denitiva estamos asumiendo que cuando la variable continua Y est entre los a valores j1 y j entonces la variable Y vale j. Tendremos que
d
i xi ),
i=1
(P (Y j|x)) = j
d
i xi .
i=1
Si por ejemplo suponemos que Y = i=1 i xi + donde tiene una distribucin o log stica entonces G1 ser la funcin link log a o stica y tendr amos el modelo de odds proporcionales. Notemos que con esta formulacin los mismos parmetros ocurren o a independientemente de los puntos de corte j que utilicemos. En denitiva que los parmetros que cuantican el efecto de las variables no dependen de la eleccin que a o hacemos de las categor de la variable a explicar Y . Esto nos permite comparar as los estimadores cuando se utilizan distintas escalas de respuesta. Si es positivo entonces cuando la variable asociada x crece entonces el logit acumulado decrece y tambin lo hace las probabilidades acumuladas. Tenemos que e los valores peque os de Y tienen menos probabilidad. La variable Y tiende a tomar n valores mayores cuando x crece.
7.6.
Tenemos el vector Y = (Y1 , . . . , Yn ) que suponemos que son observaciones independientes. La densidad de Yi se supone que es de la forma: f (yi | i , ) = exp yi i b(i ) + c(yi , ) a() (7.25)
Esta familia de densidades recibe el nombre de familia de dispersin exponencial. o El parmetro recibe el nombre de parmetro de dispersin. El parmetro i es el a a o a parmetro natural. a Notemos que cuando es conocido la familia de dispersin exponencial se reduce o a la familia exponencial natural cuya expresin genrica viene dada por o e f (yi | i ) = a(i )b(yi ) exp(yi Q(i )) (7.26)
10
Cap tulo 8
Componentes principales
Cuando tomamos medidas sobre personas, objetos, empresas, unidades experimentales de un modo genrico, se tiende a recoger el mximo de variables posible. e a En consecuencia tenemos dimensiones del vector de caracter sticas X grandes. Una opcin consiste en sustituir la observacin original, de dimensin d, por k o o o combinaciones lineales de las mismas. Obviamente pretendemos que k sea mucho menor que d. El objetivo es elegir k de modo que expresen una proporcin razoo nable de la dispersin o variacin total cuanticada como la traza de la matriz de o o covarianza muestral, tr(S), Nota de R 52 (Fichero notaR143) Veamos grcamente el signicado de las a componentes principales si suponemos que tenemos dos variables. Generamos (con [7]) una muestra de tama o 100 con una distribucin normal bivariante con vector n o de medias = (2, 2) y matriz de covarianzas = 1 6 6 16
sigma0= matrix(c(1,6,6,16),ncol=2, byrow=T) x = rmvnorm(n=100, mean=c(1,1),sigma=sigma0) plot(x) x.pc = princomp(x) x.pc$loadings x.pc$loadings[,1] plot(x) abline(h=0) abline(v=0) abline(a=0,b=x.pc$loadings[2,1]/x.pc$loadings[1,1],lty=2) #fig143a
summary(x.pc)
x[,2] 5 4 0
10
0 x[,1]
Figura 8.1:
Sea X un vector aleatorio de dimensin d con vector de medias y matriz o de covarianzas . Sea T = (t1 , t2 , . . . , td ) (los ti indican la i-sima columna de la e matriz) la matriz ortogonal tal que T T = = diag(1 , . . . , d ), donde 1 2 . . . d 0 son los valores propios de la matriz . Sea Y = T (X ). (8.2) (8.1)
Si denotamos la j-sima componente de Y como Yj entonces Yj = t (X ) con e j j = 1, . . . , d. A la variable Yj la llamamos la j-sima componente principal de e e Y . La variable Zj = j Yj es la j-sima componente principal estandarizada de Y . Estas componentes tienen algunas propiedades de gran inters. e Notemos que el vector tj tiene longitud unitaria y, por lo tanto, Yj no es ms a que la proyeccin ortogonal de X en la direccin tj . o o Proposicin 1 o 1. Las variables Yj son incorreladas y var(Yj ) = j . 2. Las variables Zj son incorreladas y con varianza unitaria. Demostracion. En cuanto al apartado primero tenemos que var(Y ) = var(T (X ) = T var(Y )T = T T = . El segundo apartado es directo a partir del primero.
Se verica el siguiente resultado. Teorema 3 Las componentes principales Yj = t (X ) con j = 1, . . . , d tienen j las siguientes propiedades: 1. Para cualquier vector a1 de longitud unitaria, var(a X) alcanza su valor ma 1 ximo 1 cuando a1 = t1 . 2. Para cualquier vector aj de longitud unitaria tal que a ti = 0 para i = j 1, . . . , j 1, se tiene que var(a X toma su valor mximo j cuando aj = tj . a j 3.
d j=1
var(Yj ) =
d j=1
var(Xj ) = traza().
La versin muestral de las componentes principales la obtenemos sustituyendo en o lo anterior y por X y respectivamente. Es importante considerar el estimador de que estamos utilizando (o bien el estimador insesgado donde dividimos por n 1 o bien el estimador en donde dividimos por n). Si denotamos por 1 . . . d los valores propios ordenados de y la matriz T = (t1 , . . . , td ) es la matriz tal que cada columna es el correspondiente vector propio entonces tenemos las componentes principales muestrales dadas por yj = T (xi x). La nueva matriz de datos viene dada por Y = (y1 , . . . , yn ) = T (x1 x, . . . , xn x) (8.3)
Finalmente, si las variables vienen dadas en unidades muy distintas puede ser conveniente sustituir la matriz de covarianzas (poblacional o muestral) por la correspondiente matriz de correlaciones. De hecho, una de los inconvenientes de las componentes principales como un modo de reducir la dimensin de los datos es precio samente que obtenemos resultados distintos si utilizamos las componentes principales obtenidas a partir de la matriz de covarianzas o bien las componentes principales obtenidas a partir de la matriz de correlaciones. A partir de las d variables originales podemos obtener hasta d componentes principales. Sin embargo, hemos dicho que pretendemos reducir la dimensin del vector o de datos. La pregunta a responder es: con cuntas componentes nos quedamos? a Supongamos que estamos trabajando con la matriz de covarianzas . Hemos d d d de recordar que var(yj ) = j y que j=1 var(xj ) = j=1 var(yj ) = j=1 j . En consecuencia se suelen considerar los siguientes cocientes
k j=1 d j=1
j j
, con k = 1, . . . , d,
de modo que, cuando para un cierto valor de k, estamos prximos a la unidad nos o quedamos con ese valor de k. En la versin muestral trabajaremos o bien con los o valores propios de la matriz de covarianzas muestral o la matriz de correlaciones muestrales. Nota de R 53 Vamos a realizar unas componentes principales a partir de las cuatro variables de los datos iris. En principio realizamos utilizamos la matriz de covarianzas muestral. Notemos que la funcin princomp utiliza la matriz dividida por el tama o muestral menos o n uno (n 1). En gura 8.2 aparecen los cocientes entre la suma de los valores propios y la suma de todos ellos. En la gura 8.3 tenemos las dos primeras componentes sobre todos los datos indicando la especie a la que pertenece el individuo. Las guras 8.4 y 8.5 son las anlogas a las guras 8.2 y 8.3 considerando la a matriz de correlaciones muestral. 3
library(MASS) data(iris) iris ir = iris[,1:4] ir.species = c(rep("s",50),rep("c",50),rep("v",50)) ir.pca = princomp(log(ir),cor=F) ir.pca > ir.pca Call: princomp(x = log(ir), cor = F) Standard deviations: Comp.1 Comp.2 Comp.3 Comp.4 1.14273113 0.13789069 0.13480585 0.05362974 4 variables and 150 observations.
summary(ir.pca) > summary(ir.pca) Importance of components: Comp.1 Comp.2 Comp.3 Comp.4 Standard deviation 1.1427311 0.13789069 0.13480585 0.053629741 Proportion of Variance 0.9702335 0.01412726 0.01350223 0.002136976 Cumulative Proportion 0.9702335 0.98436079 0.99786302 1.000000000 if(dib) postscript(file=fig301a.ps,horizontal=F) plot(ir.pca) #Figura a if(dib) dev.off() loadings(ir.pca) ir.pc = predict(ir.pca) ir.pc[1:6,] > ir.pc[1:6,] Comp.1 Comp.2 1 -1.6736850 0.02055683 2 -1.6688436 -0.06797029 3 -1.7142099 0.02006252 4 -1.6422467 -0.09648282 5 -1.6773055 0.03675822 6 -0.9833353 0.25757951
if(dib) postscript(file=fig301b.ps,horizontal=F) #Figura b eqscplot(ir.pc[,1:2],type="n",xlab="Primera componente principal", ylab="Segunda componente principal") text(ir.pc[,1:2],ir.species) if(dib) dev.off()
ir.pca = princomp(log(ir),cor=T) summary(ir.pca) if(dib) postscript(file=fig301c.ps,horizontal=F) plot(ir.pca) #Figura c if(dib) dev.off() ir.pc = predict(ir.pca) if(dib) postscript(file=fig301d.ps,horizontal=F) eqscplot(ir.pc[,1:2],type="n",xlab="Primera componente principal", ylab="Segunda componente principal") text(ir.pc[,1:2],ir.species) if(dib) dev.off()
ir.pca
Variances
0.0
0.2
0.4
0.6
0.8
1.0
1.2
Comp.1
Comp.2
Comp.3
Comp.4
Figura 8.2:
Nota de R 54 (Fichero notaR143) Veamos grcamente el signicado de las a componentes principales si suponemos que tenemos dos variables. Generamos (con [7]) una muestra de tama o 100 con una distribucin normal bivariante con vector n o de medias = (2, 2) y matriz de covarianzas = 1 6 6 16
s 0
ss ss
s ss s s s
ss s ss s
2.0
1.5
1.0
0.5
0.0
0.5
1.0
Figura 8.3:
library(mvtnorm)
sigma0= matrix(c(1,6,6,16),ncol=2, byrow=T) x = rmvnorm(n=100, mean=c(1,1),sigma=sigma0) plot(x) x.pc = princomp(x) x.pc$loadings x.pc$loadings[,1] plot(x) abline(h=0) abline(v=0) abline(a=0,b=x.pc$loadings[2,1]/x.pc$loadings[1,1],lty=2) #fig143a summary(x.pc)
ir.pca
Variances
0.0
0.5
1.0
1.5
2.0
2.5
Comp.1
Comp.2
Comp.3
Comp.4
Figura 8.4:
s s
cc v cc c c c v c cc v v v cc v c c c cc v v v c v v c c cc v v c c c cv v c c vv c c v v c c v c vv v v v c c cvv v v v c v c c v v v v c v v vv v v
Figura 8.5:
x[,2] 5 4 0
10
0 x[,1]
Figura 8.6:
Cap tulo 9
9.1.
La direccin bsica es http://cran.r-project.org. All se tienen tanto las o a fuentes como versiones compiladas para Windows, Mac y Linux. 9
9.1.1.
R y Windows
Los puntos a seguir para una instalacin son los siguientes: o 1. Traer la distribucin base de http://cran.r-project.org/bin/windows/ o base/. 2. El programa se instala simplemente ejecutndolo. a 3. Una vez instalado en el men principal teneis una herramienta que permite u seleccionar el espejo desde traer los paquetes adicionales cmodamente. o Una vez instalado el programa la opcin ms cmoda es utilizar el programa el o a o programa Tinn-R que se puede conseguir en https://sourceforge.net/projects/tinn-r. Vamos escribiendo el cdigo en su o editor y tiene muchas herramientas para interactuar con R. Es, sin duda, la mejor opcin para Windows. o Una segunda opcin es utilizar RWinEdt. Para poder usarlo hay que tener inso talado el programa Winedt (http://www.winedt.com). Es un programa shareware A muy util para escribir en L TEX. Hay que tener instalado WinEdt y cargar el paquete RWinEdt del siguiente modo > library(RWinEdt)
9.1.2.
R y Linux
Instalacin 1. Para Linux hay distintas versiones compiladas. En http://cran. o r-project.org/bin/linux/ se encuentran estas distribuciones. 2. No es complicado compilar R a partir de las fuentes. Hay que tener la precaucin de tener gfortran. o 3. Cuando instalamos R en Linux hemos de instalar previamente la librer a BLAS. La podeis encontrar para openSUSE 10.3 en http://download.opensuse.org/distribution/10.3/repo/oss/suse/ i586/blas-3.1.1-29.i586.rpm. Edicin con Emacs y ESS En Linux sin duda la mejor opcin de trabajo es utio o lizar Emacs http://www.gnu.org/software/emacs/ con el paquete Emacs Speaks Statistics (ESS) 1 . http://ess.r-project.org/ Cmo trabajao mos con Emacs y ESS? 1. Abrimos el chero R con emacs. 2. Abrimos una nueva ventana (mejor separada) con C x 5 2. 3. En la nueva ventana marcamos el icono de R. 4. Utilizamos la ventana donde est el cdigo para editar y podemos usar los a o distintos controles que nos d el men ESS de emacs podemos trabajar a u muy cmodamente. o
9.2.
Empezamos una sesin de R y todo nuestro trabajo (datos, cdigo R) lo tenemos o o en un directorio. Hemos de tener un acceso cmodo a estos cheros. Cmo hacerlo? o o
1 La mejor opcin es acudir a la pgina de los paquetes binarios y buscar en la distribucin o a o correspondiente donde teneis el paquete
10
En Linux no hay problema. Simplemente con la cnsola nos vamos al directorio o correspondiente y ejecutamos R. Automticamente hemos jado el directorio de a trabajo como aqul en que iniciamos el programa. e En Windows lo recomendable es utilizar el men y cambiar el directorio al de u trabajo. Yo recomiendo una vez hecho esto ejecutar: getwd() Nos devuelve todo el camino hasta dicho directorio. Lo que nos devuelve esta funcin o (por ejemplo C: Mis documentos ad prog) lo ponemos entre comillas dobles y ejecutamos setwd("C:\ Mis documentos\ ad\ prog") De este modo hemos jado el directorio de trabajo.
9.3.
Para denotar una variable utilizamos siempre una expresin breve y simple. Sin o embargo, es conveniente que la variable tenga una etiqueta explicativa del signicado de la variable. Dicha etiqueta ha de ser clara y no muy larga.
9.3.1.
Supongamos que la variable a etiquetar es x en el data frame datos. Usamos la librer [9]. a library(Hmisc} label(datos$x) = "Ejemplo de etiqueta"
9.4.
Una vez hemos analizado un banco de datos hemos de elaborar un informe. Normalmente nos va a llevar ms tiempo esta segunda parte que la primera. a
9.4.1.
Sweave
9.5.
R y Octave/Matlab
Es frecuente que un usuario de Octave/Matlab utilice R. En http://cran. r-project.org/doc/contrib/R-and-octave.txt y http://mathesaurus.sourceforge. net/octave-r.html teneis tablas de equivalencia entre los comandos en ambos programas.
11
12
Cap tulo 10
Datos
En este cap tulo damos una breve explicacin de los datos que utilizamos en el o texto. Si los datos han sido obtenidos de alg n paquete de R lo mejor es consultar u la ayuda del paquete correspondiente. Aqu nos centramos en los datos propios.
10.1.
scoremaster
Los datos scoremaster son unos datos relativos a cirug mayor ambulatoria en a el hospital Dr. Peset de Valencia. Han sido proporcionados por el Dr. Juan Vi oles n [? ]. Este chero fue creado con la funcin save de R y se tiene que leer (como parece o esperable) con la funcin load de R. El chero contiene datos relativos a una serie de o intervenciones quir rgicas realizadas con cirug sin ingreso. En estas intervenciones u a el enfermo acude al centro hospitalario por la ma ana y se va el mismo d de la n a intervencin (si no hay complicaciones obviamente). Las variables del banco de datos o son las siguientes: score Una puntuacin del estado general del enfermo en la primera llamada. o eg1 Estado general en primera llamada: Excelente, eufrico, sue o normal (2); buen o n estado pero algo preocupado, ha dormido poco (1); regular, ansiedad moderada, algo mareado, ha dormido mal o nada (0). d1 Nivel de dolor en primera llamada: Ausencia (2); dolor leve (1); dolor importante pero soportable (0). t1 Tolerancia en primera llamada: completa (2); a l quidos (1); nuseas y vmitos a o o incumple dieta (0). s1 Sangrado en primera llamada: Ausencia (2); normal tipo menstruacin, bigotera, o etc (1); dudoso, para observacin (0). o especialidad Es la especialidad a la que corresponde la intervencin. o intensidad Es una variable ordinal que cuantica la intensidad (de menos a ms) a de la intervencin realizada. o tipoanes Tipo de anestesia. asa Clasicacin ASA. o sexo Sexo de la persona. 13
T.TOTALP Tiempo total postquir rgico. u T.QUIRUR Tiempo total quir rgico. u edad Edad del paciente. Las variables score2, eg2, d2, t2, s2 son las mismas variables (con las mismas categor observadas en la segunda llamada. De un modo similar tenemos las variables as) para la tercera, cuarta y quinta llamadas.
14
Cap tulo 11
Matrices
En este apndice incluimos los resultados bsicos de matrices que necesitamos. e a Puntos a incluir: 1. Matriz semidenida positiva y denida positiva. 2. Valor y vector propio. 3. Inversa de una matriz. 4. Una matriz diagonal con valores 1 , . . . , d en la diagonal principal la denotaremos diag(1 , . . . , d ).
11.1. 11.2.
donde el sumatorio se toma sobre todas las posibles permutaciones de (1, 2, . . . , p) y | | es igual a +1 o 1 dependiendo de si se puede expresar como el producto de un n mero par o impar de transposiciones. u
11.3.
La funcin q() es un polinomio de orden p. Las ra o ces de este polinomio reciben el nombre de valores propios de la matriz A. No tienen porqu n meros reales. e u Pueden repetirse los valores de de modo que tengamos ra m ltiples. ces u Supongamos para i = 1, . . . , p que |A i I| = 0. En consecuencia la matriz A i I es singular y tenemos un vector no nulo x tal que Ax = i x. 15 (11.3)
Si un vector x verica la ecuacin 11.3 decimos que es un vector propio de la o matriz A asociado al valor propio i . Si el valor propio es complejo tambin puede e tener componentes complejas el vector propio. Un vector propio x con todas las componentes reales diremos que est estandarizado si tiene mdulo unitario x x = 1. a o Teniendo en cuenta que el coeciente que acompa a a p en el polinomio q() es n (1)p entonces podemos expresar q() en funcin de sus ra del siguiente modo o ces
p
q() =
i=1
(i ).
p
(11.4)
i .
i=1
(11.5)
Si consideremos en las ecuaciones 11.2 y 11.4 el coeciente que acompa a a tenen mos ai i = trA = i , (11.6) y tenemos que la traza de la matriz A coincide con la suma de los valores propios. Teorema 4 Todos los valores propios de una matriz simtrica A(d d) son reales. e
Teorema 5 (Teorema de la descomposicin espectral o teorema de descomposicin de Jordan) o o Cualquier matriz simtrica A(d d) se puede expresar como e A = =
i (i) (i) ,
(11.7)
donde es una matriz diagonal de valores propios y es una matriz ortogonal cuyas columnas son los vectores propios estandarizados.
16
Bibliograf a
[1] A. Agresti. Cualitative Data Analysis. Wiley, 2nd edition edition, 2002. [2] R core members, Saikat DebRoy, Roger Bivand, and others: see COPYRIGHTS le in the sources. foreign: Read Data Stored by Minitab, S, SAS, SPSS, Stata, Systat, dBase, ..., 2006. R package version 0.8-18. [3] C.L. Blake D.J.Newman, S. Hettich and C.J. Merz. UCI repository of machine learning databases, 1998. [4] E.R. Dougherty. Probability and Statistics for the Engineering, Computing and Physical Sciences. Prentice Hall International Editions, 1990. [5] Julian Faraway. faraway: Functions and datasets for books by Julian Faraway., 2006. R package version 1.0.0. [6] R.A. Fisher. The analysis of covariance method for the relation between a part and the whole. Biometrics, 3:6568, 1947. [7] Alan Genz, Frank Bretz, and R port by Torsten Hothorn. mvtnorm: Multivariate Normal and T Distribution, 2006. R package version 0.7-5. [8] J.A. Hartigan and M.A. Wong. A k-means clustering algorithm. Applied Statistics, 28:100108, 1979. [9] Frank E Harrell Jr and with contributions from many other users. Hmisc: Harrell Miscellaneous, 2007. R package version 3.3-2. [10] L. Kaufman and P.J. Rousseeuw. Finding Groups in Data. An Introduction to Cluster Analysis. Wiley, 1990. [11] Uwe Ligges. R-winedt. In Kurt Hornik, editor, Proceedings of the 3rd International Workshop on Distributed Statistical Computing (DSC 2003), TU Wien, Vienna, Austria, 2003. ISSN 1609-395X. [12] Martin Maechler, Peter Rousseeuw, Anja Struyf, and Mia Hubert. Cluster analysis basics and extensions. Rousseeuw et al provided the S original which has been ported to R by Kurt Hornik and has since been enhanced by Martin Maechler: speed improvements, silhouette() functionality, bug xes, etc. See the Changelog le (in the package source), 2005. [13] J. Pitman. Probability. Springer-Verlag, 1999. [14] R Development Core Team. R: A Language and Environment for Statistical Computing. R Foundation for Statistical Computing, Vienna, Austria, 2006. ISBN 3-900051-07-0. [15] W.N. Venables and B. D. Ripley. Modern Applied Statistics with S. Springer, New York, fourth edition, 2002. ISBN 0-387-95457-0. [16] J. Verzani. Using R for Introductory Statistics. Chapman & Hall / CRC, 2005. 17