curso de r - análisis estadísticos con r - afición por la fotografía · 2011-08-16 · gamma,...

24
Análisis Estadísticos con R Ibon Martínez http://fdesnedecor.wordpress.com/ ´μ¸¹½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 1/22

Upload: lythuan

Post on 09-Apr-2019

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Curso de R - Análisis Estadísticos con R - Afición por la fotografía · 2011-08-16 · gamma, geom, hyper, lnorm, logis, nbinom, t, weibull, wilcox,

Análisis Estadísticos con RIbon Martínez

http://fdesnedecor.wordpress.com/

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 1/22

Page 2: Curso de R - Análisis Estadísticos con R - Afición por la fotografía · 2011-08-16 · gamma, geom, hyper, lnorm, logis, nbinom, t, weibull, wilcox,

Los datos

Vamos a plantear una serie de análisis estadísticos con R, para los cuales

vamos a utilizar los datos que vienen por defecto en las instalaciones de R,iris.

> iris[c(1:3, 51:53, 101:103), ]

Sepal.Length Sepal.Width Petal.Length Petal.Width Species

1 5.1 3.5 1.4 0.2 setosa

2 4.9 3.0 1.4 0.2 setosa

3 4.7 3.2 1.3 0.2 setosa

51 7.0 3.2 4.7 1.4 versicolor

52 6.4 3.2 4.5 1.5 versicolor

53 6.9 3.1 4.9 1.5 versicolor

101 6.3 3.3 6.0 2.5 virginica

102 5.8 2.7 5.1 1.9 virginica

103 7.1 3.0 5.9 2.1 virginica

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 2/22

Page 3: Curso de R - Análisis Estadísticos con R - Afición por la fotografía · 2011-08-16 · gamma, geom, hyper, lnorm, logis, nbinom, t, weibull, wilcox,

Descriptivos - La función summary

> summary(iris$Sepal.Length)

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

4.300 5.100 5.800 5.843 6.400 7.900

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 3/22

Page 4: Curso de R - Análisis Estadísticos con R - Afición por la fotografía · 2011-08-16 · gamma, geom, hyper, lnorm, logis, nbinom, t, weibull, wilcox,

Descriptivos - La función summary

> tapply(iris$Sepal.Length, INDEX = iris$Species, FUN = "summary")

$setosa

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

4.300 4.800 5.000 5.006 5.200 5.800

$versicolor

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

4.900 5.600 5.900 5.936 6.300 7.000

$virginica

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

4.900 6.225 6.500 6.588 6.900 7.900

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 4/22

Page 5: Curso de R - Análisis Estadísticos con R - Afición por la fotografía · 2011-08-16 · gamma, geom, hyper, lnorm, logis, nbinom, t, weibull, wilcox,

Descriptivos - La función quantile

> quantile(iris$Sepal.Length)

0% 25% 50% 75% 100%

4.3 5.1 5.8 6.4 7.9

> quantile(iris$Sepal.Length, probs = c(0, 0.2, 0.4, 0.6, 0.8, 1))

0% 20% 40% 60% 80% 100%

4.30 5.00 5.60 6.10 6.52 7.90

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 5/22

Page 6: Curso de R - Análisis Estadísticos con R - Afición por la fotografía · 2011-08-16 · gamma, geom, hyper, lnorm, logis, nbinom, t, weibull, wilcox,

Descriptivos - La función quantile

> tapply(iris$Sepal.Length, INDEX = iris$Species, FUN = "quantile")

$setosa

0% 25% 50% 75% 100%

4.3 4.8 5.0 5.2 5.8

$versicolor

0% 25% 50% 75% 100%

4.9 5.6 5.9 6.3 7.0

$virginica

0% 25% 50% 75% 100%

4.900 6.225 6.500 6.900 7.900

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 6/22

Page 7: Curso de R - Análisis Estadísticos con R - Afición por la fotografía · 2011-08-16 · gamma, geom, hyper, lnorm, logis, nbinom, t, weibull, wilcox,

