set.seed(0507)
num_aleat <- runif(100)
num_aleat
## [1] 0.85055039 0.26894659 0.81246658 0.34619090 0.82982958 0.75116355
## [7] 0.16810329 0.88866329 0.35652532 0.28685031 0.94257439 0.80511639
## [13] 0.71694744 0.35222658 0.81262071 0.52455731 0.30149485 0.14379436
## [19] 0.11493349 0.89378079 0.75642288 0.15827227 0.41363215 0.92047278
## [25] 0.07830906 0.83065817 0.50306731 0.70097733 0.42264490 0.58234489
## [31] 0.97315570 0.85822121 0.73863696 0.82360227 0.59408754 0.70648737
## [37] 0.53603863 0.64182123 0.72861797 0.11310894 0.21172778 0.21484473
## [43] 0.34264920 0.93644677 0.40033863 0.45345591 0.09394243 0.86964713
## [49] 0.89871941 0.22341364 0.64845587 0.26116703 0.90258959 0.77670031
## [55] 0.09636680 0.25215301 0.74115573 0.57306372 0.96495723 0.64510440
## [61] 0.89089489 0.91663052 0.52750861 0.33703443 0.78822402 0.69349083
## [67] 0.18672618 0.10840857 0.59556258 0.28487523 0.32565613 0.77570455
## [73] 0.23170122 0.11047412 0.36870301 0.03837617 0.44575135 0.93312810
## [79] 0.03595518 0.12752954 0.79178027 0.52344941 0.27180638 0.13374405
## [85] 0.49659561 0.66802931 0.75577729 0.37259232 0.25023467 0.52399994
## [91] 0.55634197 0.84889527 0.92608095 0.70324450 0.66829378 0.51534582
## [97] 0.01029977 0.02909727 0.06919605 0.47020329
hist(num_aleat, breaks=5)$count
## [1] 18 20 19 20 23
histo <- hist(num_aleat, breaks=5)
library(agricolae)
Tabla <- table.freq(histo)
#limite inferior del intervalo
lim_inf <-Tabla$Lower
# limite superior del intervalo
lim_sup <- Tabla$Upper
obser <- Tabla$Frequency
# Valor esperado en una uniforme es E= n/#intervalos
Ei <- length(num_aleat)/length(obser)
# visualizacion de las frecuencias observadas y esperadas en los intervalos.
cbind(lim_inf,lim_sup,obser,Ei)
## lim_inf lim_sup obser Ei
## [1,] 0.0 0.2 18 20
## [2,] 0.2 0.4 20 20
## [3,] 0.4 0.6 19 20
## [4,] 0.6 0.8 20 20
## [5,] 0.8 1.0 23 20
# calculando la estadística chi cuadrada
x2 <- (obser-Ei)^2/Ei
x2
## [1] 0.20 0.00 0.05 0.00 0.45
chicuad <- sum(x2)
# Estadistica chi cuadrada
chicuad
## [1] 0.7
# valor de la distribución chi cuadrada con k-1 grado de libertad y nivel de signiicancia 0.05
dchi <- qchisq(0.05,length(obser)-1,lower.tail=F)
# 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]"
test_ks <- ks.test(num_aleat,"punif",0,1)
test_ks
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: num_aleat
## D = 0.073491, p-value = 0.6526
## alternative hypothesis: two-sided
# Decision
test_ks$p.value # P válido
## [1] 0.6526078
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]"
diff(num_aleat)
## [1] -0.581603796 0.543519992 -0.466275689 0.483638684 -0.078666032
## [6] -0.583060253 0.720559998 -0.532137973 -0.069675012 0.655724080
## [11] -0.137457994 -0.088168948 -0.364720869 0.460394138 -0.288063401
## [16] -0.223062466 -0.157700483 -0.028860871 0.778847303 -0.137357910
## [21] -0.598150615 0.255359881 0.506840625 -0.842163716 0.752349108
## [26] -0.327590854 0.197910019 -0.278332435 0.159699988 0.390810818
## [31] -0.114934494 -0.119584254 0.084965309 -0.229514728 0.112399838
## [36] -0.170448745 0.105782600 0.086796743 -0.615509029 0.098618832
## [41] 0.003116953 0.127804474 0.593797564 -0.536108132 0.053117278
## [46] -0.359513478 0.775704692 0.029072279 -0.675305768 0.425042237
## [51] -0.387288849 0.641422568 -0.125889285 -0.680333513 0.155786212
## [56] 0.489002721 -0.168092013 0.391893519 -0.319852838 0.245790490
## [61] 0.025735636 -0.389121908 -0.190474181 0.451189583 -0.094733184
## [66] -0.506764647 -0.078317615 0.487154007 -0.310687350 0.040780904
## [71] 0.450048415 -0.544003327 -0.121227099 0.258228893 -0.330326844
## [76] 0.407375183 0.487376746 -0.897172918 0.091574355 0.664250735
## [81] -0.268330862 -0.251643026 -0.138062330 0.362851559 0.171433698
## [86] 0.087747982 -0.383184974 -0.122357651 0.273765270 0.032342033
## [91] 0.292553299 0.077185676 -0.222836440 -0.034950723 -0.152947966
## [96] -0.505046041 0.018797493 0.040098780 0.401007243
S<-ifelse(diff(num_aleat) > 0, 1, 0) # seuencia de ceros y unos
S
## [1] 0 1 0 1 0 0 1 0 0 1 0 0 0 1 0 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 0 0 1 0 1 0 1 1
## [39] 0 1 1 1 1 0 1 0 1 1 0 1 0 1 0 0 1 1 0 1 0 1 1 0 0 1 0 0 0 1 0 1 1 0 0 1 0 1
## [77] 1 0 1 1 0 0 0 1 1 1 0 0 1 1 1 1 0 0 0 0 1 1 1
# 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] 60
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] -1.515882
# Decisión estadística
ifelse(Z<1.96,"Los u_i son independientes","Los u_i son dependeientes")
## [1] "Los u_i son independientes"
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 = 0.81, df = 4, p-value = 0.94
##
## (sample size : 100)
##
## observed number 0 1 9 9 1
## expected number 0.032 1.9 9.6 7.7 0.77
Se aplicaron pruebas de uniformidad (χ² y Kolmogorov–Smirnov) y de independencia (corridas y poker) a la muestra generada con runif(100). Las pruebas de uniformidad no rechazaron la hipótesis nula: las frecuencias observadas en los intervalos se ajustan a las esperadas y la comparación de la función de distribución empírica con la teórica tampoco mostró desviaciones significativas.
En cuanto a independencia, la prueba de corridas arrojó un número de corridas cercano al esperado y la estadística no resultó significativa; el test tipo poker tampoco mostró frecuencias anómalas en las combinaciones analizadas.
En conjunto, los resultados indican que la muestra se comporta como una secuencia de números uniformes en [0,1] y sin dependencia detectable con las pruebas empleadas.