0. Los datos de la práctica

load(url('http://goo.gl/VBCKLE'))
load(url('http://goo.gl/qX6u1T'))

1. Objetivo: ¿cómo influyen unas variables (X’s) sobre otra variable (Y)?

2. Regresión lineal simple y múltiple

2.1. Requisitos

  • \(Y\) es numérica
  • \(X\)’s son numéricas (y con muchos valores posibles)
  • Regresión simple: \(Y\) depende LINEALMENTE solo de una variable \(X\):
    • Es adecuada cuando un gráfico XY de los datos muestra una nube de puntos en torno a una recta en el plano \(XY\).
  • Regresión múltiple: \(Y\) depende LINEALMENTE de varias variables \(X\)’s:
    • No se puede representar gráficamente, por eso hay que confiar en que es adecuada, y posteriormente comprobar si es adecuada mediante técnicas que no veremos en esta sesión.
  • Ejemplo:

2.2. Objetivos de la regresión lineal

  • Comprender en qué manera afecta el valor de \(X\) al valor de \(Y\) (mediante una ecuación).
  • Usar esa ecuación para predecir valores de \(Y\) cuando se saben los valores de \(X\).

2.3. Ecuación de la recta (o hiperplano) de regresión

  • Regresión simple: \(Y\) depende solo de una variable \(X\):
    • Ecuación de la recta de regresión de \(Y\) sobre \(X\):
      • \(Y = a + bX\) donde:
        • \(a\) es la ordenada en el origen (Intercept)
        • \(b\) es la pendiente
      • Es la recta que más se aproxima (en cierto sentido) a la nube de puntos
  • Regresión múltiple: \(Y\) depende de varias variables \(X\)’s:
    • Ecuación del hiperplano de regresión de \(Y\) sobre \(X_1\), \(X_2\), etc.:
      • \(Y = a + b_1X_1 + b_2 X_2 + \cdots\) donde:
        • \(a\) es la ordenada en el origen (Intercept)
        • \(b_1\) es el coeficiente de \(X_1\)
        • \(b_2\) es el coeficiente de \(X_2\),…
      • Es el hiperplano que más se aproxima (en cierto sentido) a la nube de puntos
  • Con R:
    • FUNCIÓN lm(formula, data, subset)
    • ARGUMENTOS:
      • formula: en el caso simple, es una expresión de la forma y ~ x, donde y debe ser la etiqueta o nombre de la variable dependiente, el símbolo ~ expresa la dependencia, x debe ser la etiqueta o nombre de la variable independiente. En el caso múltiple, es una expresión de la forma y ~ x1 + x2 + ..., donde y debe ser la etiqueta o nombre de la variable dependiente, el símbolo ~ expresa la dependencia, x1, x2, ... deben ser las etiquetas o nombres de las variables independientes.
      • data: nombre de la hoja de datos con las variables en juego (o nada si los datos están en vectores).
      • subset: opcional, un vector para indicar un sobconjunto de los datos (por ejemplo, una columna con un valor concreto, columna=="valor").
    • DEVUELVE: un objeto de una clase especial. Por pantalla muestra:
      • Coefficients:
        • Intercept (el término independiente, el \(a\)).
        • Bajo cada etiqueta de variable independiente: el coeficiente correspondiente.
    • La ecuación de la recta de regresión (o hiperplano) se escribe usando los coeficientes obtenidos. Como \(Y = a + bX\) en el caso simple o \(Y = a + b_1X_1 + b_2 X_2 + \cdots\) en el caso múltiple.

2.4. Bondad de ajuste (coeficiente \(R^2\) o bien \(\overline{R}^2\))

  • Es una forma de medir lo cerca que está la nube de puntos, de la recta (o hiperplano) de regresión.
  • Se usa como índice de calidad de las predicciones hechas dentro del rango de los datos de la muestra.
  • En regresión simple:
    • se usa el coeficiente R-cuadrado (\(R^2\), Multiple R-squared)
    • siempre es un valor entre 0 y 1
    • mejor ajuste cuanto mayor sea su valor
  • En regresión múltiple:
    • se usa el coeficiente R-cuadrado ajustado (\(\overline{R}^2\), Adjusted R-squared)
    • su valor puede ser negativo o mayor que 1
    • mejor ajuste cuanto mayor sea su valor
  • Con R:
    • FUNCIÓN summary():
    • ARGUMENTOS: el resultado de la función lm(), que se ha llamado antes.
    • DEVUELVE: por pantalla, mucha información, entre la que destacamos los DOS coeficientes de bondad de ajuste:
      • \(R^2\) (llamado Multiple R-squared, y usado para regresión simple)
      • \(\overline{R}^2\) (llamado Adjusted R-squared, y usado para regresión múltiple).