Descriptivos - La función fivenum

la función fivenum devuelve los cinco números de Tukey (mínimo, primer

cuartil, mediana, tercer cuartil, máximo) de los datos.

> fivenum(iris$Sepal.Length)

[1] 4.3 5.1 5.8 6.4 7.9

> tapply(iris$Sepal.Length, INDEX = iris$Species, FUN = "fivenum")

$setosa

[1] 4.3 4.8 5.0 5.2 5.8

$versicolor

[1] 4.9 5.6 5.9 6.3 7.0

$virginica

[1] 4.9 6.2 6.5 6.9 7.9

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 7/22

Page 8: Curso de R - Análisis Estadísticos con R - Afición por la fotografía · 2011-08-16 · gamma, geom, hyper, lnorm, logis, nbinom, t, weibull, wilcox,

Descriptivos - Más funciones

Hay muchísimas funciones en R que permiten describir una distribución

mediante estadísticos: mean, media, IQR, boxplot.stat, range, min, max, . . .

Hay otras funciones descriptivas, por ejemplo el coeficiente de asimetría, que

no se encuentran en los paquetes básicos . . . , pero, un momento, nosotros yasabemos programar:

> skewness = function(x) {

+ x <- x[!is.na(x)]

+ m3 = mean((x - mean(x))^3)

+ skew = m3/(sd(x)^3)

+ skew

+ }

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 8/22

Page 9: Curso de R - Análisis Estadísticos con R - Afición por la fotografía · 2011-08-16 · gamma, geom, hyper, lnorm, logis, nbinom, t, weibull, wilcox,

Distribuciones de probabilidad

Un uso común es proporcionar un amplio conjunto de funciones estadísticas.

Las funciones están previstas para evaluar la función de densidad deprobabilidad, la función de distribución acumulada P (X ≤ x) y la función

cuantil (dado q, el valor más pequeño x tal que P (X ≤ x) > q), y simular unadistribución.

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 9/22

Page 10: Curso de R - Análisis Estadísticos con R - Afición por la fotografía · 2011-08-16 · gamma, geom, hyper, lnorm, logis, nbinom, t, weibull, wilcox,

Distribuciones de probabilidad

Un uso común es proporcionar un amplio conjunto de funciones estadísticas.

Las funciones están previstas para evaluar la función de densidad deprobabilidad, la función de distribución acumulada P (X ≤ x) y la función

cuantil (dado q, el valor más pequeño x tal que P (X ≤ x) > q), y simular unadistribución.

En general, las funciones de probabilidad en R vienen dadas por el nombrepor el que se las conoce en inglés (normal = norm, poisson = pois, binomial =

binom, . . . ) y vienen precedidas por un prefijo según los valores a obtener, asítenemos d, dnorm si queremos valores de una distribución normal, p, pnorm si

queremos valores de probabilidad, q, qnorm si queremos valores cuantiles y r,rnorm si queremos valores aleatorios de una distribución normal.

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 9/22

Page 11: Curso de R - Análisis Estadísticos con R - Afición por la fotografía · 2011-08-16 · gamma, geom, hyper, lnorm, logis, nbinom, t, weibull, wilcox,

Distribuciones de probabilidad

Distribucion Normal

Tenemos las siguientes opciones:

dnorm(x,mean = 0, sd = 1, log = FALSE)

pnorm(q,mean = 0, sd = 1, lower.tail = TRUE, log.p = FALSE)

qnorm(p,mean = 0, sd = 1, lower.tail = TRUE, log.p = FALSE)

rnorm(n,mean = 0, sd = 1)

> dnorm(5, mean = 3, sd = 1)

[1] 0.05399097

> rnorm(5, mean = 5, sd = 5)

[1] 9.977295 8.089685 7.488384 12.769087 14.684620

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 10/22

Page 12: Curso de R - Análisis Estadísticos con R - Afición por la fotografía · 2011-08-16 · gamma, geom, hyper, lnorm, logis, nbinom, t, weibull, wilcox,

