Ejercicio 1.

Seleccionar la alternativa correcta en cada caso:

1. El nivel de significación de un test de hipótesis:

  1. Suele ser pequeño y lo fija el investigador o un convenio generalmente aceptado.

  2. Da la probabilidad de declarar significativo el resultado de un test, cuando esto es falso.

  3. Al disminuir hace aumentar la probabilidad del error de tipo II.

  4. Todo lo anterior es cierto.

  5. Todo lo anterior es falso..

2. Un estudio sobre la efectividad de un tipo de campaña llega a la conclusión de que éste significativamente distinto del tradicional con p<0,05 ¿Cuál es la interpretación correcta de este resultado?

  1. Con toda seguridad, el nuevo estilo supera al tradicional
  2. La probabilidad de éxito con la nueva campaña supera a la probabilidad del anterir en un 95 %.
  3. El nuevo estilo es un 95% mejor que el tradicional.
  4. Si la campana no fuese efectiva, existe menos del 5% de probabilidad de observar muestras tan contrarias a dicha hipótesis como las obtenidas.
  5. Ninguna de las anteriores es correcta.

3. En una prueba de hipótesis el p-valor es:

  1. Un número pequeño.
  2. Fijado antes de realizar la prueba.
  3. La probabilidad de rechazar la hipótesis nula.
  4. La probabilidad de error al rechazar la hipótesis alternativa.
  5. Conocido al extraer la muestra y calcular el estadístico experimental.

4.Una prueba de hipótesis se considera significativa si:

  1. Una muestra aleatoria es coherente con la hipótesis nula.
  2. Una muestra aleatoria no es coherente con la hipótesis nula.
  3. La hipótesis alternativa es más probable que la nula.
  4. Todo lo anterior es cierto.
  5. Son ciertas (b) y (c).

5. Se realizó un estudio para comparer la duración de lamparas de bajo consume utilizando dos métodos de fabricación diferentes. No se encontró diferencia estadísticamente significativa. ¿Cuál de las siguientes razones podrían ser causantes del resultado?

  1. Los métodos ofrecen tiempos de duración muy diferentes.

  2. El nivel de significación es demasiado alto.

  3. Las muestras son demasiado numerosas.

  4. Las muestras son demasiado pequeñas.

  5. Nada de lo anterior.

6. Elija la afirmación falsa:

  1. El nivel de significación es normalmente un valor pequeño.
  2. La significación de una prueba es conocida después de analizar los datos.+
  3. El nivel de significación de una prueba debe ser fijado antes de seleccionar la muestra.
  4. Una prueba puede resultar significativa antes de recoger los datos.
  5. Una prueba se señala como significativa cuando se obtiene una muestra que discrepa mucho de la hipótesis nula.

7. El error de tipo I consiste en:

  1. Rechazar H0 cuando es falsa.
  2. Rechazar H0 cuando es cierta.
  3. No rechazar H0 cuando es cierta.
  4. No rechazar H0 cuando es falsa
  5. La probabilidad de rechazar H0 cuando es falsa.

Ejercicio 2.

A un grupo de 350 adultos, quienes participaron en una encuesta, se les preguntó si accedían o no a Internet. Las respuestas clasificadas por sexo fueron las siguientes:

#Cargo datos y defino tipo de variables
twitter <- read_excel("twitter.xls")
twitter$twitter <- factor(twitter$twitter)
levels(twitter$twitter) <- c("No usa twitter", "Usa twitter")
twitter$sexo <- factor(twitter$sexo)
levels(twitter$sexo) <- c("Masculino", "Femenino")

#Creo tabla de frecuencias
freqej2 <- as.data.frame(table(twitter$twitter,twitter$sexo))
freqej2 <- freqej2 %>% spread(Var2,Freq)
freqej2 <- freqej2 %>% remove_rownames %>% column_to_rownames(var="Var1")

#función alternativa para ver tabla de frequencias
proc_freq(twitter, "twitter", "sexo","Ingreso a twitter")

(a) Represente gráficamente esta información. Interprete el gráfico.

#gráfico de mosaico
mosaicplot(freqej2,main="",xlab="Twiter",ylab="Sexo",col=c("#2E789B","#DF7401"))

(b) Obtenga los porcentajes por filas y compare las diferentes zonas.

#Ya lo había mostrado en el paso anterior, pero esta es otra forma de calcularlo
pfreqej2 <-  as.data.frame(round(prop.table(table(twitter$twitter,twitter$sexo),1)*100,2))
pfreqej2 <- pfreqej2 %>% spread(Var2,Freq)
pfreqej2 <- pfreqej2 %>% remove_rownames %>% column_to_rownames(var="Var1")