2.5. Predicciones de \(Y\) a partir de datos de las \(X\)’s

  • Si el ajuste es bueno, los valores de \(Y\) están cerca de la ecuación de la regresión.
  • Entonces la recta proporciona aproximaciones de \(Y\) para valores de \(X\)’s conocidos (sustituyendo las \(X\)’s en la ecuación)
  • Con R:
    • FUNCIÓN predict(object, newdata,...)
    • ARGUMENTOS:
      • object: el resultado de la función lm(), que se ha llamado antes.
      • newdata: hoja de datos con alguna(s) columna(s) cuya(s) etiqueta(s) coincida(n) con la(s) de la(s) variable(s) independiente(s). Si no hay, se debe crear, de la forma data.frame(x1=..., x2=..., xp=...), donde x1, x2, …, xp son las etiquetas de las variables independientes que correspondan.
    • DEVUELVE: un vector (etiquetado) con las predicciones obtenidas con la recta (o hiperplano) de regresión, para los datos indicados en el argumento newdata.

2.6. Ejercicios de regresión lineal

EJERCICIO 1: Escribe en la consola data(mtcars) y recuerda la explicación de los datos con help(mtcars). Tendrás definida la variable mtcars para realizar las siguientes tareas:

  • 1.1. Representa gráficamente el consumo (mpg) en función de la cilindrada del motor (disp)

  • 1.2. Suponiendo correcto el modelo lineal de la dependencia del consumo (mpg) sobre la cilindrada del motor (disp), escribe la ecuación de la recta de regresión usando todos los coches de los datos mtcars. (Sol.: \(mpg=29.5999-0.0412151·disp\)).

  • 1.3. Escribe el coeficiente de bondad de ajuste de dicha recta de regresión. (Sol.: \(0.7183433\), como es regresión simple, es decir, solo 1 variable “X”, entonces devolvemos el R-cuadrado “múltiple”, aunque parezca paradójico).

  • 1.4. Realiza la predicción de “millas por galón”, para un coche cuya cilindrada es de 230 pulgadas cúbicas. (Sol.: \(20.1203772\) millas).

FIN EJERCICIO 1

EJERCICIO 2

  • Repite los apartados del EJERCICIO 1, pero usando sólo los datos de los coches de 4 cilindros. (Ayuda: usar el argumento subset)

    • 2.1.

    • 2.2. (Sol.: \(mpg=40.872-0.135142·disp\)).
    • 2.3. (Sol.: \(0.6484051\), como es regresión simple, es decir, solo 1 variable “X”, entonces devolvemos el R-cuadrado “múltiple”, aunque parezca paradójico).
    • 2.4. (Sol.: \(9.789338\) millas).
  • 2.5. ¿Qué ajuste ha salido mejor, el que usaba todos los datos, o el que usa solo los de coches de 4 cilindros? (Sol.: El que usa todos los datos, porque su coeficiente de bondad de ajuste es mayor).

FIN EJERCICIO 2

EJERCICIO 3

Ahora supongamos que analizamos el modelo lineal de dependencia del consumo (mpg) sobre la cilindrada del motor (disp) y el peso del vehículo (wt).

  • 3.1. Obtén el hiperplano de regresión usando los datos de todos los coches. (\(mpg=34.9606-0.0177247·disp-3.35083·wt\)).
  • 3.2. Calcula el coeficiente de bondad de ajuste adecuado para esta regresión. (Sol.: \(0.7658223\), es el ajustado, porque es regresión múltiple, con 2 variables “X”).
  • 3.3. Realiza la predicción de “millas por galón”, para un coche cuya cilindrada es de 230 pulgadas cúbicas y un peso de 3500 libras (ATENCIÓN! el peso de los coches, en los datos, va expresado en miles de libras). (Sol.: \(19.1559742\) millas).

FIN EJERCICIO 3

3. Análisis de varianza (ANOVA) de una vía

3.1. Requisitos para poder aplicar ANOVA

  • \(X\) es variable CUALITATIVA, o CUANTITATIVA (se le llamará factor), con pocos valores posibles, \(x_1\), \(x_2\), \(\ldots\) (se les llamará niveles del factor).
  • \(Y\) es variable CUANTITATIVA.
  • Para cada nivel \(x_i\) del factor \(X\) (es decir, cuando \(X = x_i\)), el valor de \(Y\) es aleatorio según el modelo normal de media \(\mu_i\) y varianza \(\sigma^2\)
  • Las medias \(\mu_1\), \(\mu_2\), \(\ldots\) son desconocidas y pueden ser iguales o distintas entre sí.
  • La varianza \(\sigma^2\) es desconocida, pero debe ser la misma en todos los niveles del factor \(X\).
  • Nota: La comprobación de los requisitos de ANOVA quedan fuera del alcance de esta práctica, por lo que asumiremos que son ciertos sin necesidad de comprobarlos.