Distribuciones de probabilidad

Distribucion Uniforme

Tenemos las siguientes opciones:

dunif(x,min = 0,max = 1, log = FALSE)

punif(q,min = 0,max = 1, lower.tail = TRUE, log.p = FALSE)

qunif(p,min = 0,max = 1, lower.tail = TRUE, log.p = FALSE)

runif(n,min = 0,max = 1)

> runif(6, min = 10, max = 20)

[1] 12.76328 16.65845 10.36147 15.08264 12.42076 10.94568

> qunif(c(0.25, 0.5, 0.75), min = 0, max = 1)

[1] 0.25 0.50 0.75

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 11/22

Page 13: Curso de R - Análisis Estadísticos con R - Afición por la fotografía · 2011-08-16 · gamma, geom, hyper, lnorm, logis, nbinom, t, weibull, wilcox,

Distribuciones de probabilidad

Distribucion de Poisson

Tenemos las siguientes opciones:

dpois(x, lambda, log = FALSE)

ppois(q, lambda, lower.tail = TRUE, log.p = FALSE)

qpois(p, lambda, lower.tail = TRUE, log.p = FALSE)

rpois(n, lambda)

> rpois(6, lambda = 10)

[1] 8 9 8 13 7 6

> qpois(c(0.25, 0.5, 0.75), lambda = 5)

[1] 3 5 6

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 12/22

Page 14: Curso de R - Análisis Estadísticos con R - Afición por la fotografía · 2011-08-16 · gamma, geom, hyper, lnorm, logis, nbinom, t, weibull, wilcox,

Distribuciones de probabilidad

Y así con un montón de distribuciones más: beta, binom, cauchy, chisq, exp, f,

gamma, geom, hyper, lnorm, logis, nbinom, t, weibull, wilcox, . . .

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 13/22

Page 15: Curso de R - Análisis Estadísticos con R - Afición por la fotografía · 2011-08-16 · gamma, geom, hyper, lnorm, logis, nbinom, t, weibull, wilcox,

Test Estadísticos - Dos muestras

Uno de los análisis más comunes es la comparación de medias de dos

poblaciones. vamos a realizar un análisis completo de una muestra en R.

Consideremos el siguiente conjunto de observaciones. Son los tiempos de

espera en minutos hasta que nos traen la comida en dos restaurantes

Restaurante A:

1.40 3.23 1.60 0.91 2.28 2.49 0.74 0.51 3.15 2.47Restaurante B:

3.18 1.96 1.89 3.31 3.93 1.91 3.64 2.78 2.48 2.03

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 14/22

Page 16: Curso de R - Análisis Estadísticos con R - Afición por la fotografía · 2011-08-16 · gamma, geom, hyper, lnorm, logis, nbinom, t, weibull, wilcox,

Test Estadísticos - Dos muestras

Lo primero, un análisis gráfico para ver los tiempos en los dos restaurantes.

> boxplot(A, B, col = c("red", "green"))

1 2

0.5

1.0

1.5

2.0

2.5

3.0

3.5

4.0

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 15/22

Page 17: Curso de R - Análisis Estadísticos con R - Afición por la fotografía · 2011-08-16 · gamma, geom, hyper, lnorm, logis, nbinom, t, weibull, wilcox,

Test Estadísticos - Dos muestras

Tras una primera comprobación visual, tenemos que los tiempos de espera no

parecen iguales, pero ¿esta diferencia gráfica es significativa?, ¿podemosafirmar que los tiempos son diferentes y que las diferencias no son debidas a

la dispersión propia de las medidas?

Para comprobar la igualdad de medias, realizamos un t-test no pareado.

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 16/22

Page 18: Curso de R - Análisis Estadísticos con R - Afición por la fotografía · 2011-08-16 · gamma, geom, hyper, lnorm, logis, nbinom, t, weibull, wilcox,

Test Estadísticos - Dos muestras

> t.test(A, B, paired = FALSE)

