← Back to context

Comment by alexpotato

1 day ago

> After running 10 million simulated draws, I got an answer of 0.0323, which matches the real answer very closely.

If you enjoyed reading about how you can approximate complex statistical values using basic programming, I highly recommend Jake Vanderplas "Statistics for Hackers" [0][1].

It converts the sometimes hard to grok statistics terms and formulas into some very simple loops and basic operations.

Can't recommend it enough.

0 - https://speakerdeck.com/pycon2016/jake-vanderplas-statistics...

1 - https://www.youtube.com/watch?v=Iq9DzN6mvYA

One of my favourite stats / data science talks ever.

A few years after watching it for the first time I rewatched it and paused after every problem statement and tried implementing a “simple loops and basic operations” solution and failed almost every single time.

So be warned: he does make it look easy :)

  • It helps if you think about it as:

    "Before they had functions and lookup tables, what would a human have done in the 1940s?"

    e.g. the statistical significance is just "if I were to randomly try this, what percentage of time would it be above 5%"

> > 10 million simulated draws

> I know, I will use rand

> noo, do you even know a thing about randomness?

> okay, fine. I'll use arc4rand which uses a cryptographically-sound prng

> nooo! Random numbers are crap! you should use space-filling sequences that are guaranteed to work optimally for infinity dimensions

> okay

Billy, what are you rambling about? Wake up! We already have a result using RANDU that the verification process confirms is correct.

  • the space filling sequences are only useful in large but moderate dimensions interestingly enough. E.g. d = 100 but not d = 10 ^ 6