Urna de Pólya
totalBlancas<-1
totalNegras<-1
porcentajeIni<-totalBlancas/(totalBlancas+totalNegras)
numIteraciones<-255
set.seed(1)
proporciones<-matrix(rep(0,255),ncol=255,nrow=1)
proporciones[,1]<-porcentajeIni
for(i in 2:255){
aletarorio<-runif(1,0,1)
totalBlancas<-ifelse(aletarorio<proporciones[,i-1],totalBlancas+1,totalBlancas)
totalNegras<-ifelse(aletarorio<proporciones[,i-1],totalNegras,totalNegras+1)
porcentajeIni<-totalBlancas/(totalBlancas+totalNegras)
proporciones[,i]<-porcentajeIni
}
graficaSimulacion<-highchart() %>%
hc_title(text = 'Simulación Montecarlo - Urna de Polya-') %>%
hc_chart(type = 'line') %>%
hc_xAxis(categories = 1:255) %>%
hc_add_series(proporciones[1,], name = "Simulacion 1", showInLegend = FALSE)
Simulación-1:
funcionSMUrnaPolya<-function(numIteracion,totalBlancas,totalNegras){
proporciones<-matrix(rep(0,numIteracion),ncol=numIteracion,nrow=1)
proporciones[,1]<-totalBlancas/(totalBlancas+totalNegras)
for(i in 2:numIteracion){
aletarorio<-runif(1,0,1)
totalBlancas<-ifelse(aletarorio<proporciones[,i-1],totalBlancas+1,totalBlancas)
totalNegras<-ifelse(aletarorio<proporciones[,i-1],totalNegras,totalNegras+1)
porcentajeIni<-totalBlancas/(totalBlancas+totalNegras)
proporciones[,i]<-porcentajeIni
}
return(proporciones)
}
simulaciones<-matrix(rep(0,255),nrow=1,ncol=255)
granMatriz<-matrix(rep(0,255*255),nrow=255,ncol=255)
for(j in 1:255){
salida<-funcionSMUrnaPolya(255,1,1)
simulaciones[1,j]<-salida[255]
granMatriz[,j]<-salida[1,]
}
histograma<-
hchart(simulaciones[1,]) %>%
hc_title(text = 'Histograma - Urna de Polya-')
graficaMatriz<-hchart(t(granMatriz)) %>% hc_colorAxis(stops = color_stops(colors = viridis::inferno(10))) %>%
hc_title(text = 'Diagrama de calor proporciones por iteración y simulación - Urna de Polya-')