Welch Two Sample t-test

data: A and B

t = -2.1067, df = 17, p-value = 0.0503

alternative hypothesis: true difference in means is not equal to 0

95 percent confidence interval:

-1.667230785 0.001230785

sample estimates:

mean of x mean of y

1.878 2.711

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 17/22

Page 19: Curso de R - Análisis Estadísticos con R - Afición por la fotografía · 2011-08-16 · gamma, geom, hyper, lnorm, logis, nbinom, t, weibull, wilcox,

Test Estadísticos - Dos muestras

La prueba indica que no hay diferencias significativas, asumiendo normalidad.

Nos da un p-valor de 0.0503 por lo que no hay evidencias para rechazar lahipótesis nula H0 y aceptamos que la verdadera diferencia de medias es igual

a 0, es decir, tardan lo mismo en los dos restaurantes.

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 18/22

Page 20: Curso de R - Análisis Estadísticos con R - Afición por la fotografía · 2011-08-16 · gamma, geom, hyper, lnorm, logis, nbinom, t, weibull, wilcox,

Test Estadísticos - Dos muestras

La prueba indica que no hay diferencias significativas, asumiendo normalidad.

Nos da un p-valor de 0.0503 por lo que no hay evidencias para rechazar lahipótesis nula H0 y aceptamos que la verdadera diferencia de medias es igual

a 0, es decir, tardan lo mismo en los dos restaurantes.

Pero ... ¿está bien aplicado el test? En la salida del test nos dice Welch Two

Sample t-test y es que por defecto R no asume varianzas iguales en lasmuestras y aplica el test de Welch. Realizamos y test F para probar la

igualdad de varianzas.

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 18/22

Page 21: Curso de R - Análisis Estadísticos con R - Afición por la fotografía · 2011-08-16 · gamma, geom, hyper, lnorm, logis, nbinom, t, weibull, wilcox,

Test Estadísticos - Dos muestras

> var.test(A, B)

F test to compare two variances

data: A and B

F = 1.6403, num df = 9, denom df = 9, p-value = 0.4724

alternative hypothesis: true ratio of variances is not equal to 1

95 percent confidence interval:

0.4074332 6.6039331

sample estimates:

ratio of variances

1.640324

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 19/22

Page 22: Curso de R - Análisis Estadísticos con R - Afición por la fotografía · 2011-08-16 · gamma, geom, hyper, lnorm, logis, nbinom, t, weibull, wilcox,

Test Estadísticos - Dos muestras

La prueba nos da un p-valor de 0.472 por lo que no hay evidencias pararechazar la hipótesis H0, es decir, asumimos que la razón de varianzas es

igual a 1.

Por lo tanto, hemos aplicado mal el t-test ya que hemos asumido como

hipótesis que ambas muestras tienen varianzas diferentes.

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 20/22

Page 23: Curso de R - Análisis Estadísticos con R - Afición por la fotografía · 2011-08-16 · gamma, geom, hyper, lnorm, logis, nbinom, t, weibull, wilcox,

Test Estadísticos - Dos muestras

> t.test(A, B, paired = FALSE, var.equal = TRUE)

Two Sample t-test

data: A and B

t = -2.1067, df = 18, p-value = 0.04944

alternative hypothesis: true difference in means is not equal to 0

95 percent confidence interval:

-1.663714776 -0.002285224

sample estimates:

mean of x mean of y

1.878 2.711

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 21/22

Page 24: Curso de R - Análisis Estadísticos con R - Afición por la fotografía · 2011-08-16 · gamma, geom, hyper, lnorm, logis, nbinom, t, weibull, wilcox,

Test Estadísticos - Dos muestras

Ahora la prueba indica que hay diferencias significativas, asumiendo

normalidad. Nos da un p-valor de 0.0494 por lo que hay evidencias pararechazar la hipótesis nula H0 y aceptamos que la verdadera diferencia de

medias no es igual a 0, es decir, no tardan lo mismo.

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 22/22