3.2. Objetivo del ANOVA

  • Averiguar si el factor \(X\) influye o no sobre el valor de \(Y\)
  • En otras palabras, decidir si las medias \(\mu_1\), \(\mu_2\), \(\ldots\) son TODAS iguales o no
  • Ejemplo:

3.3. Tabla ANOVA y decisión

  • Hay que resolver el contraste de hipótesis \(\left\{ \begin{array}{ll} H_0: & \mu_1 = \mu_2 = \mu_3 = ... \\ H_1: & \text{no son todas iguales} \end{array} \right.\)
  • Este contraste se resuelve históricamente con una tabla (llamada Tabla ANOVA), que conduce a calcular un estadístico \(F\), cuyo \(p\)-valor es el que sirve para decidir si aceptar \(H_0\) o rechazarla (en favor de \(H_1\)).
  • RECUERDA: “Rechazar \(H_0\) si y sólo si \(p\)-valor < significación”
  • Con R:
    • PASO 1: Al principio hay que crear el objeto que tendrá todos los cálculos del ANOVA, pero no los muestra.
      • FUNCIÓN aov(formula, data)
      • ARGUMENTOS:
        • formula: expresión de la forma y ~ x, donde y contiene los datos de la variable \(Y\) y x los del factor X.
        • data: hoja de datos con las variables implicadas. Si se omite, se buscan entre los vectores definidos en R.
      • DEVUELVE: un resumen de la tabla ANOVA por pantalla, y un objeto de la clase aov (al que se le pueden aplicar otras funciones de interés).
    • PASO 2: Una vez creado el objeto, se puede ver la tabla ANOVA por pantalla:
      • FUNCIÓN summary( object ), donde object es el resultado de aov()
      • DEVUELVE: la tabla ANOVA por pantalla, en la que aparecen todos los cálculos, y a la derecha, el \(p\)-valor para decidir el contraste de hipótesis, bajo el símbolo Pr(F>).
  • RECUERDA:
    • \(p\)-valor < significación” \(\mapsto\) “rechazar H0” \(\mapsto\) “NO todas las medias son iguales” \(\mapsto\) “el factor X sí afecta a la Y” \(\mapsto\) “La variable Y NO es independiente del factor X”
    • \(p\)-valor > significación” \(\mapsto\) “aceptar H0” \(\mapsto\) “todas las medias son iguales” \(\mapsto\) “el factor X no afecta a Y” \(\mapsto\) “La variable Y es independiente del factor X”

3.4. Comparaciones a posteriori (método LSD de Fisher)

  • Si el contraste ANOVA conduce a rechazar \(H_0\), entonces creemos que hay niveles del factor \(X\) que dan lugar a distintas medias de \(Y\) (por tanto algún nivel de \(X\), o varios, son mejores que otros, por dar mejores valores para la \(Y\)).
  • Las comparaciones a posteriori crean el ránking de niveles ordenados por el valor medio de la \(Y\), de mayor a menor. Además se codifica cada nivel con una letra (a, b,…) de modo que:
    • si dos niveles tienen una misma letra, el valor medio de \(Y\) para esos dos niveles NO es significativamente distinto. Es decir, se pueden considerar “empatados”.
    • se puede crear una situación paradójica: dos niveles tienen media de \(Y\) significativamente distinta, pero un nivel “intermedio” entre ellos no es significativamente distinto de ninguno de ellos, entonces:
      • nivel superior (letra a)
      • nivel intermedio (letras ab, porque “empata” con el nivel superior y también con el nivel inferior)
      • nivel inferior (letra b, porque no empata con el nivel superior)
  • Con R:
    • FUNCIÓN LSD.test(y, trt, alpha, console). ¡Atención! Hay que tener instalado, y cargado, el paquete agricolae (ir al menú Packages).
    • ARGUMENTOS:
      • y: objeto devuelto por la función aov().
      • trt: nombre (etiqueta entrecomillada) de la variable factor.
      • alpha: nivel de significación deseado (0.05 por defecto).
      • console: poner a TRUE para visualizar resultado.
    • DEVUELVE: por pantalla,
      • Una tabla con los niveles del factor, las medias de la variable \(Y\) para cada nivel, el número de observaciones y el intervalo de confianza de los datos a dicho nivel;
      • Estadísticos varios,
      • LSD: valor de la mínima distancia significativa, y
      • Una tabla clasificatoria donde figuran los niveles ordenados de mayor media a menor media (de la v. dependiente), y se codifican en grupos (a, b, etc.) según se separen por la LSD o no. Si un nivel no se puede separar del grupo anterior a ni del siguiente b, entonces forma parte de un grupo mixto ab, que ni coincide ni se distingue de los otros dos, etc.
  • En el ejemplo de la sección 3.2:
    • En el caso de la izquierda, debería salir “aceptar H0” \(\mapsto\) creemos que todas las medias son iguales \(\mapsto\) el factor GRUPO no parece afectar a la NOTA \(\mapsto\) no procede establecer un ranking, porque aceptamos que todos los GRUPOs “empatan” respecto a la NOTA media.
    • En el caso de la derecha, debería salir “rechazar H0” \(\mapsto\) NO todas las medias son iguales \(\mapsto\) el factor GRUPO sí afecta a la NOTA \(\mapsto\) sí procede establecer el ranking:
      • Habría un nivel superior (grupo LA2), luego un nivel medio (grupos LA1 y LA4, “empatados”, indistinguibles entre sí), y un nivel inferior (grupo LA3). Esto es intuitivo. La estadística nos dará el criterio objetivo, según el nivel de significación (\(\alpha\)) elegido.

EJERCICIO 4

Un estudio pretende encontrar el mejor tipo de alimento para que los pollos de una granja cojan más peso. Se dividen los pollos en grupos parecidos y a cada grupo se le da un tipo de alimento. Tras un tiempo se pesa todos los pollos, y los datos se recogen en la variable chickwts. Para ello tienes que escribir en la consola data(chickwts).

  • 4.1. Representa gráficamente el peso de los pollos en función de su dieta.

  • 4.2. Intuitivamente,¿crees que todas las dietas conducen a un mismo peso medio de los pollos? (Sol.: (lo que te dicte la intuición estará bien)).

  • 4.3.¿A qué conclusión lleva un ANOVA si usas una significación del 5 %? (Sol.: p-valor = 0.000000000594 < alpha = 0.05, por tanto rechaza \(H_0\), por tanto los pesos medios NO son iguales todos; por tanto creemos que la dieta sí afecta al peso).

  • 4.4. Realiza las comparaciones a posteriori, si procede, para poner en un ranking las dietas, usando la misma significación. (Sol.: Ranking: sunflower (a) > casein (a) > meatmeal (b) > soybean (bc) > linseed (c) > horsebean (d)).

FIN EJERCICIO 4

EJERCICIO 5: Se analiza el tiempo que tarda un programa multiplataforma en realizar una tarea, según el sistema operativo donde se ejecuta. Los datos están en vectores sueltos (el vector tiempo almacena el tiempo, mientras que el vector sist almacena en qué sistema operativo se ejecutó la tarea).

  • 5.1. Representa gráficamente los tiempos de cada sistema operativo. (Sol.: plot(factor(sist), tiempo) (para que salgan cajas es preciso convertir la variable factor a factor en R)).

  • 5.2. Intuitivamente,¿crees que el sistema operativo influye sobre el tiempo? (Sol.: (lo que te dicte la intuición estará bien).

  • 5.3.¿A qué conclusión lleva un ANOVA si usas una significación del 5 %? (Sol.: p-valor = 0.9103 > alpha = 0.05, por tanto aceptar \(H_0\), por tanto \(\mu_W = \mu_L = \mu_M\), por tanto sist no afecta a tiempo).

  • 5.4. Realiza las comparaciones a posteriori, si procede, para poner en un ranking los sistemas, usando la misma significación. (Sol.: No proceden las “comparaciones a posteriori” porque han empatado los 3 sistemas)..

FIN EJERCICIO 5

EJERCICIO 6 Un dispositivo se vende al público bajo tres marcas (“A”, “B” y “C”). La variable dispositivos es una hoja de datos con los precios del dispositivo según marca en 50 tiendas.

  • 6.1. Representa un diagrama de caja comparativo de los precios de dispositivos según marca.

  • 6.2. Intuitivamente,¿crees que el precio medio es igual para las tres marcas? (Sol.: (lo que te dicte la intuición estará bien)).

  • 6.3.¿A qué conclusión lleva un ANOVA si usas una significación del 5 %? (Sol.: \(p\)-valor < 2e-16 < 0.05, por tanto rechazar \(H_0\), por tanto “marca SI influye en precio”).

  • 6.4. Realiza comparaciones a posteriori, si procede, para poner en un ranking las marcas, usando la misma significación. ¿Qué grupos de marcas salen? (Sol.: El ranking es A (a) > B (b) > C (c)).

FIN EJERCICIO 6

4. Resumen de regresión lineal y ANOVA

5. Ejercicio extra

EJERCICIO 7: Para los datos de la encuesta x, si el peso de un individuo está parcialmente explicado por su altura, analizamos la recta de regresión del peso sobre la altura.

FIN EJERCICIO 7