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"
  1. Prueba Run Test: Confirma el resultado anterior, mostrando que la secuencia de subidas y bajadas no presenta patrones significativos, por lo que los valores se comportan como 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]"