Está en la página 1de 17

Simulación Estadı́stica

Tarea No. 1

Simulación de la probabilidad

Cesar Augusto Correa Lozano (1630817)


Karol Michelle Sandoval Burbano (1626825)

20-02-2018
Taller Simulación De La Probabilidad
Primer Punto
En este punto se presentan una situación en la cual hay 90 chips buenos y 10 son malos y se pide determinar la
probabilidad de extraer una muestra de 5 chips y que estos sean buenos. Para el desarrollo de este punto se utilizó
dos funciones: sample y dhyper.

La primera se utiliza con el fin de generar muestras aleatorias representativas de la población, este proceso se
lleva acabo a cabo mediante funciones del programa estadı́stico R; se logra observar que la cantidad de simulaciones
es crucial ya que a medida que se aumenta dicha cantidad la probabilidad es más exacta. La segunda función se uti-
liza ya que del enunciado se puede identificar que la variable X hace referencia a una distribución Hipergeométrica,
permitiendo calcular dicha probabilidad de una forma más rápida.

Finalmente se puede concluir que ambos métodos son efectivos, obteniendo en el primero una probabilidad del
58.47 % cuando la cantidad de simulaciones es igual a 10000 y en el segundo una probabilidad del 58.37 %.

Segundo Punto
En este punto como primera medida se pide determinar la probabilidad de que dos o más personas cumplan años
el mismo dı́a, partiendo del supuesto que hay 25 personas en un mismo cuarto. Para dar respuesta a esta pregunta
casosf avorables
se hizo uso de un ciclo con el fin de recorrer la cantidad de personas para ası́ utilizar la fórmula ,
casostotales
a través de la cual se logra determinar que la probabilidad de que dicho evento ocurra es aproximadamente 53.8 %.

A continuación, se presenta un gráfico el cual permite apreciar de una mejor forma la paradoja del cumpleaños.

Figura 1: Gráfica de la paradoja del cumpleaños

En esta gráfica se puede observar que la probabilidad de emparejamiento existente entre dos o más personas que
cumplen años el mismo dı́a es directamente proporcional a la cantidad de personas presentes en el cuarto.

Por último, se pide la simulación del experimento mencionada anteriormente 100.000 veces, pero está vez teniendo
en cuenta que cada simulación hace referencia a un cuarto, con base en esto el procedimiento a seguir fue: tomar
100.000 muestras aleatorias de 25 dı́as del año y contar la cantidad de repetidos presentes en las muestras, para ası́
poder determinar cuantas de las personas cumplen años el mismo dı́a en los 100.000 cuartos y con estos valores se
cálculo la probabilidad que fue de aproximadamente 56.977 %(57 %).

Tercer Punto
En este punto además de hacer uso del concepto sample, se presenta uno nuevo choose. El cual tiene una notoria
relación con sample ya que ambos permiten determinar probabilidades, con la diferencia de que sample es más una
función operativa para generar muestras aleatorias y choose es una función que arroja un valor especifico.
Universidad Del Valle

Seguido de haber establecido la relación existente se calcula la probabilidad de que al extraer una muestra de
tamaño 5 la cantidad de buenos sea igual a 2 haciendo uso de las funciones dhyper y choose, las cuales muestran
que esta probabilidad es de aproximadamente 0.638 %.

Por último es importante decir que luego de comparar la función mean(bueno) con el literal d(ejecutar la ins-
trucción sum((0 : 5) ∗ dhyper(0 : 5, 90, 10, 5))) , se puede observar que presentan valores similares que giran en torno
a 4.5, lo cual indica que los dos procesos resultan efectivos.

Cuarto Punto
a) Primeramente se tiene que a es un vector donde hay unos números y donde se repiten algunos seguidamente
con Length(a) nos arroja la longitud de a la cual es 6, es decir que a tiene 6 numeros teniendo en cuenta los
repetidos y no repetidos, después con unique(a) eliminan los elementos repetidos de a y queda un nuevo vector al
cual con Length(unique(a)) se le calcula la longitud que vendrı́a representando la cantidad de numeros que hay
sin repeticiones, luego está la instrucción Length(a) − Length(unique(a)) la cual nos da como resultado cuantos
números son los que se repiten, seguidamente, mediante la instrucción duplicated(a) se obtiene un vector lógico que
indica con TRUE cuando un numero aparece repetido, con length(duplicated(a)) se calcula la longitud del vector
lógico duplicated(a) la cual seria 6 y finalmente, mediante sum(duplicated(a)) sabemos cuántos TRUE hay lo que
significa que esa instrucción nos arroja la cantidad de números repetidos que hay.

