#Generando los números pseudoaleatorios

set.seed(2105)
num_aleat <- runif(100)
num_aleat
##   [1] 0.245519154 0.457494813 0.859095288 0.840357250 0.191119493 0.475931764
##   [7] 0.894099071 0.158261827 0.882120409 0.340110074 0.349406324 0.699754027
##  [13] 0.368329357 0.867298817 0.653151462 0.429979416 0.739513393 0.762396824
##  [19] 0.054423981 0.411596596 0.884652217 0.198434286 0.334524717 0.384777844
##  [25] 0.204925513 0.714524576 0.869925367 0.621858674 0.796944689 0.528703031
##  [31] 0.353457770 0.148118452 0.573530175 0.275152103 0.500938706 0.737911935
##  [37] 0.006368269 0.298604122 0.572943443 0.333152588 0.122898230 0.992085143
##  [43] 0.180482849 0.995778629 0.064303177 0.734864971 0.045968627 0.669607211
##  [49] 0.123642972 0.156271121 0.611875939 0.704567711 0.153813613 0.029233827
##  [55] 0.406418550 0.457109162 0.712798695 0.370221670 0.055973209 0.746525377
##  [61] 0.217945815 0.392428514 0.133362325 0.247514643 0.393641812 0.915247310
##  [67] 0.109358219 0.072141763 0.325966269 0.708332746 0.666920996 0.047175160
##  [73] 0.335763895 0.066495964 0.950583447 0.201585266 0.258795636 0.958626532
##  [79] 0.197548313 0.387085952 0.987643634 0.251705900 0.847648684 0.583023573
##  [85] 0.129320196 0.067466010 0.505289739 0.116002999 0.484847476 0.609338721
##  [91] 0.277528692 0.362179165 0.645928554 0.910923754 0.585734636 0.010491873
##  [97] 0.205065478 0.651376293 0.872574591 0.513140573

##1. Prueba de uniformidad chi cuadrada

library(agricolae)
hist(num_aleat, breaks=6)$count # obteniendo las frecuencias observadas con 6 intervalos

## [1] 25 25 15 19 16
histo <- hist(num_aleat, breaks=6)
Tabla <- table.freq(histo) 
lim_inf <-Tabla$Lower #limite inferior del intervalo
lim_sup <- Tabla$Upper # limite superior del intervalo
 
 obser <- Tabla$Frequency
 Ei <- length(num_aleat)/length(obser) # Valor esperado en una uniforme es E= n/#intervalos
 
 cbind(lim_inf,lim_sup,obser,Ei) # visualizacion de las frecuencias observadas y esperadas en los intervalos.
##      lim_inf lim_sup obser Ei
## [1,]     0.0     0.2    25 20
## [2,]     0.2     0.4    25 20
## [3,]     0.4     0.6    15 20
## [4,]     0.6     0.8    19 20
## [5,]     0.8     1.0    16 20
# calculando la estadística chi cuadrada
  x2 <- (obser-Ei)^2/Ei 
 x2
## [1] 1.25 1.25 1.25 0.05 0.80
chicuad <- sum(x2)
chicuad # Estadistica chi cuadrada
## [1] 4.6
dchi <- qchisq(0.05,length(obser)-1,lower.tail=F)# valor de la distribución chi cuadrada con k-1 grado de libertad y nivel de signiicancia 0.05
 
# Decisión estadística
 
ifelse(chicuad < dchi,"Los $U_i$ provienen de una distribución uniforme [0,1]", "Los $U_i no siguen una uniforme [0,1] ")
## [1] "Los $U_i$ provienen de una distribución uniforme [0,1]"

1.2 Prueba de Kolmogorov-Smirnov (Prueba K-S).

test_ks <- ks.test(num_aleat,"punif",0,1)
test_ks
## 
##  Asymptotic one-sample Kolmogorov-Smirnov test
## 
## data:  num_aleat
## D = 0.1084, p-value = 0.1905
## alternative hypothesis: two-sided
# Decision
 test_ks$p.value # P válido
