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-')

Escenarios 1-255