b) Debido a que se desconoce la funcionalidad afondo de unique se permitió hacer uso de ella, entonces al im-
plementar el nuevo método el cual presenta menos lı́neas de código, resulta que la probabilidad que se calcula con
las 100.000 simulaciones en el punto 2 da con este método aproximadamente 56, 855 %.

Quinto Punto
En este punto se presenta una situación de un juego de casino, el cual consiste en lanzar 3 dados y mirar cuantos 6
salen en el lanzamiento (se gana a mayor cantidad de 6), para poder desarrollar este enunciado se hace uso de las
funciones de R, dichas funciones permiten generar muestras aleatorias para representar los lanzamientos y de esta
forma poder contar la cantidad de 6 obtenidos en cada uno de ellos. Con el objetivo de apreciar de mejor forma el
enunciado se hace uso de un histograma, el cual se presentará en seguida.

Figura 2: Gráfica juego de dados

De la gráfica se puede interpretar que es más probable que no salga ningún 6 en los lanzamientos. Luego nos piden
realizar el mismo procedimiento para n=10, n=100 y n=1000, con el propósito de identificar que tan cercanas son
las simulaciones a los datos esperados, para ello se utiliza una tabla.

Simulación Estadı́stica 3
Universidad Del Valle

Cuadro 1: Lanzamiento de los dados


Cantidad Simulaciones
10 100 1000 Prob Esperada
0 0.6 0.52 0.574 0.578
1 0.3 0.39 0.335 0.115
2 0.1 0.08 0.087 0.023
3 0.0 0.01 0.004 0.00046

Finalmente se puede concluir que la cantidad de simulaciones juega un papel importante, pues la probabilidad de
obtener 6 aumenta directamente proporcional a la cantidad de simulaciones; vale destacar que cuando n=1000 los
resultados están un poco más cercanos a los esperados.

Sexto Punto

Figura 3: Gráficas distribuciones 1

•Binomial:Se observa que la diferencia existente entre las gráficas de distribución radica en que una presenta mayor
curvatura, esto se debe al valor de P; con respecto a la gráfica de la acumulada vemos que cuando n es mayor esta
tiende a ser más inclinada.
• Poisson:Aquı́ se observa que el valor de λ afecta a la gráfica de la distribución en la centralización, pues con un
valor de λ pequeño se ve un sesgo hacia la izquierda y cuando λ tiene un valor más grande tiende a la derecha la
gráfica; en la gráfica de la acumulada el valor de λ influye en la inclinación ya que a menor λ mayor inclinación.
•Hipergeométrica: Al apreciar las gráficas se pueden ver que a mayor N la curvatura es más pequeña en las gráficas
de distribución y también resulta importante decir que es menor la inclinación en las gráficas de la acumulada.
• Binomial negativa: Haciendo referencia a las gráficas de distribución estas son muy similares; con respecto a la
gráfica de la acumulada se puede ver que guardan equivalencias en la inclinación, pero al tener p un valor menor,
la gráfica se desplaza más cerca del cero.

Simulación Estadı́stica 4
Universidad Del Valle

Figura 4: Gráficas distribuciones 2

• Normal: Con respecto a las gráficas de distribución se ve que cuanto mayor es el valor de σ menor es la curvatura
de la gráfica; al mirar las de la acumulada se ve que a menores valores de µ y σ más inclinada es la gráfica.
• Gamma: Se observa que en la gráfica de distribución el parámetro α es el que desplaza la gráfica hacia la
derecha,respecto al parámetro β es el encargado de dar la curvatura a la misma; al mirar la gráfica de la acumulada
se ve que entre más pequeños sean los parámetros más inclinada es esta.
• Weibull: Se aprecia claramente que a medida que los parámetros tienen mayor valor más sesgada a la derecha
es la gráfica de distribución; en la acumulada se ve mayor inclinación cuando los parámetros toman valores más
grandes.
Septimo Punto
En este punto se habla de un juego de póker el cual consiste en sacar 5 cartas de un mazo de 52, compuesto por 4
Aces y otras 48 cartas, el objetivo es calcular la probabilidad de no obtener ningún As a través del programa R.