pfreqej2 %>% rownames_to_column("Twitter/Genero") %>% flextable() %>% align_text_col(align = "right") %>% set_caption(caption = "% por fila") %>% autofit()
#Estimo que quiere decir x columna. Ya lo había mostrado en el paso anterior, pero esta es otra forma de calcularlo
pcfreqej2 <-  as.data.frame(round(prop.table(table(twitter$twitter,twitter$sexo),2)*100,2))
pcfreqej2 <- pcfreqej2 %>% spread(Var2,Freq)
pcfreqej2 <- pcfreqej2 %>% remove_rownames %>% column_to_rownames(var="Var1")
pcfreqej2 %>% rownames_to_column("Twitter/Genero") %>% flextable() %>% align_text_col(align = "right") %>% set_caption(caption = "% por columna") %>% autofit()

(c) Obtenga los porcentajes por zona y compare las diferentes zonas.

NO HAY ZONAS EN EL SET DE DATOS

(d) Calcule las frecuencias esperadas bajo independencia y compárelas conlas observadas, para el grupo generl y por zona.

chisqTest <- chisq.test(freqej2)
chisqTest$expected 
##                Masculino  Femenino
## No usa twitter 157.27714 153.72286
## Usa twitter     19.72286  19.27714

(e) ¿Sugieren estos datos que existe diferencia de proporciones entre mujeres y hombres que acceden o no a Twiter? Considerar = 0,05.

chisqTest
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  freqej2
## X-squared = 2.6345, df = 1, p-value = 0.1046

El p-value es 0.1046 y no es menor a 0.05, por lo tanto no podemos descartar la hipótesis nula de que la proporción es la misma.

Ejercicio 3.

Se clasificó en forma cruzada una muestra de 250 técnicos en telecomunicaciones en base a su especialidad y a la zona de la comunidad en que estaban trabajando. Los resultados están tabulados a continuacion:

mat=as.data.frame(rbind(c(20,18,12,17),
      c(6,22,15,13),
      c(4,6,14,11),
      c(10,19,23,40)))
colnames(mat)<-c("A","B","C","D")
rownames(mat)<-c("Norte", "Sur","Este","Oeste")
mat  %>% rownames_to_column("Zona") %>% flextable() %>% align_text_col(align = "right") %>% set_caption(caption = "Especialidad por zona") %>% autofit()

(a) Considera adecuado un test de homogeneidad o de independencia? Fundamente su respuesta considerando el tipo de muestreo realizado.

El test de homogeneidad analiza las categorías de una variable en diferentes poblaciones. En este caso habla de UNA SOLA, por lo tanto no aplica. En cambio el test de independencia se aplica a una sola muestra pero con diferentes variables. Por lo tanto lo que corresponde aplicar es un test de independencia.

(b) Establezca las hipótesis de interés, realice el contraste y concluya considerando un nivel de significación del 1 %.

$h_0 = $ “Las especialidades son variables independientes” $h_a = $ “Las especialidades NO son variables independientes”

Corresponde aplicar el test de independencia, pero primero hay que comprobar si los supuestos se cumplen

Supuesto 1: Las frequencias esperadas son todas mayores que 1

testej3 <- chisq.test(mat)
testej3$expected
##           A     B      C      D
## Norte 10.72 17.42 17.152 21.708
## Sur    8.96 14.56 14.336 18.144
## Este   5.60  9.10  8.960 11.340
## Oeste 14.72 23.92 23.552 29.808

Este supuesto se cumple

Supuesto 2: A lo sumo el 20% de los valores esperados son mayores al 20%

Por lo visto antes esto también se cumple y puede aplicarse el test de \(\chi^2\)

testej3
## 
##  Pearson's Chi-squared test
## 
## data:  mat
## X-squared = 27.272, df = 9, p-value = 0.001261

En este caso me da que el p-valor es menor a 0.01 por lo tanto puedo descartar la hipótesis nula y concluir que los valores no son independientes.

Ejercicio 4.

Entre 1605 recién nacidos registrados en una maternidad, se han presentado 48 con un angioma cuya presencia, se sospecha puede estar relacionada con el cáracter (normal o patológico) del embarazo de la madre. Los resultados son los siguientes:

