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 (una sola \(X\)) o múltiple (varias \(X\)’s)

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)
    • 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).
    • 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=...).
    • 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)
    • Sol.: (nube de puntos, práctica 2)
  • 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.5998548 -0.0412151 * disp\).
  • 1.3. Escribe el coeficiente de bondad de ajuste de dicha recta de regresión
    • Sol.: \(0.7183433\).
  • 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.
    • 2.1. Sol.: (nube de puntos, práctica 2)
    • 2.2. Sol.: \(mpg = 40.8719553 -0.1351418 * disp\).
    • 2.3. Sol.: \(0.6484051\)
    • 2.4. Sol.: \(9.789338\) millas.
  • 2.5. ¿Qué ajuste ha sido 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
    • Sol.: \(mpg = 34.960554 -0.0177247 * disp -3.3508253 * 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).
  • 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.
    • Sol.: \(19.1559742\) millas.

FIN EJERCICIO 3

EJERCICIO 4: 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.

  • 4.1. Representa gráficamente el peso de la gente (peso) en función de la altura (altura)
    • Sol.: (nube de puntos, práctica 2)
  • 4.2. Escribe la ecuación de la recta de regresión y calcula el coeficiente R-cuadrado de bondad de ajuste, cuando se usan los datos de TODOS los encuestados.
    • Sol.: \(peso = -35.7439582 + 0.6296538 * altura\), R-cuadrado = 0.0579281 (muy bajo).
  • 4.3. Repite el apartado anterior sin tener en cuenta un individuo que marcó un peso de 175 kg.
    • Sol.: \(peso = -55.2998638 + 0.7235394 * altura\), R-cuadrado = 0.3364361 (también bajo, pero más normal).
  • 4.4. Repite el ejercicio anterior pero restringiendo los datos a los encuestados que usan Windows como sistema operativo en PC (no olvides excluir al de los 175kg, que debe haber sido un dato erróneo).
    • Sol.: \(peso = -90.8621709 + 0.9223536 * altura\), R-cuadrado = 0.3919589.
  • 4.5. Predice el peso de alumnos de todas las alturas entre 165 y 185 cm usando la recta de regresión del peso sobre la altura para todos los individuos que usan Windows en PC (no olvides excluir al de los 175kg).
    • Sol.: 61.3261687, 62.2485223, 63.1708759, 64.0932294, 65.015583, 65.9379366, 66.8602902, 67.7826437, 68.7049973, 69.6273509, 70.5497045, 71.472058, 72.3944116, 73.3167652, 74.2391188, 75.1614723, 76.0838259, 77.0061795, 77.928533, 78.8508866, 79.7732402

FIN EJERCICIO 4

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

3.1. Requisitos para poder aplicar ANOVA

  • \(X\) es variable CUALITATIVA, o CUANTIATIVA, con pocos valores posibles, \(x_1\), \(x_2\), \(\ldots\).
  • \(Y\) es variable CUANTITATIVA.
  • A \(X\) se le llama factor, y a cada valor distinto de \(X\) se le llama nivel.
  • Cuando \(X = x_i\), el valor de \(Y\) asociado a dicho valor de \(X\) sigue 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 es la misma en todos los niveles del factor.
  • Nota: La comprobación de los requisitos de ANOVA quedan fuera del alcance de esta práctica.

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
    • \(H_0: \mu_1 = \mu_2 = \mu_3 = ...\), contra
    • \(H_1:\) no son todas iguales
  • 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 H0 si y sólo si \(p\)-valor < significación”
  • Con R:
    • 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).
    • 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: “Rechazar H0 si y sólo si \(p\)-valor < significación”
  • En el ejemplo de la sección 3.2:
    • En el caso de la izquierda, debería salir “aceptar H0”, todas las medias son iguales, el factor GRUPO no afecta a la NOTA
    • En el caso de la derecha, debería salir “rechazar H0”, NO todas las medias son iguales, el factor GRUPO sí afecta a la NOTA

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

  • Si el contraste ANOVA resulta aceptar \(H_0\) (igualdad de medias) entonces admitimos que el factor \(X\) NO influye sobre (el valor medio de) \(Y\).
  • Pero si resulta rechazar \(H_0\), entonces admitimos que hay niveles del factor \(X\) que dan lugar a mayores medias de \(Y\) (por tanto uno o unos son mejores que otros).
  • 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 nodo que:
    • si dos niveles tienen una misma letra, el valor medio de \(Y\) para esos dos niveles NO es significativamente distinto
    • si dos niveles tienen media de \(Y\) significativamente distinta, pero un nivel intermedio no es distinto de ninguno de ellos, entonces:
      • nivel superior (letra a)
      • nivel inferior (letra b)
      • nivel intermedio (letras ab)
  • 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 donde figuran los niveles por orden de media, 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”, todas las medias son iguales, el factor GRUPO no afecta a la NOTA, no procede establecer un ranking, porque todos los GRUPOs tienen igual media de NOTA
    • En el caso de la derecha, debería salir “rechazar H0”, NO todas las medias son iguales, el factor GRUPO sí afecta a la NOTA, y sí procede establecer el ranking:
      • Habría un nivel superior (grupo LA2), luego un nivel medio (grupos LA1 y LA4, 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 9

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

  • 9.1. Representa gráficamente el peso de los pollos en función de su dieta.
    • Sol.: (diagrama de caja, práctica 2)
  • 9.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)
  • 9.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; la dieta sí afecta al peso.
  • 9.4. Realiza las comparaciones a posteriori, si procede, para poner en un ranking los sistemas, usando la misma significación.
    • Sol.: Ranking: (a) sunflower, casein; (b) meatmeal; (bc) soybean; (c) linseed; (d) horsebean.

FIN EJERCICIO 9

EJERCICIO 10: 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).

  • 10.1. Representa gráficamente los tiempos de cada sistema operativo
    • Sol.: (diagrama de caja, práctica 1 o 2)
  • 10.2. Intuitivamente,¿crees que el sistema operativo influye sobre el tiempo?
    • Sol.: (lo que te dicte la intuición estará bien)
  • 10.3.¿A qué conclusión lleva un ANOVA si usas una significación del 5 %?
    • Sol.: p-valor = 0.910310311908374 > alpha = 0.05, por tanto aceptar \(H_0\), por tanto \(\mu_W = \mu_L = \mu_M\), sist no afecta a tiempo
  • 10.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”.

FIN EJERCICIO 10

EJERCICIO 11 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.

  • 11.1. Representa un diagrama de caja comparativo de los precios de dispositivos según marca.
    • Sol.: (dibujo)
  • 11.2. Intuitivamente,¿crees que el precio medio es igual para las tres marcas?
    • Sol.: (lo que te dicte la intuición estará bien)
  • 11.3.¿A qué conclusión lleva un ANOVA si usas una significación del 5 %?
    • Sol.: \(p\)-valor = 6.10814587034016e-22 < 0.05, por tanto rechazar \(H_0\), por tanto “marca SI influye en precio”.
  • 11.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 11