Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Sesià N 4. Distribuciones de Probabilidad
Sesià N 4. Distribuciones de Probabilidad
R dispone de funciones para obtener tanto la función de probabilidad
(f(x)) como la función de distribución de probabilidad (F(x)).
Además podemos obtener el cuantil que deja cierta probabilidad en
una distribución dada.
También podemos generar series aleatorias de valores procedentes de
una distribución concreta.
La estructura de estas funciones es similar, pero los argumentos y
opciones pueden diferir.
GRADO MEDICINA BIOESTADÍSTICA
Estructura.
La función comenzará por una letra que indicará
◦ p – para obtener la función de distribución F(x)
◦ d – para obtener la función de densidad f(x) (función de masa en discretas).
◦ q – para obtener el cuantil que deja un área de probabilidad en una distribución dada.
◦ r – para generar una serie aleatoria de números procedentes de dicha distribución.
Detrás de la letra vendrá el nombre de la función y así tendremos
◦ pbinom, dbinom, qbinom, rbinom, para la distribución binomial.
◦ ppois, dpois, qpois, rpois, para la distribución de poisson.
◦ pnorm, dnorm, qnorm, rnorm para la distribución normal.
◦ pt, dt, qt, rt, para la distribución de student.
◦ pchisq, dchisq, qchisq, rchisq para la distribución ji‐cuadrado (chi‐squared)
◦ pf,df,qf,rf, para la distribución F de Fisher‐Snedecor.
NOTA: Si en la ayuda de R busca cualquiera de ellas, le ofrecerá la ayuda de todas las de una distribución dada. En esta
presentación lo vamos a contar en función del objetivo perseguido (obtener función de densidad, de distribución, cuantiles…) en
vez de distribución por distribución.
GRADO MEDICINA BIOESTADÍSTICA
Obtención de función de probabilidad para un
valor (Vars. Discretas).
Binomial.
◦ dbinom (q, size, prob, log.p = FALSE)
◦ q es el número de éxitos, size el número de experimentos, prob la probabilidad de éxito de un
experimento log.p=T damos las probabilidades com o logaritmos (rara vez la utilizaremos en
este curso).
◦ dbinom(4,5,0.6) # devuelve la probabilidad de que se curen exactamente 4 sujetos al realizar un
experimento binomial (por ejemplo curación tras aplicar un fármaco) con 5 ensayos, cada uno
con probabilidad de éxito de 0.6.
Poisson.
◦ dpois(q, lambda,log.p = FALSE)
◦ dpois(1,3*10^‐3) # devuelve la probabilidad de que un/a niño/a sufra reacción adversa grave
tras aplicar a 3000 niños/as una vacuna con una probabilidad de reacción adversa grave de 10^‐
6.
GRADO MEDICINA BIOESTADÍSTICA
Obtención la función de distribución de una
v.a.
Binomial
◦ pbinom(q, size, prob, lower.tail = TRUE, log.p = FALSE)
◦ q es el número de éxitos, size el número de experimentos, prob la probabilidad de éxito de un
experimento, lower.tail=T para indicarle si quiere la P(X<= q). Si se indica F, el complementario es decir
P(X>q). La opción log.p=T devuelve los logaritmos de la probabilidades (esta última no la utilizaremos).
◦ pbinom(4,5,0.6) # devuelve la función de distribución (probabilidad acumulada hasta 4) de un
experimento binomial (por ejemplo curación tras aplicar un fármaco) con 5 ensayos cada uno con
probabilidad de éxito de 0.6.
◦ pbinom(4,5,0.6,lower.tail=F) #es la probabilidad complementaria de la anterior.
Poisson
◦ ppois(q, lambda, lower.tail = TRUE, log.p = FALSE)
◦ ppois(1,3*10^‐3) # devuelve la probabilidad de que aparezcan una o menos reacciones adversas tras
aplicar a 3000 niños una vacuna que en teoría tiene una probabilidad de 10^‐6 de producir una
reacción adversa grave.
◦ ppois(1,3*10^‐3,lower.tail=F) #devuelve la probabilidad de que aparezcan 2 o más reacciones adversas
tras aplicar a 3000 niños una vacuna que en teoría tiene una probabilidad de 10^‐6 de producir una
reacción adversa grave.
GRADO MEDICINA BIOESTADÍSTICA
Funciones de distribución para distribuciones
de probabilidad continuas.
En realidad la interpretación es la misma, cambiando los parámetros
dependiendo de la función que estemos utilizando. Por ejemplo en la
normal utilizaremos media y s (d.t), en la t, en la χ2 y en la F deberemos
indicar los grados de libertad (ν).
◦ pnorm(180,172.5,6.25) #nos devuelve la probabilidad de observar valores
inferiores o iguales a 180 180 en una distribución normal de ̅
172.5, 6.25.
◦ pnorm(180,172.5,6.25,lower.tail=F) # obtiene la complementaria P(X>180)
◦ pnorm (1.2) # Cuando no le indicamos media ni d.t. , R asume que le
preguntamos por una normal tipificada, es decir obtiene la P(z<=1.2) en una
distribución normal de media 0 y d.t.=1. ¿Por qué obtiene el mismo
resultado con las dos expresiones anteriores?
◦ pnorm(180,172.5,6.25)‐pnorm(160,172.5,6.25) #Restando áreas podemos
obtener probabilidades de intervalos.
GRADO MEDICINA BIOESTADÍSTICA
Funciones de distribución para distribuciones
de probabilidad continuas (cont.)
Un ejemplo de otras funciones de distribución que utilizaremos este
curso.
◦ t‐student
◦ pt(‐1.96,30)
◦ 1‐pt(1.96,30) # debería obtener lo mismo que en ejemplo anterior.
◦ (chi‐squared)
◦ pchisq(3.84,1) #
◦ 1‐ pchisq(3.84,1)=pchisq(3.84,1,lower.tail=F) # ¿Sabría decir por qué?
◦ F de Fisher‐Snedecor.
◦ pf(4.84,3,49) # Área que deja (probabilidad de valores inferiores a) el valor 4.84 en una
distribución con g.l.1=3 y g.l.2=49)
GRADO MEDICINA BIOESTADÍSTICA
Obtener cuantiles que dejan determinadas
áreas en diferentes distribuciones.
En esta diapositiva veremos como obtenerlos para cada distribución.
◦ qbinom(p, size, prob, lower.tail = TRUE, log.p = FALSE)
◦ qbinom(0.95,15,.6) # si escogemos lower.tail=F estaremos indicando que el área indicada se refiere a 1‐F(x). En este
ejemplo, 12 o menos éxitos dejan una probabilidad de 0.95 en un ensayo binomial de 15 ensayos con probabilidad 0.6.
◦ qbinom(0.05,15,.6,lower.tail=F) # obtendríamos el mismo resultado que con la expresión anterior.
◦ Nota: Al tratarse de una distribución discreta nos devolverá el primer valor que cumpla la condición:
◦ qpois(p, lambda, lower.tail = TRUE, log.p = FALSE)
◦ qpois(.95,3*10^6*1*10^‐6) # En el ejercicios sobre reacciones adversas a una vacuna que se aplica a 3 millones de niños,
en el que la probabilidad de una reacción adversa grave es de 10‐6 , ¿Cómo leería la anterior expresión?
◦ qnorm(p, mean = 0, sd = 1, lower.tail = TRUE, log.p = FALSE)
◦ qnorm(.88493,172.5,6.25)
◦ qnorm((1‐0.02275013),172.5,6.25,lower.tail=F) # Se le ocurre una forma más fácil de obtener lo mismo.
◦ qnorm(0.975). # Cuando no se indica media y s, asume que nos referimos a normal tipificada.
◦ qt(p, df, ncp, lower.tail = TRUE, log.p = FALSE)
◦ qt(0.975,30)
◦ qt(0.025,Inf) # ¿por qué coincide con qnorm(0.025)?
◦ qchisq(p, df, ncp = 0, lower.tail = TRUE, log.p = FALSE)
◦ qchisq(.05,1,lower.tail=F)
◦ qchisq(.025,1,lower.tail=F) # ¿De esta expression obtendremos un número mayor que 1 o una probabilidad (por tanto
comprendida en [0,1])? ¿Cómo será este número, mayor o menor que el de la expresion anterior?
GRADO MEDICINA BIOESTADÍSTICA
Ejercicios S4.1
GRADO MEDICINA BIOESTADÍSTICA
GRADO MEDICINA BIOESTADÍSTICA
Soluciones Ejercicio S4.1
Las soluciones se colgarán en el aula virtual al terminar la práctica.
GRADO MEDICINA BIOESTADÍSTICA
Cómo generar conjuntos de datos que sigan
diferentes distribuciones de probabilidad (*).
Como en la anterior, mostraremos ejemplos de todas para entender los
aspectos comunes en su estructura:
◦ rnorm(n, mean = 0, sd = 1)# n hace referencia al número de elementos que se
quieren generar. Habitualmente los introduciremos en un objeto.
◦ vec_norm<‐rnorm(100) # si no indicamos nada, R asume distribución normal tipificada.
◦ vec_norm2<‐rnorm(100,172.5,6.25) # pero podemos construir otras.
◦ rt(n, df, ncp)
◦ rt(100,30) #asume centrada en el 0.
◦ rchisq(n, df, ncp = 0)
◦ rchisq(50,1)
◦ rpois(n, lambda)
◦ rpois(80,3)
Nota: Como se puede observar cada vez que generamos el conjunto este cambia aunque utilizemos los mismos
parámetros. La función set.seed(integer) , genera secuencias seudoaleatorias. Utiliza un algoritmo para que si utilizamos
la misma semilla de aleatorización, el conjunto de números aleatorios siguiendo una distribución dada generado tras
ella, sea el mismo. (*)
GRADO MEDICINA BIOESTADÍSTICA
Análisis de la normalidad de una variable.
LO VEREMOS DESPUÉS DE LA SESIÓN SOBRE ESTADÍSTICA
DESCRIPTIVA.
GRADO MEDICINA BIOESTADÍSTICA
Análisis de la normalidad. Enfoque numérico.
Los descriptivos nos pueden dar información sobre:
◦ Relación entre media, mediana y moda.
◦ Asimetría (skewness) y error estándar.
◦ Apuntamiento (kurtosis) y error estándar.
◦ Valores periféricos y extremos.
Como veremos en la sesión dedicada a Descriptiva, los estadísticos
descriptivos muestrales se pueden obtener de varias maneras
dependiendo del paquete.
◦ El paquete base utiliza la función summary(x).
◦ summary(df$Age)
◦ Y stats ofrece fivenum(x)
◦ fivenum(df$Age) #min, primer cuartil, median, segundo cuartil, y max. (Tukey hinges)
GRADO MEDICINA BIOESTADÍSTICA
Bonus sobre enfoque numérico.
◦ El paquete psych utiliza la función describe(x) que ofrece más información.
◦ Permite obtenerlos por grupos de manera fácil.
◦ describeBy(df$Age,df$Sex)
◦ El paquete Hmisc utiliza una función con el mismo nombre describe() (*
recuerde que el último que entra enmascarará la función el anterior. Se la puede llamar
aunque esté enmascarada).
◦ describe(df$Age)
◦ Paquete doBy
◦ summaryBy(Age+Sex~ami,data=df)
GRADO MEDICINA BIOESTADÍSTICA
Análisis de la normalidad. Enfoque gráfico.
Visualizamos:
◦ Histogramas.
◦ hist(df$Age)
◦ Tallo y hojas. (Stem&Leaf)
◦ stem(df$Age)
◦ QQ‐plot frente a distribución normal.
◦ qqnorm(df$Age)
◦ Boxplots
◦ boxplot(df$Age, main="Boxplot Age")
◦ También puede ayudar
◦ plot(density(df$Age)) #se puede dibujar sobre el
histograma.
◦ hist(df$Age,prob=T)
◦ lines(density(df$Age))
GRADO MEDICINA BIOESTADÍSTICA
Análisis de la normalidad. Test de hipótesis.
Usar con criterio (observando todo lo anterior). Por citar algunos:
◦ Test de Kolmogorov‐Smirnof (con la corrección de Lilliefors).
◦ Test de Shapiro‐Wilk
◦ Test de Shapiro‐Francia
◦ Test de D'Agostino.
◦ Test de Anderson‐Darling
◦ Cramer–von Mises
◦ Test de Jarque‐Bera
◦ …
En clase de teoría comentaremos algunos de los problemas que tienen estos test y la
importancia de realizar un análisis integrando los resultados de los tres enfoques
(especialmente el gráfico y los test de normalidad).
El paquete fBasics incluye casi todos y será el que utilizaremos. No hay que pedir todos.
◦ Aunque depende de la situación, en este curso utilizaremos el test de D'Agostino que presenta algunas ventajas,
cuyo detalle escapa a los objetivos de este curso introductorio.
◦ library(fBasics)
◦ dagoTest(df$Age) # Para obtenerla por grupos, acepta tapply y by. No acepta aggregate.
GRADO MEDICINA BIOESTADÍSTICA