dat_fum=as.data.frame(rbind(c(37, 1334) ,
c( 11,223 )))
rownames(dat_fum)<-c("Embarazo Normal", "Embarazo Patológico")
colnames(dat_fum)<-c("Con angioma", "Sin angioma")
dat_fum %>% rownames_to_column(" ") %>% flextable() %>% align_text_col(align = "right") %>% set_caption(caption = "Presencia de Angioma por Tipo de Embarazo") %>% autofit()

Plantear y testear las hipótesis correspondientes considerando un nivel de significación del 5 %.

Nuevamente acá lo que tenemos es una sola muestra donde queremos ver si las variables son independientes o no. Por este motivo se va a hacer un test de independencia para comprobar esto.

chisq.test(dat_fum)
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  dat_fum
## X-squared = 2.1147, df = 1, p-value = 0.1459

En este caso el p-valor da por arriba de 0.05 por lo tanto no se puede descartar la hipótesis de que sean independientes.

Ejercicio 5.

Se ha realizado una encuesta entre el personal de una empresa. Se le preguntó a cada uno el cargo que desempeña y la cantidad de cigarrillos diarios que fuma. La frecuencia de fumador fue categorizada con las categorías: No fuma- Fuma Poco – Fumador Medio y Fuma Mucho

dat_fum=as.data.frame(rbind(Ger_Senior= c(4, 2, 3, 2) ,
Ger_Junior=c( 4, 3 ,7 ,4 ),
Empl_Senior=c( 25, 10, 12, 4) ,
Empl_Junior=c( 18 ,24 ,33, 13) ,
Secretarias= c(10 ,6, 7, 2 )))
colnames(dat_fum)<-c("No fuma", "Poco", "Medio", "Mucho")
dat_fum %>% rownames_to_column(" ") %>% flextable() %>% align_text_col(align = "right") %>% set_caption(caption = "Habito por puesto") %>% autofit()

Estamos interesados en estudiar la relación, si existiera entre las variables:”puesto de trabajo” y “nivel de fumador” en el contexto de esta empresa.

1. La primera pregunta que nos hacemos es si la distribución de la variable fumador es similar en todos los niveles de la variable puesto de desempeño.Construya para eso las distribuciones condicionales de fumador a cada grupo de trabajo.

Para esto requiero las probabilidades marginales de cada fila, es decir que buscamos ver es que proporcion de cada puesto tiene diferentes categorias de fumador. Esto nos da la robabilidad conjunta. Esto lo puedo hacer con un prop.table, pero tengo que pasar de dataframe a matrix y el resultado a la inversa para que flextable lo muestre. Debe haber una forma más inteligente de hacer esto….

as.data.frame(round(prop.table(as.matrix(dat_fum), 1), 2)) %>% rownames_to_column(" ") %>% flextable() %>% align_text_col(align = "right") %>% set_caption(caption = "Habito por puesto") %>% autofit()

Con estos resultados vemos que las distribuciones no parecen ser similares para cada nivel de variable. Probemos hacer un test.chi

chisq.test(dat_fum)$expected
## Warning in chisq.test(dat_fum): Chi-squared approximation may be incorrect
##               No fuma      Poco     Medio     Mucho
## Ger_Senior   3.476684  2.564767  3.533679  1.424870
## Ger_Junior   5.689119  4.196891  5.782383  2.331606
## Empl_Senior 16.119171 11.891192 16.383420  6.606218
## Empl_Junior 27.813472 20.518135 28.269430 11.398964
## Secretarias  7.901554  5.829016  8.031088  3.238342

Aca si vemos los resultados esperados hay varios puntos que son menores a 5. son 7 sobre 20 lo cual da mas del 20% para que se cumpla el supuesto.

Probemos con un test exacto de fischer. Acá cuando lo pruebo sin argumentos me tira un error de memoria. Pasandole el argumento “simulate.p.value=TRUE” funciona, pero al momento no se bien que significa ni por qué hay tanto requerimiento de memoria. Estimpo que la combinatoria lo hace inviable para matrices de dimensiones superiores a 2x2, por eso el metodo montecarlo …

fisher.test(dat_fum, simulate.p.value=TRUE,B=4000)
## 
##  Fisher's Exact Test for Count Data with simulated p-value (based on
##  4000 replicates)
## 
## data:  dat_fum
## p-value = 0.1627
## alternative hypothesis: two.sided

Acá nos estaría indicando que no podemos descartar la hipótesis de independencia, pero no se si esta simulación sería correcta en el uso del test de fisher. Sigamos con el punto 2 pasando al análisis de correspondencia. De todas formas el valor de Fisher da similar al de

