Pseudoslumpmässig talgenering

Urval i R

Richie Cotton

Data Evangelist at DataCamp

Vad betyder slumpmässig?

{adjective} gjord, utförd, inträffad eller vald utan metod eller medvetet beslut.

  • Oxford Languages
Urval i R

Äkta slumptal

  • Genereras från fysiska processer, som att singla slant.
  • Hotbits använder radioaktivt sönderfall.
  • RANDOM.ORG använder atmosfäriskt brus.
    • Tillgängligt i R via paketet random.
  • Äkta slumpmässighet är kostsamt.
1 https://www.fourmilab.ch/hotbits 2 https://www.random.org
Urval i R

Pseudoslumpmässig talgenering

  • Nästa "slumpmässiga" tal beräknas från föregående "slumpmässiga" tal.
  • Det första "slumpmässiga" talet beräknas från ett frö.
  • Startar du från samma frövärde, blir alla framtida slumptal desamma.
seed <- 1
calc_next_random(seed)
3
calc_next_random(3)
2
calc_next_random(2)
6
Urval i R

Funktioner för slumptalsgenering

funktion fördelning funktion fördelning funktion fördelning
rbeta Beta rgeom Geometrisk rsignrank Wilcoxon tecknat rang
rbinom Binomial rhyper Hypergeometrisk rt t
rcauchy Cauchy rlnorm Lognormal runif Likformig
rchisq Chitvå rlogis Logistisk rweibull Weibull
rexp Exponential rnbinom Negativ binomial rwilcox Wilcoxon rangsumma
rf F rnorm Normal
rgamma Gamma rpois Poisson
Urval i R

Visualisera slumptal

rbeta(5000, shape1 = 2, shape2 = 2)
[1] 0.2788 0.7495 0.6485 0.6665 0.6546 0.1575
...

[4996] 0.84719 0.35177 0.92796 0.67603 0.53960
randoms <- data.frame(
  beta = rbeta(5000, shape1 = 2, shape2 = 2)
)
ggplot(randoms, aes(beta)) +
  geom_histogram(binwidth = 0.1)

hist-beta.png

Urval i R

Frön för slumptal

set.seed(20000229)
rnorm(5)
-1.6538 -0.4028 -0.1654 -0.0734  0.5171
rnorm(5)
1.908  0.379 -1.499  1.625  0.693
set.seed(20000229)
rnorm(5)
-1.6538 -0.4028 -0.1654 -0.0734  0.5171
rnorm(5)
1.908  0.379 -1.499  1.625  0.693
Urval i R

Använda ett annat frö

set.seed(20000229)
rnorm(5)
-1.6538 -0.4028 -0.1654 -0.0734  0.5171
rnorm(5)
1.908  0.379 -1.499  1.625  0.693
set.seed(20041004)
rnorm(5)
-0.6547 -0.7854 -0.0152  0.1514  0.5285
rnorm(5)
0.748  0.974  0.174 -0.781 -0.930
Urval i R

Nu kör vi en övning!

Urval i R

Preparing Video For Download...