Unidad I
Unidad I
Unidad I
UNIDAD I
CONCEPTOS PRELIMINARES Y SIMULACIÓN
«Es mejor tener una respuesta aproximada a la pregunta correcta que una
respuesta exacta a la pregunta equivocada»
John Tukey
Introducción
1. Conceptos iniciales
a) Experimento Aleatorio ()
Es una operación o acto cuyo resultado no se puede predecir con certeza y que
se realiza bajo los siguientes criterios:
Puede ser repetido bajo las mismas condiciones
Se puede describir el número de resultados posibles.
Se puede establecer un modelo matemático asociado a .
Ejemplo:
1 : {Extraer dos esferas de una urna que contiene 5 esferas de color azul y 2
rojas sin importar el orden}
#Se crean dos vectores de tipo character
azul<-rep("azul",5)
rojo<-rep("rojo",2)
urna<-c(azul,rojo)
sample(urna,2)
b) Espacio Muestral
Es el conjunto de todos los resultados posibles de un experimento aleatorio E.
Ejemplo
1 {(azul1, azul2),…,(rojo1,rojo2)}
2 {x / x 0, x Z}
3 {x / x 0, x R}
En muchas situaciones no interesa presentar la extensión del espacio muestral
sino calcular su cardinalidad, es decir:
n(1)=21
choose(7,2)
[1] 21
c) Punto muestral oi
Es cualquier elemento de . Si 1 {o1 , o2 ,, on } entonces 1 tienen n puntos
muestrales.
Ejemplo:
Un punto muestras del primer experimento aleatorio podría ser:
o1={azul1, azul2}
d) Evento
Es cualquier subconjunto de un espacio muestral. Los eventos se identifican
mediante letras mayúsculas.
Podemos definir experimentos aleatorios algo más complicados, por ejemplo:
E4: Extraer una carta solo del palo de corazones, lanzar una moneda y lanzar un
dado
¿Cuántos elementos tiene el espacio muestral?
n()=13x 2 x 6 =156
r1<-seq(1,13)
r2<-c("cara","sello")
r3<-seq(1,6)
carta<-sample(r1,1,replace=F)
moneda<-sample(r2,1,replace=F)
dado<-sample(r3,1,replace=F)
punto<-cbind(carta,moneda,dado)
punto
2. Probabilidad.
Es un número real que expresa la confianza o incertidumbre de la ocurrencia de
un suceso o evento, cuyo resultado no se puede predecir con certeza.
Ejemplo
Según la revista Beverage Digest, la Coca Cola y la Pepsi ocuparon el primer y
segundo lugar en la preferencia de las personas.
Suponga que, en un grupo de 10 personas, seis prefieren Coca Cola y cuatro
prefieren Pepsi, Se selecciona una muestra aleatoria de cinco miembros de ese
grupo, calcule la probabilidad de que exactamente dos prefieran Coca Cola.
6 4
P( A) 0.2381
2 3
10
5
choose(6,2)* choose(4,3)/choose(10,5)
[1] 0.2380952
sim1<-function(personas,n,r){
resul<-matrix(0,r,n)
for (i in 1:r){
resul[i,]<-sample(personas,n)
}
cc<-apply(resul,1,sum)
prob<-table(cc)[2]/r
return(prob)
}
set.seed(10)
sim1(personas3,5,10000)
#Distribución teórica
dhyper(2,6,4,5)
ropt<-function(personas,n,r){
t<-length(r)
probs<-rep(0,t)
for (i in 1:t){
probs[i]<-sim1(personas,n,r[i])
}
err<-abs(probs-dhyper(2,6,4,5))
plot(r,err,type="b")
return(err)
}
rs<-c(50,100,200,500,1000,2000,5000)
ropt(personas,5,rs)
Ejemplo
Se tiene dos dados no cargados, si se lanzan los dados ¿cuál es la probabilidad
de que la suma de las caras superiores de los dados sea mayor a 8?
10
P ( A) 0.28
36
sim2<-function(r)
{
dado<-seq(1,6)
lanza1<-sample(dado,r,replace=T)
lanza2<-sample(dado,r,replace=T)
resul<-lanza1+lanza2
proba<-table(resul>8)/r
print(as.vector(proba[2]))}
set.seed(20)
sim2(1000)
[1] 0.276
Otra forma:
sim2<-function(r){
dado<-seq(1,6)
resul<-rep(0,r)
for(i in 1:r){
suma<-sum(sample(dado,2,T))
resul[i]<-ifelse(suma>8,1,0)
}
proba<-mean(resul)
return(proba)
}
r<-c(10,30,100,200,500,1000)
repet(r,10/36,sim2)
0.35
0.30
probas
0.25
0.20
k k
P Ai P( Ai )
i 1 i 1
Aplicaciones
Un estudiante va a rendir un examen compuesto por una cierta cantidad “p” de
preguntas cada una de ellas con “a” alternativas, de las cuales solo una de ellas
es la respuesta correcta.
Un profesor tiene dos posibilidades:
Primera alternativa: Tomar un examen compuesto por p=10 preguntas con a=3,
por lo que cada pregunta vale dos puntos cada una.
Segunda alternativa: Tomar un examen compuesto por p=5 preguntas con a=5,
por lo que cada pregunta vale 4 puntos cada una.
Si Ud. es el estudiante que va a rendir el examen y no se ha preparado para
dicho examen ¿Cuál de las dos alternativas le conviene si solo quiere aprobar el
examen?
Elabore una función en R que le ayude a tomar una decisión.
Un lote de tablets está compuesto por 10 artículos, de los cuales se sabe que 3
son defectuosos. Si un inspector selecciona al azar 5 artículos ¿Cuál es la
probabilidad de que 4 de dichos artículos sean no defectuosos?
Elabore una función de R que le permita calcular la probabilidad solicitada.
3. Variable Aleatoria
Definición
Es una función que tiene como dominio a un espacio muestral y como rango
un subconjunto de los números reales.
Ejemplo:
Sea el experimento aleatorio E: Inspeccionar 3 artículos y observar si el artículo
se encuentra en perfectas condiciones (C) o si presenta alguna falla (F).
Si se define la variable aleatoria
X: Número de artículos en perfectas condiciones
Halle el dominio y rango de la variable aleatoria X.
Solución:
El espacio muestral asociado al experimento es:
{(C, C, C ), (C, C, F ), (C, F , C ), ( F , C, C ), (C, F , F ), ( F , C, F ), ( F , F , C ), ( F , F , F )}
n() 8 .
La variable aleatoria X es una función con dominio y rango un subconjunto de
los números reales Rx={0, 1, 2, 3}.
X 0 1 2 3
P(X=x) 1/8 3/8 3/8 1/8
Aplicación
Elabore una función en R que permita obtener la función de probabilidad de la
variable aleatoria Y: Número de artículos en perfectas condiciones menos
número de artículos con fallas
Ejemplo:
Un experimento aleatorio consiste en lanzar al mismo tiempo dos dados no
cargados. Sea la variable aleatoria:
X: Número mayor que aparece en la cara superior de los dos dados.
Solución:
Dado el experimento anterior se puede definir su función de probabilidad de la
siguiente manera:
X 1 2 3 4 5 6
D A D O 1
1 2 3 4 5 6
1
D (1,1) (2,1) (3,1) (4,1) (5,1) (6,1)
sim5<-function(lanza)
{
dado1<-sample(1:6,lanza,replace=T)
dado2<-sample(1:6,lanza,replace=T)
dados<-cbind(dado1,dado2) #une dos columnas
máximo<-apply(dados,1,max) #se obtiene el máximo por filas
distrib<-table(maximo)/lanza
print(distrib)
}
Otra forma
sim6<-function(r)
{
dado<-seq(1,6)
lanza<-matrix(0,r,2)
for (i in 1:r)
{
lanza[i,]<-sample(dado,2,replace=TRUE)
}
resul<-apply(lanza,1,max)
dis<-table(resul)/r
print(dis)
}
Ejemplo:
Sea X la variable aleatoria que representa la longitud de una varilla de acero
obtenida de la línea de producción de un fabricante.
La variable aleatoria X es continua pues su rango son todos los puntos de un
intervalo, por ejemplo RX = [ 3.5, 3.9 ] pulgadas.
Distribución Bernoulli
Sea X una vad que tiene la siguiente función de probabilidad
x (1 )1 x x 0,1
P( X x )
0 c.c.
npber<-function(n,theta){
uni<-runif(n)
resul<-ifelse(uni>=1-theta,1,0)
return(resul)
}
npber(10,0.6)
Distribución Binomial
Sea X una vad que tiene la siguiente función de probabilidad
r x
(1 )
rx
x 0,1,2 r
P ( X x ) x
0 c.c.
Una variable aleatoria X con distribución binomial B(r,) puede describirse como
la suma de r pruebas independientes Bernoulli. Así, se tiene una forma de
muestreo generando r números aleatorios U1,..,Ur ~ U(0,1) y haciendo X igual al
número de ellos que son menores que p. El algoritmo seria entonces
Hacer X = 0
Desde i=1 hasta r
Generar U~ U(0,1)
Si U<p hacer X = X+1
Salir X
npbin<-function(n,r,theta){
resul<-rep(0,n)
for (i in 1:n){
uni<-runif(r)
resul[i]<-sum(ifelse(uni>=1-theta,1,0))
}
return(resul)
}
npbin(10,4,0.6)
Distribución Normal
Sea X una vac que tiene la siguiente función de probabilidad
1 x
2
1
2
f ( x) e x
2
Un procedimiento denominado la suma de doce uniformes se basa en el
Teorema Central de Límite (TCL). Si las variables Ui, i=1,2,…,m son i.i.d. U(0,1),
con lo que E(Ui) = 1/2 , Var(Ui) = 1/12, por el TCL la variable aleatoria:
𝑚
∑𝑚
𝑖=1 𝑈𝑖 −
𝑋= 2
√m⁄12
npne<-function(n){
resul<-rep(0,n)
for (i in 1:n){
uni<-runif(12)
resul[i]<-sum(uni)-6
}
return(resul)
}
set.seed(10)
dat1<-npne(50)
shapiro.test(dat1)
set.seed(20)
dat2<-npn(40,5,2)
Aplicación:
Genere 50 muestras de tamaños (20, 50 y 200) provenientes de una distribución
exponencial con media 5 y compare la potencia de las pruebas de Anderson
Darling y Shapiro Wilk.
library(nortest)
sim7<-function(r,n){
p1<-rep(0,r)
p2<-rep(0,r)
for (i in 1:r){
datos<-rexp(n,1/3)
p1[i]<-shapiro.test(datos)$p.val
p2[i]<-ad.test(datos)$p.val
}
r1<-mean(ifelse(p1<0.05,1,0))
r2<-mean(ifelse(p2<0.05,1,0))
return(list(r1=r1,r2=r2))
}
set.seed(30)
sim3(500,15)
Por ejemplo
Si X~Exp() tiene función de densidad de probabilidad:
0 x0
FX(x)=e-x x>0 , entonces su FX(x) es igual a FX ( x) x
1 e x0
Ejemplo:
Los tiempos (en minutos) de un proceso computacional realizado por 5
computadoras fueron: 2.3;1.2; 4.5;3.1; 2.3
Ordenando las observaciones se tiene: 1.2, 2.3, 2.3 3.1, 4.5
i= 1, 2,3, 4, 5
X: Tiempo de ^ ni
F n ( xi )
procesamiento n
xi<1.2 0.0
xi1.2 0.2
xi 2.3 0.6
xi 3.1 0.8
xi <4.5 1.0
datos<-c(2.3,1.2,4.5,3.1,2.3)
plot.ecdf(datos)
#lee los datos
fdae<-ecdf(datos)
#brinda la probabilidad de la fdae para cada dato
pfdae<-sort(fdae(datos))
ecdf(x)
0.0 0.2 0.4 0.6 0.8 1.0
Fn(x)
0 1 2 3 4 5
Ejemplo:
Comparar gráficamente la verdadera distribución acumulada de la curva normal
estándar con la distribución empírica usando muestras aleatorias de tamaños
5,10 y 100.
sim7<-function(datos)
{
plot.ecdf(datos)
points(sort(datos),pnorm(sort(datos)),type="l")
}
simu9<-function(n,fun,...)
{
datos<-round(fun(n,...),1)
plot.ecdf(datos)
points(sort(datos),pnorm(sort(datos),mean(datos),sd(datos))
,type="l")
}
par(mfrow=c(2,2))
simul4(10,rexp,1/5)
simul4(40,rexp,1/5)
simul4(100,rexp,1/5)
simul4(1000,rexp,1/5)
^
La varianza de F n ( x ) converge a cero a medida que el tamaño muestral
F x 1 F x
tiende a infinito V F n x
^
.
n
^
F n ( x ) F ( x ) cuando n (consecuencia del Teorema de Glivenko
Cantelli).
8. Muestra Aleatoria
Se dice que un conjunto de n variables aleatorias (v.a.) X 1 , X 2 , ..., X n forman una
muestra aleatoria (m.a.) de tamaño n seleccionada de la población en estudio, si
verifica las siguientes relaciones entre sus elementos:
a) Las v.a. X 1 , X 2 , ..., X n son independientes. Es decir, F(x1,…,xn)=F(x1)F(x2)F(xn)
b) Todas las v.a. X i tienen la misma distribución de probabilidad, esto es:
FX i x FX x P X x i 1, 2, ,n .
9. Distribuciones Muestrales
Es la distribución de probabilidad de una estadística, la cual se genera a partir
de todas las posibles muestras de tamaño fijado, elegidas al azar de una
población determinada.
En el caso de una población seria todas las muestras de tamaño n, para generar
la distribución de X , S 2 , p , etc.
En el caso de dos poblaciones independientes, todas las muestras de tamaño n1
de la primera población con todas las muestras de tamaño n2 de la segunda
población, para generar la distribución de X 1 X 2 , p1 p2 , S12 S 22 .
En el caso de dos poblaciones dependientes, todas las muestras de tamaño n
de la diferencia Di X i Yi , para generar la distribución de X D .
Esquemáticamente tendríamos el siguiente procedimiento:
T1=t1(x1,x2,…,xn fT(t)
)
P
T2=t2(x1,x2,…,xn
)
θ
… θ t
Tb=tb(x1,x2,…,xn
)
MS Jaime Carlos Porras Cerrón 18
[email protected]
UNIVERSIDAD NACIONAL AGRARIA LA MOLINA
Departamento Académico de Estadística e Informática
Estadística Computacional
Teorema
Si de una población P de tamaño N con media X y varianza X2 , se extraen
todas las m.a. posibles X 1 , X 2 , ..., X n de tamaño n y para cada una de ellas se
calcula el promedio, entonces:
N n
se conoce como factor de corrección de población finita (fcpf).
N 1
Es decir, si X ~ N X , X
2
X ~ N X , X2
Es decir, si X ~ ? X , X
2
y se extrae una muestra n (donde n 30 )
X ~ N ( X , X2 )
a
dmm.cr<-function(datos,r,n)
{
N<-length(datos)
mu<-mean(datos)
sigma2<-((N-1)/N)*var(datos)
medias<-rep(0,r)
for (i in 1:r)
{
medias[i]<-mean(sample(datos,n,T))
}
xbar<-mean(medias)
sigma2.xbar=((r-1)/r)*var(medias)
media<-c(mu,xbar)
set.seed(10)
datos1<-rnorm(300,2,1)
dmm.cr(datos1,100,15)
20
0 10 20 30 40 50
15
Frequency
Frequency
10
5
0
0 2 4 1.4 2.0
datos medias
set.seed(20)
datos2<-rexp(200,1/5)
dmm.cr(datos2,100,55)
Frequency
0 20 40 3 5 7
datos medias
muestreo):
X2 ~ N , X ~ N , ó X ~ ? , X ~ N ,
2
2
2 2
X 2
2
2 2
2
2 2
X 2
2
X2 a X2
X1 X ~ N
2 ,
X 1X ó X X ~ N ,
2
2
X 1X 2
1 2
X 1X 2
2
X 1X 2
a
dmm.cr<-function(pobla1,pobla2,n1,n2,r)
{
N1<-length(pobla1)
N2<-length(pobla2)
mu1<-mean(pobla1)
mu2<-mean(pobla2)
sigma21<-((N1-1)/N1)*var(pobla1)
sigma22<-((N2-1)/N2)*var(pobla2)
set.seed(10)
datos1<-rnorm(80,3,1)
datos2<-rnorm(100,4,2)
dmm.cr(datos1,datos2,16,24,100)
20
40
15
30
Frequency
Frequency
Frequency
10
10
20
5
10
0
1 3 5 0 4 8 -2.5 -1.0
1. Se venden 1000 boletos para un sorteo en el que hay un premio mayor de S/.500,
cuatro premios de S/.100 y cinco premios de S/.10. Se sabe que el boleto cuesta
S/.5. Elabore una función en R que permita simular la función de probabilidad de
la variable aleatoria X: Ganancia neta al comprar el boleto.
ganancia<-function(r){
gana<-c(rep(500-5,1),rep(100-5,4),rep(10-5,5),rep(0-5,990))
bc<-rep(0,r)
for(i in 1:r)
{
bc[i]<-sample(gana,1,replace=T)
}
Fp<-table(bc)/r
print(fp)
}
ganancia(10000)
2. Se tiene una urna con 12 esferas numeradas del 1 al 12. Se saca tres esferas y
se define la variable aleatoria X: Número de esferas divisibles por 2. Elabore una
función en R que permita simular la función de probabilidad de la variable
aleatoria X.
esferas<-function(r){
urna<-seq(1:12)
m<-matrix(0,r,3)
for(i in 1:r){
m[i,]<-sample(urna,3,replace=F)
}
for(i in 1:r)
{
for(j in 1:3)
{
if(m[i,j]%%2==0){
m[i,j]=1
}
else{
m[i,j]=0
}
}
}
x<-apply(m,1,sum)
fp<-table(x)/r
print(fp)
}
esferas(1000)
d1=c(1,1,0,0,1,0,0,1,0)
d2=c(0,0,0,0,1,0,1,0,0,1,0,1,1,0)
dif.prop(d1,d2,3,4,10000)
7. Una urna contiene 10 esferas numeradas del 1 al 10, luego de ser mezcladas se
extraen dos esferas sin reemplazo y se define la variable aleatoria X=Rango
obtenido (máximo –mínimo).
a) Elabore una función en R que permita simular la función de probabilidad de la
variable aleatoria X.
b) Obtenga la probabilidad simulada para el cuarto valor de la variable X para r=900.
Anteponga set.seed(15)
8. Una caja contiene 8 esferas negras, 6 esferas blancas y 10 esferas rojas. Luego
de ser mezcladas, se extraen 4 esferas de dicha caja, una por una y con
reemplazo. Se define la variable aleatoria Y: Número de esferas rojas extraídas.
a) Elabore una función en R que permita simular la función de probabilidad de la
variable aleatoria Y.
b) Obtenga el error absoluto de estimación para el quinto valor de la variable Y,
utilice r=700 y anteponga a su función set.seed(16)