2. Realice un análisis de correspondencias para estos datos. ¿Cuántos factores tiene sentido considerar?

fum.ca <- FactoMineR::CA(dat_fum, graph = FALSE)
summary(fum.ca, nb.dec = 2, ncp = 2)
## 
## Call:
## FactoMineR::CA(X = dat_fum, graph = FALSE) 
## 
## The chi square of independence between the two variables is equal to 16.44164 (p-value =  0.1718348 ).
## 
## Eigenvalues
##                       Dim.1  Dim.2  Dim.3
## Variance               0.07   0.01   0.00
## % of var.             87.76  11.76   0.49
## Cumulative % of var.  87.76  99.51 100.00
## 
## Rows
##               Iner*1000   Dim.1   ctr  cos2   Dim.2   ctr  cos2  
## Ger_Senior  |      2.67 | -0.07  0.33  0.09 |  0.19 21.36  0.80 |
## Ger_Junior  |     11.88 |  0.26  8.37  0.53 |  0.24 55.12  0.46 |
## Empl_Senior |     38.31 | -0.38 51.20  1.00 |  0.01  0.30  0.00 |
## Empl_Junior |     26.27 |  0.23 33.10  0.94 | -0.06 15.18  0.06 |
## Secretarias |      6.05 | -0.20  7.01  0.87 | -0.08  8.05  0.13 |
## 
## Columns
##               Iner*1000   Dim.1   ctr  cos2   Dim.2   ctr  cos2  
## No fuma     |     49.19 | -0.39 65.40  0.99 |  0.03  2.93  0.01 |
## Poco        |      7.06 |  0.10  3.08  0.33 | -0.14 46.32  0.66 |
## Medio       |     12.61 |  0.20 16.56  0.98 | -0.01  0.17  0.00 |
## Mucho       |     16.33 |  0.29 14.95  0.68 |  0.20 50.58  0.31 |

Acá varias cosas, la función tira un test de \(\chi^2\) PERO, como vimos en el punto anterior, no se cumplirian los supuestos para el mismo. de hecho la misma función chi.test nos lo advierte. Tambien vimos que el test de fisher simulado nos dio similar pero…

De todas maneras, se pude ver que en el análisis de correspondencias las dos primeras variables explican el 99.51% de la inercia, incluso la primera dimensión ya explica el 87.76% por lo tanto alcanzaría esa sola también. (dice de la varianza igual…pero entiendo que refiere a la inercia)

as.data.frame(round(fum.ca$eig,2))  %>% rownames_to_column(" ") %>% flextable() %>% align_text_col(align = "right") %>% set_caption(caption = "Dimensiones autovalores y porcentaje de la inercia explicado") %>% autofit()
fviz_ca_biplot(fum.ca) #mapa perceptual

3. Realizar los gráficos perfiles que considere adecuados.

Perfiles Fila

propTablef <- prop.table(as.matrix(dat_fum, 1))
datosf <- melt(propTablef)
colnames(datosf)<-c("Puesto","Nivel_Fum","prop_fila")
ggplot(datosf,aes(x=Puesto,y=prop_fila,group=Nivel_Fum,col=Nivel_Fum))+geom_line()

Acá vemos dependencia entre variables porque hay cruce de linea de perfil. Eso tiene sentido con lo observado inicialmente sobre las proporciones. Sin embargo, no me cierra lo del p-value del test \(\chi^2\) y el de Fisher

Perfiles Columna

propTablec <- prop.table(as.matrix(dat_fum), 2)
datosc <- melt(propTablec)
colnames(datosc)<-c("Puesto","Nivel_Fum","prop_col")
ggplot(datosc,aes(x=Nivel_Fum,y=prop_col,group=Puesto,col=Puesto))+geom_line()

Acá nuevamente hay cruces de perfiles, lo cual indica que no hay independencia.

4. Explique la calidad de la representación y las relaciones entre las variables y los ejes (inercia, calidad, cosenos).

Las relaciones de los perfiles fueron explicadas en el punto anterior.

fviz_contrib(fum.ca, choice = "row", axes = 1)#contribuciones por fila

Acá vemos que las principales variables que aportan a la inercia son los empleados seniro y en segunda medida los junior. ESTO NO LO ENTIENDO. Estan alejados del origen en el bi-blot, pero gerente_junior lo esta mas y no explica. Es más la distancia al orígen es mayor en el gerente junior. (y si hablamos de la relación con la segunda dimensión son los que mas pegados estan al origen). Que significa “que traccione” entonces?…

