Generando los numeros aleatorios
set.seed(1111)
num_aleato<- runif(100)
num_aleato
## [1] 0.46550264 0.41292487 0.90700321 0.13710541 0.73881683 0.97632700
## [7] 0.87995994 0.11678428 0.54628877 0.14011597 0.00169020 0.74895750
## [13] 0.75095817 0.63340635 0.86816780 0.15936303 0.91682805 0.55700675
## [19] 0.90041867 0.76588707 0.16441338 0.42121847 0.83911725 0.98737065
## [25] 0.06248020 0.40557686 0.03460843 0.38555472 0.63894232 0.21639342
## [31] 0.80617987 0.93122816 0.46791478 0.35914389 0.16790419 0.02617067
## [37] 0.54471158 0.11346912 0.39833781 0.01833906 0.93101940 0.57396927
## [43] 0.75098742 0.51185968 0.23618717 0.95440446 0.29188980 0.89335988
## [49] 0.93668420 0.58188520 0.48406991 0.77819301 0.64954312 0.65284205
## [55] 0.98742740 0.69201309 0.96028255 0.37168819 0.88886418 0.42909692
## [61] 0.99554031 0.34840362 0.96092316 0.82150888 0.21593093 0.31646153
## [67] 0.43000675 0.10734540 0.53772575 0.80828732 0.55058316 0.59749556
## [73] 0.69515564 0.86200685 0.10597633 0.07243558 0.83222920 0.51812256
## [79] 0.62094233 0.76440231 0.29417398 0.58302141 0.61622913 0.09562712
## [85] 0.98706945 0.71095740 0.06044078 0.45310403 0.24853434 0.70752186
## [91] 0.12792488 0.26677878 0.11498608 0.46714076 0.03976418 0.06429438
## [97] 0.72304620 0.79980081 0.56321300 0.89010341
El gráfico mostró que los datos se distribuyen de manera relativamente homogénea en todos los intervalos.
No se observaron concentraciones anormales en un rango específico.
-Conclusión: visualmente, los números siguen un patrón compatible con la distribución uniforme
hist(num_aleato, breaks=6)
2.Prueba de Corrida Se transformó la secuencia en una serie de ceros y unos según las diferencias crecientes o decrecientes.
El número de corridas calculado fue cercano al valor esperado ( 𝜇 μ).
El estadístico 𝑍 Z resultó menor que 1.96 en valor absoluto.
-Conclusión: no se rechaza la hipótesis de independencia. Los números parecen independientes entre sí.
diff(num_aleato)
## [1] -0.052577775 0.494078348 -0.769897803 0.601711420 0.237510168
## [6] -0.096367057 -0.763175665 0.429504495 -0.406172800 -0.138425773
## [11] 0.747267304 0.002000670 -0.117551820 0.234761446 -0.708804773
## [16] 0.757465021 -0.359821297 0.343411921 -0.134531603 -0.601473692
## [21] 0.256805099 0.417898771 0.148253409 -0.924890453 0.343096661
## [26] -0.370968431 0.350946292 0.253387599 -0.422548905 0.589786455
## [31] 0.125048287 -0.463313374 -0.108770889 -0.191239701 -0.141733527
## [36] 0.518540910 -0.431242454 0.284868687 -0.379998752 0.912680348
## [41] -0.357050130 0.177018146 -0.239127744 -0.275672511 0.718217298
## [46] -0.662514664 0.601470085 0.043324315 -0.354798996 -0.097815291
## [51] 0.294123102 -0.128649896 0.003298933 0.334585345 -0.295414307
## [56] 0.268269458 -0.588594357 0.517175989 -0.459767253 0.566443382
## [61] -0.647136682 0.612519538 -0.139414280 -0.605577949 0.100530594
## [66] 0.113545226 -0.322661359 0.430380359 0.270561563 -0.257704155
## [71] 0.046912401 0.097660082 0.166851204 -0.756030522 -0.033540745
## [76] 0.759793618 -0.314106638 0.102819773 0.143459971 -0.470228322
## [81] 0.288847422 0.033207723 -0.520602006 0.891442323 -0.276112042
## [86] -0.650516628 0.392663255 -0.204569687 0.458987516 -0.579596977
## [91] 0.138853893 -0.151792696 0.352154683 -0.427376584 0.024530205
## [96] 0.658751821 0.076754603 -0.236587804 0.326890409
S<-ifelse(diff(num_aleato) > 0, 1, 0) # secuencia de ceros y unos
S
## [1] 0 1 0 1 1 0 0 1 0 0 1 1 0 1 0 1 0 1 0 0 1 1 1 0 1 0 1 1 0 1 1 0 0 0 0 1 0 1
## [39] 0 1 0 1 0 0 1 0 1 1 0 0 1 0 1 1 0 1 0 1 0 1 0 1 0 0 1 1 0 1 1 0 1 1 1 0 0 1
## [77] 0 1 1 0 1 1 0 1 0 0 1 0 1 0 1 0 1 0 1 1 1 0 1
cambios <- abs(diff(S))
# Contar las corridas
corridas <- sum(cambios) + 1
corridas
## [1] 72
mu = (2*length(num_aleato)-1)/3 # media espearada de corrida
mu
## [1] 66.33333
varianza <- (16*length(num_aleato)-29)/90
Z <- (corridas-mu)/sqrt(varianza) # valor de la estadística z
Z
## [1] 1.356316
ifelse(Z<1.96,"Los u_i son independientes","Los u_i son dependeientes")
## [1] "Los u_i son independientes"
3.Prueba Run Test La prueba de corridas formal (Runs Test) aplicada directamente a la secuencia confirmó lo mismo:
El valor p fue mayor a 0.05.
-Conclusión: los números aleatorios no presentan dependencia significativa y se comportan como independientes.
library(DescTools)
RunsTest(S)
##
## Runs Test for Randomness
##
## data: S
## z = 4.2794, runs = 72, m = 47, n = 52, p-value = 1.874e-05
## alternative hypothesis: true number of runs is not equal the expected number
El resultado entregó frecuencias observadas de combinaciones (pares, tercia, etc.) que fueron comparadas con las frecuencias teóricas.
El p-valor fue mayor a 0.05.
library(randtoolbox)
## Cargando paquete requerido: rngWELL
## This is randtoolbox. For an overview, type 'help("randtoolbox")'.
poker.test(num_aleato,nbcard=5)
##
## Poker test
##
## chisq stat = 7.1, df = 4, p-value = 0.13
##
## (sample size : 100)
##
## observed number 0 4 4 11 1
## expected number 0.032 1.9 9.6 7.7 0.77
El estadístico 𝐷 D no fue significativo.
El p-valor > 0.05.
-Conclusión: no se rechaza la hipótesis nula. Los números generados siguen una distribución uniforme en [0,1].
test_ks <- ks.test(num_aleato,"punif",0,1)
test_ks
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: num_aleato
## D = 0.08, p-value = 0.6
## alternative hypothesis: two-sided
test_ks$p.value
## [1] 0.58
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]"
Conclusión General
De acuerdo con las pruebas aplicadas:
La distribución visual y la prueba K-S confirman la uniformidad.
Las pruebas de corridas (manual y formal) validan la independencia.
La prueba de póker respalda la aleatoriedad en los dígitos.
En conjunto, los 100 números generados con runif(100) pueden considerarse aleatorios, independientes y con distribución uniforme [0,1].