Trabajo Práctico I

Variables Aleatorias & Distribuciones de Probabilidad

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

Celda Raw NBConvert

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");

Parte 1: Variables

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 [ ]:

Parte 2: Distribuciones


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