fviz_contrib(fum.ca, choice = "col", axes = 1)#contribuciones por columna

Aca vemos claramente que lo que explica la inercia son los no fumadores. Esto se ve claro porque en el biplot esta en un extremo.

5. Hacer una síntesis de sus conclusiones, inspeccione relaciones entre perfiles fila, entre perfiles columna, asociaciones entre filas y columnas de manera adecuada.

Si miramos el bi-plot simétrico, vamos a notar que el eje que mas explica es el x que separa claramente fumadores de no fumadores. La segunda dimensión pareciera separar los puestos de jerarquía (se ve a las secretarias y empleados junior por debajo del 0).

Vemos una fuerte asociación entre gerentes junior y muy fumadores, habría que ver si los nervios de un cargo gerencial y la falta de experiencia son la causa de esto. Por otro lado los empleados senior también tienen una fuerte asociación con “no fuma” ¿será que tienen más edad y se cuidan?. Los gerentes senior también estan del lado del eje no fumador pero la asociación es más laxa. Los empleados junior tienen una asociación mas fuerte con un nivel de fumador medio. Y las secretarias también están en el lado del eje cercano a “no fuma”. Quizás la asociación entre falta de experiencia y nivel de responsabilidad sea una buena hipótesis explicativa.

6. ¿Cual es la inercia total?

La inercia total es \(\frac{\chi^2}{n}\)

inercia=chisq.test(dat_fum)$statistic/193
inercia
##  X-squared 
## 0.08518986

Me pregunto si el tema del p-valor malo par \(\chi^2\) y Fisher no tiene que ver con que la inercia no parece ser mucha…..

Ejercicio 6.

En el archivo de datos Autos.xls (Infostat) están los datos de 339 usuarios de auto Las variables que se han prguntado refieren al origen del auto (americano, japonés o europero), estado civil (soltero, casado-hijo) , relación con la casa(dueño, alquila), tipo de auto(familiar, sport), sexo(Hombre-Mujer), tamaño del auto(chico, mediano y grande) e ingreso familiar(en dos niveles 1 y 2).

autos <- read_excel("Clase_05/autos.xlsx")
autos[2:8] <- autos[2:8] %>% mutate_all(as.factor)

(a) Elegir tres variables y construir la matriz disyuntiva y la matriz de Burt. Explicar el significado de los valores diagonales y verificar las propiedades de la matriz.

autodisjuntive <- tab.disjonctif.prop(autos[2:4])

as.data.frame(head(autodisjuntive)) %>% rownames_to_column(" ") %>% flextable() %>% align_text_col(align = "right") %>% set_caption(caption = "Matriz disyuntiva para: Nacionalidad, Estado Civil, Propiedad") %>% autofit()

Para obtenr la matriz de Burt es multiplicando la matriz transpuerta de la disyuntiva por la disyuntiva.

as.data.frame(t(autodisjuntive) %*% autodisjuntive)%>% rownames_to_column(" ") %>% flextable() %>% align_text_col(align = "right") %>% set_caption(caption = "Matriz de Burt para: Nacionalidad, Estado Civil, Propiedad") %>% 
bg(i = 1:3, j = 2:4, bg="red") %>%
bg(i = 4:7, j = 5:8, bg="orange") %>%
bg(i = 8:9, j = 9:10, bg="violet") %>%
   autofit()

Las matrices marcadas en la diagonal representan las frecuencias especificas de cada variable. En los dos primeros casos se tratan de variables excluyentes por lo tanto las matrices son diagonales.

(b) Realizar un análisis de correspondencias multiples con estas variables y explicar los resultados.

MCA6 <- MCA(autos[2:4],graph = FALSE)

Contribución de las variables

fviz_contrib(MCA6, choice="var", axes = 1 )

fviz_contrib(MCA6, choice="var", axes = 2 )

fviz_mca_var(MCA6, repel=TRUE)

Los individuos x Nacionalidad

fviz_mca_ind(MCA6, habillage =autos$Nacionalidad, addEllipses = TRUE, repel=TRUE,geom="point") +
  ggtitle("Nacionalidad") 

Los individuos x Estado Civile

fviz_mca_ind(MCA6, habillage =autos$EstCivil, addEllipses = TRUE, repel=TRUE,geom="point") +
  ggtitle("Estado Civil") 

Los individuos x propiedad

fviz_mca_ind(MCA6, habillage =autos$Propiedad, addEllipses = TRUE, repel=TRUE,geom="point") +
  ggtitle("Propiedad")