## [1] 0.1905235
ifelse(test_ks$p.value < 0.05, " Los u_i no siguen una distribución uniforme","Los u_i siguen la distribución uniforme [0,1]") # 
## [1] "Los u_i siguen la distribución uniforme [0,1]"
  1. Prueba de Independencia

2.1. Prueba de Corrida: arriba y abajo

diff(num_aleat)
##  [1]  0.21197566  0.40160048 -0.01873804 -0.64923776  0.28481227  0.41816731
##  [7] -0.73583724  0.72385858 -0.54201033  0.00929625  0.35034770 -0.33142467
## [13]  0.49896946 -0.21414735 -0.22317205  0.30953398  0.02288343 -0.70797284
## [19]  0.35717262  0.47305562 -0.68621793  0.13609043  0.05025313 -0.17985233
## [25]  0.50959906  0.15540079 -0.24806669  0.17508601 -0.26824166 -0.17524526
## [31] -0.20533932  0.42541172 -0.29837807  0.22578660  0.23697323 -0.73154367
## [37]  0.29223585  0.27433932 -0.23979086 -0.21025436  0.86918691 -0.81160229
## [43]  0.81529578 -0.93147545  0.67056179 -0.68889634  0.62363858 -0.54596424
## [49]  0.03262815  0.45560482  0.09269177 -0.55075410 -0.12457979  0.37718472
## [55]  0.05069061  0.25568953 -0.34257703 -0.31424846  0.69055217 -0.52857956
## [61]  0.17448270 -0.25906619  0.11415232  0.14612717  0.52160550 -0.80588909
## [67] -0.03721646  0.25382451  0.38236648 -0.04141175 -0.61974584  0.28858874
## [73] -0.26926793  0.88408748 -0.74899818  0.05721037  0.69983090 -0.76107822
## [79]  0.18953764  0.60055768 -0.73593773  0.59594278 -0.26462511 -0.45370338
## [85] -0.06185419  0.43782373 -0.38928674  0.36884448  0.12449124 -0.33181003
## [91]  0.08465047  0.28374939  0.26499520 -0.32518912 -0.57524276  0.19457360
## [97]  0.44631082  0.22119830 -0.35943402
S<-ifelse(diff(num_aleat) > 0, 1, 0) # seuencia de ceros y unos
S
##  [1] 1 1 0 0 1 1 0 1 0 1 1 0 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 0 0 0 1 0 1 1 0 1 1
## [39] 0 0 1 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 0 0 1 0 1 0 1 1 1 0 0 1 1 0 0 1 0 1 0 1
## [77] 1 0 1 1 0 1 0 0 0 1 0 1 1 0 1 1 1 0 0 1 1 1 0
# devuelve 1 si el número es mayor que el anterior y 0 en caso contrario.

# Detectar cambios
cambios <- abs(diff(S))

# Contar las corridas
corridas <- sum(cambios) + 1
corridas
## [1] 64
mu = (2*length(num_aleat)-1)/3 # media espearada de corrida 
mu
## [1] 66.33333
varianza <- (16*length(num_aleat)-29)/90
 
Z <- (corridas-mu)/sqrt(varianza) # valor de la estadística  z
Z
## [1] -0.558483
# Decisión estadística 

ifelse(Z<1.96,"Los u_i son independientes","Los u_i son dependeientes")
## [1] "Los u_i son independientes"

2.2 Prueba Poker

library(randtoolbox)
## Cargando paquete requerido: rngWELL
## This is randtoolbox. For an overview, type 'help("randtoolbox")'.
poker.test(num_aleat,nbcard=5)
## 
##           Poker test
## 
## chisq stat = 1.8, df = 4, p-value = 0.76
## 
##       (sample size : 100)
## 
##  observed number  0 3 11 5 1 
##  expected number  0.032 1.9 9.6 7.7 0.77

Análisis de Resultados: En conclusión, las pruebas de ji-cuadrada, Kolmogórov–Smirnov y corridas muestran de forma consistente que la muestra generada se ajusta a una distribución uniforme 𝑈 ( 0 , 1 ) U(0,1) y no presenta dependencia temporal, por lo que los números se consideran válidos y confiables para su uso en simulaciones y análisis estadísticos.