Como primera medida se hizo uso de la función choose calculando un combinatorio simple, luego se utilizó la
función dhyper, la cual se usó luego de identificar el enunciado como una distribución hipergeométrica y por último
se realizó una simulación para aproximar la probabilidad. Se puede concluir que estás 3 metodologı́as resultaron
optimas ya que sus resultados a la probabilidad fueron respectivamente 65.88 %, 65.88 % y la última probabilidad
oscila entre el 65 % y 67 %.

Octavo Punto
Para este punto resulta importante hablar un poco del método de integración Monte Carlo, el cual hace referencia
a una serie de métodos de integración numérica basados en el uso de números pseudoaleatorios. Este método se
representa a través de la siguiente función:
n
b−a X
· ·f (ui · (b − a) + a) (1)
n i=1

En este caso a representa al lı́mite inferior en la integral, b representa el lı́mite superior, ui representa las variables
aleatorias generadas n veces asociadas a la distribución uniforme (esta distribución es utilizada para la generación
de números aleatorios) y finalmente al reemplazar los valores se obtiene que:

Z π
4 log(1 + tan2 (x)) dx ≈ 0.172784
0

Bibliografı́a
Es.wikipedia.org.(2018).Integración de Montecarlo.Recuperado el 19 de febrero del 2018. Disponible en linea:
https://es.wikipedia.org/wiki/Integración de Montecarlo.

Rdocumentation.org. (2018). sample function R Documentation. Recuperado el 19 de febrero del 2018. Disponi-
ble en: https://www.rdocumentation.org/packages/base/versions/3.4.3/topics/sample.

Simulación Estadı́stica 5
Universidad Del Valle

##Tarea 2 Simulación Estadı́stica


##PROFESOR: Omar Alexander Rios Saavedra
##ESTUDIANTES:
## Cesar Augusto Correa Lozano (1630817)
## Karol Michelle Sandoval Burbano (1626825)

############ Taller Simulación de la probabilidad ###############

############# Primer Punto #############

#Literal a

#la variable computadora contiene la cantidad de chips buenos y chips malos


#presentes en la caja
computadora<-c(rep("Buenos",90),rep("Malos",10))

n<-10000 #Tama~
no de las simulaciones

contador<-0 #Variable contadora

matriz<-matrix(data=NA,nrow=n,ncol=5) #Matriz que almacena las muestras aleatorias

matriz2<- matrix(data=NA, nrow=n,ncol=5) #Matriz que almacena los resultados de


#las muestras codificando los valores

for(i in 1:n){ #Este ciclo varia de acuerdo a las simulaciones

matriz[i,]<-sample(computadora,5, replace=FALSE) #Muestras aleatorias

for (j in 1:5){ #Este ciclo varia de acuerdo a el tama~


no de muestra

if (matriz[i,j]=="Buenos"){
matriz2[i,j]<-1} #Codificación de los resultados de las muestras
if(matriz[i,j]=="Malos"){
matriz2[i,j]<-0}}}

suma <- apply(matriz2,1,sum) #Variable que realiza la suma por filas de la matriz

#Este ciclo junto al condicional permite contar aquellas filas de las muestras
#obtenidas en las n simulaciones donde aparecen 5 chips buenos

for (k in 1:n){
if (suma[k]==5){
contador=contador+1}
}

#P(X=5)
proba <- contador/n
proba

#Otra alternativa para el literal a

#La variable caja permite identificar la cantidad articulos buenos y malos


#que en este caso son chips de memoria

Simulación Estadı́stica 6
Universidad Del Valle

caja<-c(rep("buenos",90),rep("Malos",10))

c<-0

n<-10000 #la variable n representa la cantidad de simulaciones

b<-0

