Generando numeros aleatorios
set.seed(2405)
num_alea<- runif(100)
num_alea
## [1] 0.12242074 0.31131359 0.79503136 0.12145501 0.79184179 0.33601052
## [7] 0.06018389 0.86881719 0.35831720 0.05233460 0.18291044 0.22717437
## [13] 0.71719222 0.53443330 0.42632998 0.19518564 0.28569510 0.14207224
## [19] 0.49848261 0.06214524 0.68143595 0.04043540 0.84943860 0.91316009
## [25] 0.68316950 0.77561107 0.14317033 0.95848595 0.74388760 0.01963606
## [31] 0.79716313 0.77878737 0.17506841 0.28133925 0.43221056 0.33465497
## [37] 0.60289293 0.60863751 0.26175791 0.60067972 0.12061826 0.42256208
## [43] 0.98834977 0.05290555 0.26734886 0.92300448 0.38028041 0.47638732
## [49] 0.64985219 0.98535176 0.06151812 0.09988075 0.92048508 0.42377663
## [55] 0.28525379 0.81210896 0.84356667 0.66500730 0.24312022 0.76808726
## [61] 0.46165502 0.95772733 0.49479253 0.27151699 0.96535377 0.12823482
## [67] 0.54080282 0.06372330 0.97886229 0.87028307 0.11021118 0.98988060
## [73] 0.17636332 0.38236491 0.52364468 0.67179984 0.79652487 0.10137914
## [79] 0.71297217 0.61611266 0.52505512 0.42033848 0.50043607 0.70639188
## [85] 0.74825555 0.97861574 0.96670386 0.25829363 0.69364563 0.79864560
## [91] 0.47296080 0.88533431 0.10133248 0.38456879 0.90757697 0.42541066
## [97] 0.39764705 0.34268300 0.48831534 0.74535731
Los 100 números aleatorios obtenidos con runif(100) y semilla set.seed(2405) fueron sometidos a diversas pruebas estadísticas para verificar sus propiedades:
1.Prueba CHI CUADRADA: La distribución de frecuencias de los números aleatorios es relativamente uniforme en los intervalos, lo cual es consistente con la hipótesis de una distribución uniforme en [0,1][0,1].
hist(num_alea, breaks=6)
2.Prueba CORRIDAS: El valor de 𝑍Z se encuentra dentro del rango de aceptación [−1.96,1.96][−1.96,1.96], lo que indica que no hay evidencia suficiente para rechazar la independencia entre los valores generados.
diff(num_alea)
## [1] 0.188892852 0.483717768 -0.673576354 0.670386785 -0.455831276
## [6] -0.275826624 0.808633301 -0.510499993 -0.305982605 0.130575839
## [11] 0.044263931 0.490017857 -0.182758923 -0.108103324 -0.231144338
## [16] 0.090509459 -0.143622857 0.356410374 -0.436337371 0.619290705
## [21] -0.641000551 0.809003201 0.063721493 -0.229990590 0.092441566
## [26] -0.632440739 0.815315627 -0.214598352 -0.724251545 0.777527075
## [31] -0.018375764 -0.603718960 0.106270840 0.150871305 -0.097555590
## [36] 0.268237962 0.005744585 -0.346879597 0.338921807 -0.480061465
## [41] 0.301943823 0.565787690 -0.935444221 0.214443308 0.655655626
## [46] -0.542724075 0.096106912 0.173464871 0.335499573 -0.923833647
## [51] 0.038362637 0.820604322 -0.496708445 -0.138522845 0.526855173
## [56] 0.031457706 -0.178559365 -0.421887083 0.524967045 -0.306432244
## [61] 0.496072313 -0.462934805 -0.223275535 0.693836780 -0.837118955
## [66] 0.412568007 -0.477079526 0.915138990 -0.108579218 -0.760071889
## [71] 0.879669422 -0.813517282 0.206001590 0.141279775 0.148155151
## [76] 0.124725033 -0.695145732 0.611593035 -0.096859515 -0.091057533
## [81] -0.104716645 0.080097595 0.205955812 0.041863664 0.230360189
## [86] -0.011911879 -0.708410226 0.435351998 0.104999973 -0.325684807
## [91] 0.412373514 -0.784001832 0.283236315 0.523008177 -0.482166308
## [96] -0.027763608 -0.054964054 0.145632341 0.257041971
S<-ifelse(diff(num_alea) > 0, 1, 0) # secuencia de ceros y unos
S
## [1] 1 1 0 1 0 0 1 0 0 1 1 1 0 0 0 1 0 1 0 1 0 1 1 0 1 0 1 0 0 1 0 0 1 1 0 1 1 0
## [39] 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 0 1 1 0 0 1 0 1 0 0 1 0 1 0 1 0 0 1 0 1 1 1 1
## [77] 0 1 0 0 0 1 1 1 1 0 0 1 1 0 1 0 1 1 0 0 0 1 1
cambios <- abs(diff(S))
# Contar las corridas
corridas <- sum(cambios) + 1
corridas
## [1] 63
mu = (2*length(num_alea)-1)/3 # media esperada de corrida
mu
## [1] 66.33333
varianza <- (16*length(num_alea)-29)/90
Z <- (corridas-mu)/sqrt(varianza) # valor de la estadística z
Z
## [1] -0.7978328
ifelse(Z<1.96,"Los u_i son independientes","Los u_i son dependeientes")
## [1] "Los u_i son independientes"
library(DescTools)
RunsTest(S)
##
## Runs Test for Randomness
##
## data: S
## z = 2.4871, runs = 63, m = 46, n = 53, p-value = 0.01288
## alternative hypothesis: true number of runs is not equal the expected number
4.Prueba de Poker: Al analizar los dígitos significativos de los números, los resultados no muestran desviaciones relevantes, indicando que los números mantienen las características de aleatoriedad esperadas.
library(randtoolbox)
## Cargando paquete requerido: rngWELL
## This is randtoolbox. For an overview, type 'help("randtoolbox")'.
poker.test(num_alea,nbcard=5)
##
## Poker test
##
## chisq stat = 0.68, df = 4, p-value = 0.95
##
## (sample size : 100)
##
## observed number 0 2 11 6 1
## expected number 0.032 1.9 9.6 7.7 0.77
5.Prueba Kolmogorov: El valor 𝑝>0.05 p>0.05 confirma que no se rechaza la hipótesis nula, por lo tanto, los números generados siguen adecuadamente una distribución uniforme en el intervalo [0,1][0,1].
test_ks <- ks.test(num_alea,"punif",0,1)
test_ks
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: num_alea
## D = 0.05, p-value = 1
## alternative hypothesis: two-sided
test_ks$p.value
## [1] 0.98
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]"