Deberán entregar está IJulia notebook con las respuestas a las preguntas que se encuentran final según el dataset asignado. Les recomiendo leer la guía de Variables aleatorias y funciones de distribución, en la cual encontrarán información para guiarse durante el análisis.
Sus comentarios deben escribirlos en celdas del tipo Raw NBConvert o Markdown preferentemente. Aunque también pueden escribir comentarios en celdas de código usando #
.
Celda Markdown
In [ ]:
# Celda Code (comentario en celda de código estándar)
Todas las bibliotecas necesarias deberían haberse instalado automáticamente cuando hicieron
Pkg.clone("https://github.com/diegozea/AnalisisDeDatosCualitativos.jl.git")
en Julia. Así que la siguiente celda debería correr sin problemas.
En caso de que tengan algún problema, si ya clonaron el repositorio, pueden actualizar el material haciendo:
Pkg.update()
In [ ]:
using RDatasets
using DataFrames
using StatsBase
using Distributions
using Plots # Para usar plot(...)
using StatPlots # En caso de que quieran hacer algún plot estadístico con Plots
pyplot(size=(600,300)) # En caso de que usen Plots, para que los plots no sean enormes
using RCall # Si saben hacer algo de ésto con R, pueden acceder R desde Julia con RCall
using PyCall # Si saben hacer algo de ésto con Python, pueden acceder Python desde Julia con PyCall
A continuación se cargan los datasets a utilizar por cada uno. Con una breve descripción comentada. Solo tienen que analizar el que les corresponde.
In [ ]:
# Javier Corvi : msleep
# ---------------------
# An updated and expanded version of the mammals sleep dataset.
# This is an updated and expanded version of the mammals sleep dataset.
# Updated sleep times and weights were taken from V. M. Savage and G. B. West.
# A quantitative, theoretical framework for understanding mammalian sleep.
# Proceedings of the National Academy of Sciences, 104 (3):1051-1056, 2007.
# A data frame with 83 rows and 11 variables
# Aditional variables order, conservation status and vore were added from wikipedia.
# name. common name
# genus.
# vore. carnivore, omnivore or herbivore?
# order.
# conservation. the conservation status of the animal
# sleep\_total. total amount of sleep, in hours
# sleep\_rem. rem sleep, in hours
# sleep\_cycle. length of sleep cycle, in hours
# awake. amount of time spent awake, in hours
# brainwt. brain weight in kilograms
# bodywt. body weight in kilograms
msleep = dataset("ggplot2","msleep")
# Ricardo Bayona Grimaldo : mammals
# ---------------------------------
# Brain and Body Weights for 62 Species of Land Mammals
# A data frame with average brain and body weights for 62 species of land mammals.
# body: body weight in kg.
# brain: brain weight in g.
# name: Common name of species. (Rock hyrax-a = Heterohyrax brucci, Rock hyrax-b = Procavia habessinic..)
mammals = dataset("MASS","mammals")
# Oscar Santapá : poisons
# -----------------------
# The poisons data frame has 48 rows and 3 columns.
# The data form a 3x4 factorial experiment, the factors being three poisons and four treatments.
# Each combination of the two factors was used for four animals,
# the allocation to animals having been completely randomized.
# This data frame contains the following columns:
# time: The survival time of the animal in units of 10 hours.
# poison: A factor with levels 1, 2 and 3 giving the type of poison used.
# treat: A factor with levels A, B, C and D giving the treatment.
poisons = dataset("boot","poisons")
# Rodrigo Bogado : flower
# -----------------------
# 8 characteristics for 18 popular flowers.
# A data frame with 18 observations on 8 variables:
# V1: winters, is binary and indicates whether the plant may be left in the garden when it freezes.
# V2: shadow, is binary and shows whether the plant needs to stand in the shadow.
# V3: tubers, is asymmetric binary and distinguishes between plants
# with tubers and plants that grow in any other way.
# V4: color, is nominal and specifies the flower's color
# (1 = white, 2 = yellow, 3 = pink, 4 = red, 5 = blue).
# V5: soil, is ordinal and indicates whether the plant grows in dry (1), normal (2), or wet (3) soil.
# V6: preference, is ordinal and gives someone's preference ranking going from 1 to 18.
# V7: height, is interval scaled, the plant's height in centimeters.
# V8: distance, is interval scaled, the distance in centimeters that should be left between the plants.
flower = dataset("cluster","flower")
# Cesar Danerí : animals
# ----------------------
# This data set considers 6 binary attributes for 20 animals.
# A data frame with 20 observations on 6 variables:
# [:,1] war: warm-blooded
# [:,2] fly: can fly
# [:,3] ver: vertebrate
# [:,4] end: endangered
# [:,5] gro: live in groups
# [:,6] hai: have hair
# All variables are encoded as 1 = ‘no’, 2 = ‘yes’.
animals = dataset("cluster","animals")
# Rosa Amarilla : genotype
# ------------------------
# Rat Genotype Data
# Data from a foster feeding experiment with rat mothers and litters of four different genotypes:
# A, B, I and J. Rat litters were separated from their
# natural mothers at birth and given to foster mothers to rear.
# The data frame has the following components:
# Litter: genotype of the litter.
# Mother: genotype of the foster mother.
# Wt: Litter average weight gain of the litter, in grams at age 28 days.
# (The source states that the within-litter variability is negligible.)
genotype = dataset("MASS","genotype")
# Ulises Mancini : claridge
# -------------------------
# Genetic Links to Left-handedness
# The claridge data frame has 37 rows and 2 columns.
# The data are from an experiment which was designed to look
# for a relationship between a certain genetic characteristic and handedness.
# The 37 subjects were women who had a son with mental retardation due to
# inheriting a defective X-chromosome.
# For each such mother a genetic measurement of their DNA was made.
# Larger values of this measurement are known to be linked to the defective gene and
# it was hypothesized that larger values might also be linked to
# a progressive shift away from right-handednesss.
# Each woman also filled in a questionnaire regarding which hand they used for various tasks.
# From these questionnaires a measure of hand preference was found for each mother.
# The scale of this measure goes from 1,
# indicating someone who always favours their right hand, to 8,
# indicating someone who always favours their left hand.
# Between these two extremes are people who favour one hand for some tasks and the other for other tasks.
# This data frame contains the following columns:
# dnan: The genetic measurement on each woman's DNA.
# hand: The measure of left-handedness on an integer scale from 1 to 8.
claridge = dataset("boot","claridge");
1 - Realice una descripción de las variables de su dataset. ¿Son cualitativas o cuantitativas? ¿Ordinales o nominales? ¿Discretas o continuas? ¿Cuales son los niveles de medición utilizados?
In [ ]:
2 - ¿Es posible reconocer algún tipo de muestreo?
In [ ]:
3 - Sugiera una distribución de probabilidad para al menos dos variables.
In [ ]:
4 - ¿Cuáles son los estadísticos de resumen (ej. media, mediana, etc.) para cada una de las dos variables seleccionadas en el punto 3?
Ayuda: Pueden usar la función describe
de DataFrames
In [ ]:
5 - ¿Qué gráfico pueden realizar para ganar idea de cuál es la forma de la función de densidad de probabilidad? Realice ese gráfico para las dos variables seleccionadas en el punto 3 y escriba si, en base a la forma que esperan para la PDF, están de acuerdo con las distribuciones que sugieren en ese punto.
In [ ]:
In [ ]:
srand(13); # Fijo la semilla del generador de números random para poder reproducir los resultados
Completar la siguiente celda para que U e V contengan 100
números random generados con la función rand
provenientes de una distribución Normal
estándar/canónica.
In [ ]:
n = 100
U = # COMPLETAR
V = # COMPLETAR
Dado que x e y se distribuyen de manera normal, las variables X e Y de la celda siguiente tendrán una distribución conjunta Normal Bivariante.
Ecuación al final de la celda.
In [ ]:
a = 2
b = 3
c = 10
d = 40
x = a .* U .+ b .* V
y = c .* U .+ d .* V
Realizamos un diagrama de dispersión para ver como se distribuyen los pares (x,y). Dado que generamos cada valor de y como el valor de x más un error, los puntos deberían distribuirse alrededor de la diagonal.
In [ ]:
scatter(x, y, legend=false)
Calculamos el Coeficiente de correlación de Pearson (r) utilizando la función cor
de Julia. El coeficiente r es una medida de la asociación lineal entre las dos variables, donde r=0 implica la ausencia de correlación/asociación.
In [ ]:
r = cor(x,y) # Resultado : 0.9139410760214167
Dado que la distribución conjunta es una Normal Bivariante, la distribución del estadístico t dada la ausencia de correlación (nuestra hipótesis nula) siguen una distribución T de Student con n-2 grados de libertad. Siendo el estadístico t:
$$ t = r \sqrt{\frac{n-2}{1-r^{2}}} $$
In [ ]:
t = # Completar # Resultado : 22.293024692856186
Calcular la probabilidad de observar el valor de t obtenido bajo la hipótesis nula, recordar que el estadístico t se distribuye como una T de Student con n-2 grados de libertad en ese caso.
In [ ]:
P = ccdf(TDist(n-2),t) # Completar # Resultado: 1.8277547231800017e-40