for(i in 1:n){ #Este ciclo varia de acuerdo a las simulaciones

muestra<-sample(caja,5) #Esta variable extrae muestras de tama~


no 5 de caja

for (i in 1:5){ # Este ciclo varia de acuerdo al tama~


no de la muestra

if (muestra[i]=="buenos"){
c<-c+1 #este condicional permite identificar los chips buenos dentro
#de la muestra,estos casos son guardados en una variable contadora
}
}
if(c==5){ #este condicional permite identificar en cuales muestras se obtuvieron
b<-b+1 # 5 chips buenos y luego almacena los casos en otra variable contadora
}
c<-0 #Esta variable vuelve a cero con el fin de reiniciarse para cada simulacion
}
proba_alternativa<-b/n #(P(X=5))

proba_alternativa

#literal b

#En este literal hicimos uso de la distribución Hipergeometrica

m=90 #Cantidad de chips Buenos


n=100-90 #Cantidad de chips malos
k<-5 #Tama~
no de la muestra

#Función de la distribución hipergeometrica que permite calcular probabilidades


dhyper(5,m,n,k) ##### P(x=5)

############# Segundo Punto #############

#Enunciado

total <- 1
n <- 25
data <- 0
proba1<-0

for(i in 1:25) {
total=total*((365-i+1)/365)##División entre casos favorables y casos totales
fila <- data.frame(i, 1-total)
data <- rbind(data, fila)

Simulación Estadı́stica 7
Universidad Del Valle

}
proba_enunciado <- data[25,2]
proba_enunciado

#literal a
total <- 1
n <- 100
data <- ""
proba<-numeric(length(n))

##Se realiza un ciclo for para calcular las probabilidades


for(i in 1:n) {
total=total*((365-i+1)/365)##División entre casos favorables y casos totales
fila <- data.frame(i, 1-total)
data <- rbind(data, fila)
}
X11()
plot(data, xlab="Personas de una misma muestra",ylab="Probabilidad",
main="Probabilidad de tener la misma fecha de cumplea~
nos",type="l")

# liberal b

# Punto 2.
a<-100000 #a es el numero de simulaciones.
cuartos<-matrix(0,a,25) #Matriz que almacena cada muestra de 25 dias.
contmatriz<-matrix(0,a,25)#Matriz que almacena los numero que presentaron repiteron por muestra.
cont<-numeric(25) #Vector que almacena de forma temporal los numeros que presentaron
#repitición por muestra.
cantrep<-0 #Contador de la cantidad de numeros que presentaron repeticion.
contenedor<-numeric(a) #Vector que almacena la cantidad de repeticiones que se dieron en la muestra.
for(i in 1:a){ #Ciclo encargado de simular las 100.000.
cantrep<-0
contador<-0
cumple <- sample(1:365,25, replace = TRUE) #Muestra de 25 dias aletorios.
cuartos [i,]<- cumple
c1<-duplicated(cumple) #Vector logico que almacena cuando se dio una repeticion.
c2<-sum(c1) #Variable que contiene cuantas repeticiones hay en la muestra.
for (k in 1:25){ #Ciclo para comparar cada numero de la muestra con
n<-cumple[k] #los demas y asi ir contado cuantos son los numero que presentaron repeticion.
for (j in 1:25){ # tambien se almacenan y cuentan estos numeros y los que no presentan
#repeticion se cambian a cero.
p<-cumple[j] #en el vector muestra, ademas se van guardando cuantas
#repeticiones se dieron por muestra.
if (p!=0){
if (n==p){
if (k!=j){
cont[k]<- cumple[k]
cumple[j]<-0}
}
}
}
if (cont[k] != 0){
cantrep<-cantrep+1
}

Simulación Estadı́stica 8
Universidad Del Valle

}
contmatriz[i,]<-cont
casosf<-cantrep+c2
contenedor[i] <- casosf
cumple<-0
cont<-numeric(25)
}
casosf1<-0 #Contador para saber cuantas de las muestras presentaron repeticiones.
for (o in 1:a){
if (contenedor[o]>=1){ #Ciclo para hacer el conteo de las muestras que presentaron repeticiones.
casosf1<-casosf1 + 1
}
}
proba_literalb <- casosf1/a #Variable que almacena la probabilidad pedida en este punto del taller.
proba_literalb

############# Tercer Punto #############


#literal a

#la relación que existe es ambas permiten determinar probabilidades, además


#sample es más una función y choose arroja un valor

sample(1:100,5) #Permite generar muestras aleatorias

choose(100,5) #permite realizar combinatorias

#literal b

m=90 #Cantidad de chips buenos


n=100-90 #Cantidad de chips malos
k<-5 #Tama~
no muestra

#Función de la hipergeometrica para el cálculo de probabilidades (P(X=x))


dhyper(2,m,n,k) #p(x=2)

# Haciendo uso del choose

probabilidad_literalb<-choose(90,2)*choose(10,3)/choose(100,5)
probabilidad_literalb

#literal c

#la variable computadora contiene la cantidad de chips buenos y chips malos


#presentes en la caja
computadora<-c(rep("Buenos",90),rep("Malos",10))

n<-100000 #Tama~
no de las simulaciones

contador<-0 #Variable contadora

matriz<-matrix(data=NA,nrow=n,ncol=5) #Matriz que almacena las muestras aleatorias

matriz2<- matrix(data=NA, nrow=n,ncol=5) #Matriz que almacena los resultados de


#las muestras codificando los valores

Simulación Estadı́stica 9
Universidad Del Valle

for(i in 1:n){ #Este ciclo varia de acuerdo a las simulaciones

matriz[i,]<-sample(computadora,5, replace=FALSE) #Muestras aleatorias

for (j in 1:5){ #Este ciclo varia de acuerdo a el tama~


no de muestra

if (matriz[i,j]=="Buenos"){
matriz2[i,j]<-1} #Codificación de los resultados de las muestras
if(matriz[i,j]=="Malos"){
matriz2[i,j]<-0}}}

suma <- apply(matriz2,1,sum) #Variable que realiza la suma por filas de la matriz

#Este ciclo junto al condicional permite contar aquellas filas de las muestras
#obtenidas en las n simulaciones donde aparecen 5 chips buenos

for (k in 1:n){
if (suma[k]==5){
contador=contador+1}
}

#P(X=5)
proba3 <- contador/n
proba3

mean(suma) #Permite calcular la media de una variable (en este caso suma)

var(suma) #permite calcular la varianza de una variable (en este caso suma)

# literal d

sum((0:5)*dhyper(0:5,90,10,5))

############## Cuarto Punto ##############

#Literal a

a = c(5, 6, 7, 6, 8, 7) #Vecto de valores

length(a) # determina el tama~


no del vector

unique(a) # identifica los valores únicos dentro del vector

length(unique(a)) # determina la cantidad de valores únicos que hay

length(a) - length(unique(a)) # diferencia entre el tama~


no total del vector
#y los valores únicos dentro del vector

duplicated(a) #identifica los valores repetidos

length(duplicated(a)) #tama~
no del vector a

sum(duplicated(a)) #realiza la suma de los valores duplicados

Simulación Estadı́stica 10
Universidad Del Valle

#Literal b

ns<-100000 #Variable que tiene el numero de simulaciones que van hacer


c4b2<-0 #Contador de muestra que presentaron repeticiones
cantrep<-0 #Variable que almacena la cantidad de repeticiones que hubo en una muestra
for(i in 1:ns){ #Ciclo para hacer conteo de la muestras que presentaron repeticiones
cumple <- sample(1:365,25, replace = TRUE) #Muestra de 25 dias aleatorios
cantrep<-length(cumple)-length(unique(cumple)) # determinacion de la cantidad de repeticiones que hay
if(cantrep !=0){ #Prueba para ver si hubo una muestra con repeticiones
c4b2<-c4b2+1
}
}
proba4b2<-c4b2/ns #Variable que almacena la probabilidad pedida

############## Quinto Punto ##############

n<-100 #Cantidad de simulaciones


cuent<-matrix(nrow = n,ncol = 3)#Matriz en la que se guardan los valores
contador3<-0 #codificados de los lanzamientos de los dados

for(i in 1:n){ #ciclo que va hasta la cantidad de simulaciones

for (j in 1:3){ #ciclo que hace referencia a los lanzamientos

dado<-sample(1:6,1,replace = T) #muestra aleatoria de los dados


if(dado==6){
contador3=contador3+1
cuent[i,j]<- 1 #codificación de los valores de la muestra
}
if(dado<6){
cuent[i,j]<-0
}
}
}

#contadores para cada caso en el que aparezca el valor 6


contador_1<-0
contador_2<-0
contador_3<-0
contador_4<-0

suma2<-apply(cuent,1,sum) # variable que permite contar las filas de la matriz

#con este ciclo y los condicionales se quiere contar la cantidad de 6 encontrados


#al sumar las filas dentro de la matriz

for (j in 1:n){
if (suma2[j]==0){
contador_1<-contador_1+1
}
if(suma2[j]==1){
contador_2<-contador_2+1
}
if(suma2[j]==2){

Simulación Estadı́stica 11
Universidad Del Valle

contador_3<-contador_3+1
}
if(suma2[j]==3){
contador_4<-contador_4+1
}
}

#probabilidades para cada uno de los casos


probabilidad1<-contador_1/n
probabilidad2<-contador_2/n
probabilidad3<-contador_3/n
probabilidad4<-contador_4/n

probabilidades2<-c(probabilidad1,probabilidad2,probabilidad3,probabilidad4)

#Histograma para cada frecuencia de 6

valores<-c(0,1,2,3)
contadores<-c(contador_1,contador_2,contador_3,contador_4)
x11()
plot( valores,contadores,type="h",col=c(1,2,3,4),
main = "Gráfico del lanzamiento de los dados",
xlab = "valores posibles",ylab = "Cantidad")

###### Variando los n #######

# En esta parte se puede apreciar que es el mismo código, pero con la diferencia
#de que la cantidad de simulaciones varia

#n=10

n<-10
cuent1<-matrix(nrow = n,ncol = 3)
contador4a<-0
for(i in 1:n){
for (j in 1:3){
dado1<-sample(1:6,1,replace = T)
if(dado1==6){
contador4a=contador4a+1
cuent1[i,j]<- 1
}
if(dado1<6){
cuent1[i,j]<-0
}
}
}
contador_1a<-0
contador_2a<-0
contador_3a<-0
contador_4a<-0
suma2a<-apply(cuent1,1,sum)

for (j in 1:n){
if (suma2a[j]==0){
contador_1a<-contador_1a+1

Simulación Estadı́stica 12
Universidad Del Valle

}
if(suma2a[j]==1){
contador_2a<-contador_2a+1
}
if(suma2a[j]==2){
contador_3a<-contador_3a+1
}
if(suma2a[j]==3){
contador_4a<-contador_4a+1
}
}
probabilidad1a<-contador_1a/n
probabilidad2a<-contador_2a/n
probabilidad3a<-contador_3a/n
probabilidad4a<-contador_4a/n

probabilidades1<-c(probabilidad1a,probabilidad2a,probabilidad3a,probabilidad4a)

#n=1000

n<-1000
cuent3<-matrix(nrow = n,ncol = 3)
contador6<-0
for(i in 1:n){
for (j in 1:3){
dado3<-sample(1:6,1,replace = T)
if(dado3==6){
contador6=contador6+1
cuent3[i,j]<- 1
}
if(dado3<6){
cuent3[i,j]<-0
}
}
}
contador_1b<-0
contador_2b<-0
contador_3b<-0
contador_4b<-0
suma2b<-apply(cuent3,1,sum)

for (j in 1:n){
if (suma2b[j]==0){
contador_1b<-contador_1b+1
}
if(suma2b[j]==1){
contador_2b<-contador_2b+1
}
if(suma2b[j]==2){
contador_3b<-contador_3b+1
}
if(suma2b[j]==3){
contador_4b<-contador_4b+1
}
}
probabilidad1b<-contador_1b/n

Simulación Estadı́stica 13
Universidad Del Valle

probabilidad2b<-contador_2b/n
probabilidad3b<-contador_3b/n
probabilidad4b<-contador_4b/n

probabilidades3<-c(probabilidad1b,probabilidad2b,probabilidad3b,probabilidad4b)

#Resultados

#A continuación se muestra una matriz con las probabilidades obtenidas


#para cada caso, con su respectivo tama~no de muestra

Matriz_resultados<-matrix(c(probabilidades1,probabilidades2,probabilidades3),
nrow=4,ncol=3)
colnames(Matriz_resultados)<-c("10","100","1000")
rownames(Matriz_resultados)<-c("0","1","2","3")
Matriz_resultados

############# Sexto Punto #############

x<-c(1:10000)
#a)Binomial
{X11()
par(mfrow=c(2,2))

#Simulacion con parametros n = 1000 y p = 0.65


#Graficia de la distribucion Binomial (1000,0.65)
hist(rbinom(x,1000,0.65), main = "Distribucion Binomial (n=1000,p=0.65)")
#Grafica acumulada Binomial(n=1000,p=0,65)
plot(pbinom(0:10000,1000,0.65),type = "s", xlim = c(600,700),
main="Acumulada Binomial (n=1000,p=0.65)")

# Simulacion con parametros n = 5000 y p = 0,88


#Grafica de la distirbucion Binomial(n=5000,p=0,88)
hist(rbinom(x,5000,0.65), main = "Distribucion Binomial(n=5000,p=0,88)")
#Grafica acumulada Binomial(n=5000,p=0,88)
plot(pbinom(0:10000,5000,0.65),type = "s", xlim = c(3000,4000),
main = "Acumulada Binomial(n=5000,p=0,88)")
}
#b) Poisson
{X11()
par(mfrow=c(2,2))
#Simulacion de la distirbucion Poisson(4)
#Grafica de la distribucion Poisson (4)
hist(rpois(x,4), main="Distribucion Poisson(4)")
#Grafica acumulada Poisson (4)
plot(ppois(0:10000,4),type = "s", xlim = c(0,50), main = "Acumulada Poisson(4)")

#Simulacion de la distirbucion Poisson(19)


#Grafica de la distribucion Poisson(19)
hist(rpois(x,19),main="Distribucion Poisson(19)")
#Grafica acumulada Poisson(19)
plot(ppois(0:10000,19),type = "s", xlim = c(0,50), main = "Acumulada Poisson(19)")
}
#c) Hipergeometrica
{X11()

Simulación Estadı́stica 14
Universidad Del Valle

par(mfrow=c(2,2))
#Simulacion de la distribucion hypergeometrica Hipergemoretrica(100,500,50)

#Grafica de la Distribucion Hipergeometrica (100,500,50)


hist(rhyper(x,100,500,50),main = "Distribucion Hipergemoretrica(100,500,50)")

plot(phyper(0:10000,100,500,50),type = "s", xlim = c(0,50),


main = "Acumualda Hipergemoretrica(100,500,50)") #Grafica acumulada Hipergeometrica (100,500,50)

#Simulacion de la distribucion Hipergeometrica (200,500,60)

#Grafica de la distribucion Hipergeometrica (200,500,60)


hist(rhyper(x,200,500,60), main = "Distribucion Hipergeometrica (200,500,60)")

#Grafica acumualda de la distribucion Hipergeometrica (200,500,60)


plot(phyper(0:10000,200,500,60),type = "s",xlim = c(0,50),
main = "Acumualda Hipergeometrica (200,500,60)")
}
#d)Binomial Negativa
{X11()
par(mfrow=c(2,2))
# Simulación de la distribucion BinomialN.(10,0.5)

#Grafica de la distribucion BinomialN.(10,0.5)


hist(rnbinom(x,10,0.5),main = "Distribucion BinomialN.(10,0.5)")

plot(pnbinom(0:10000,10,0.5),type = "s",xlim = c(0,35),


main = "Acumulada BinomialN.(10,0.5)") #Grafica acumulada de la BinomialN.(10,0.5)

#Simulacion de la distribucion BinomialN.(30,0.36)

#Grafica de la distribucion BinomialN.(10,0.5)


hist(rnbinom(x,30,0.36), main = "Distribucion BinomialN.(30,0.36)")

plot(pnbinom(0:10000,30,0.35),type = "s",xlim = c(0,110),


main = "Acumulada BinomialN.(30,0.36)") #Grafica acumualada de la distribucion BinomialN.(30,0.36)
}
#e)Normal
{X11()
par(mfrow=c(2,2))
#Simulacion de la distribucion Normal (0,1)

#Grafica de la distribucion Normal(0,1)


hist(rnorm(x,0,1),main = "Distribucion Normal (0,1)")
plot(pnorm(x,0,1),type = "s",xlim = c(0,10),
main = "Acumulada Normal (0,1)") #Grafica acumualada de la Normal(0,1)

#simulacion de la distribucion Normal(10,5)

#Grafica de la distribucion Normal(10,5)


hist(rnorm(x,10,5),main = "Distribucion Normal(10,5)")
plot(pnorm(x,10,5),type = "s",xlim = c(0,30),
main = "Acumulada Normal(10,5)") #Grafica acumualda de la Normal(10,5)
}
#f) Gamma
{

Simulación Estadı́stica 15
Universidad Del Valle

X11()
par(mfrow=c(2,2))

#Simulacion de la distribucion Gamma (15,5)

#Grafica de la distribucion Gamma (15,5)


hist(rgamma(x,15,5), main = "Distribucion Gamma (15,5)")
plot(pgamma(x,15,5),type="s",xlim = c(1,10),
main = "Acumulada Gamma (15,5)") #Grafica acumulada de la Gamma (15,5)

#Simulacion de la distribucion Gamma (45,5)

#Grafica de la distribucion Gamma (45,5)


hist(rgamma(x,3,1), main = "Distribucion Gamma (45,5)")
plot(pgamma(x,45,5),type="s",xlim = c(1,16),
main = "Acumulada Gamma (45,5)") #Grafica acumulada de la Gamma (45,5)
}
#g) Weibull
{
X11()
par(mfrow=c(2,2))

#Simualcion de la distibucion Weibull (5,20)

#Grafica de la distibucion Weibull (5,20)


hist(rweibull(1:10000,5,20),main = "Dsitribucion Weibull (5,20)")
plot(pweibull(0:10000,5,20),type = "s",xlim = c(1,40),
main = "Acumulada Weibull (5,20)") #Grafica acumulada de la Weibull (5,20)

#Simulacion de la distribucion Weibull (15,35)

#Grafica de la distribucion Weibull (15,35)


hist(rweibull(x,15,35),main = "Distribucion Weibull (15,35)")
plot(pweibull(x,15,35),type = "s",xlim = c(20,50),
main = "Acumulada Weibull (15,35)") #Grafica acumulada de la Weibull (15,35)
}

############# Septimo Punto #############

#Literal a

#probabilidad de no obtener ningun as

#combinatorio
probabilidad<-choose(4,0)*choose(48,5)/choose(52,5)
probabilidad
#Hipergeometrica

m=4 #cantidad de Ases


n=52-4 #cantidad de las otras cartas
k<-5 #Cantidad de cartas que se van a extraer

#Función de la hipergeometrica que permite calcular las probabilidades

dhyper(0,m,n,k) #P(X=0)

Simulación Estadı́stica 16
Universidad Del Valle

#literal b

#La variable poker contiene la cantidad de Aces y otras cartas en el mazo


Poker<-sample(c(rep(1,4),rep(0,48)))
n<-1000 #Cantidad de simulaciones
matriz5<-matrix(0,n,5) # Matriz que almacena las muestras
for (i in 1:n){
matriz5[i,] = sample(Poker, 5, replace = F) #muestras aleatorias de tama~
no 5
}
contador8<-0
suma4<-apply(matriz5,1,sum) # variable que suma las filas de la matriz

#Este ciclo junto al condicional permite contar las muestras en las cuales
#no se obtiene ningun As
for (j in 1:n){
if (suma4[j]==0){
contador8<-contador8+1
}
}

#Determinar la probabilidad de que no se extraiga ningun As

prob_poker<-contador8/n #P(X=0)
prob_poker
############# Octavo Punto #############

a<-0 #limite inferior


b<-pi/4 #limite superior
n=1000000 #cantidad de simulaciones
f<-function(x)(log(1+(tan(x))^{2})) #función correspondiente al integrando
x<-runif(1000000)
metodo_monte_carlo<-(b-a)*sum(f(x*(b-a)+a))/n #método monte carlo para intergrar
metodo_monte_carlo

Simulación Estadı́stica 17

También podría gustarte