Script Draft for Intro Stan Channel on YouTube

All,
Maggie Lieu is our YouTube manager and she has written a draft script for a video that will welcome people to the channel. This is not technical, not a mission statement and it is meant to be 3-5 min long.
Maggie will be presenting it: here is her channel on Astro Physics to get an idea of where she is coming from.
The script is below, some ground rules please:

  • Please be kind in your comments. It is possible to really not like something, communicate that, and leave all parties happy.
  • Concrete edits are more useful than general observations.
  • Feel free to rewrite as you see fit. But understand that it may not be adopted.
  • You have until the end of the Thursday meeting at around 12:30 EDT to comment.

Here is a copy of the draft:

Have you ever wanted to predict the stock market or perhaps just the outcome of a football match? Are you trying to take your scientific analysis to the next level or maybe prepare for the next global disaster? It seems like you need statistical inference… but statistics is hard and you’re lazy…

Well you’re in luck! Hello and welcome to the official Stan Youtube channel! Stan is probabilistic programming language that is designed to make it easier for you to do statistical inference. Using Stan you can do quick proto-typing of complex models in just a few lines of code.

Stan is a variation of Hamiltonian Monte Carlo called the No-U-Turn sampler or NUTS for short. We will come back to just what that means in a future video, but in short, it allows for fast exploration of the posterior probability distribution and is highly scalable! Think MILLIONS of parameters!

Stan has been employed in a wide spectrum of fields including: social science to analyse political behavior and election results, in pharmacology to study the dosages of drug administration, in market research to understand the market trends of chocolate bars, in medical imaging to detect tumours, and even in astronomy to constrain dark matter and dark energy!

Stan runs with a command line executable, but it can also be accessed via popular interfaces of R, Python, MATLAB, Mathematica, Julia and Stata, and runs on all major platforms (linux, mac, windows).

Most importantly, Stan is open source. This means you get a reliable and transparent code, that comes with a growing and supportive community. Our non-profit is able to provide free, high quality service thanks to the generous donations from our users. Find out how you can support Stan by checking out the link in the comment section below.

More information about Stan can be found on our website: mc-stan.org. Here we will be releasing new videos regularly covering everything from tips and techniques in Stan, to tutorials in Bayesian Statistics, and applications of Stan in a variety of case studies. Also don’t forget to hit the subscribe button and click the bell, to make sure that you’ll be the first to know when new content arrives! Thanks for watching and see you soon!

3 Likes

Good stuff! I like her videos!

I don’t want to say the obvious, but usually intro youtube videos are 1-2 minutes long, which is roughly the length of the script. I hope you were not planning to pad the rest of time with music or else! :)

The script is good, althought the first paragraph sounds a bit too sale-pitch: “statistics is hard and you’re lazy”. If anything, Stan makes you realize that statistics is really hard, and you can’t afford anymore to be lazy!

In any case, it’s great to see such a resource being put to good use, so all the best with the launch!

1 Like

Just “spoke” it, 2:29. About perfect length. Driving techno is what I would consider Stan’s beat to be. There are serious experts on the forums so I defer.

2 Likes

I meant that youtube lets you choose a video as intro to new viewers of the channel, as long as that video is shorter than 2 minutes (last I checked). If it’s going to be a regular video, then such restriction doesn’t apply.

Great someone is putting effort into the Stan Youtube Channel! I like the overall tone of the message, but have some suggestions:

I fear it is too long. Some things I would consider cutting out/shortening: the open source paragraph, "Stan runs with a command line executable … " might be shortened to something like “Stan runs basically everywhere”

I also think the draft sets some expectations too high, at least in two places:

Last time I checked, 100 000 i.i.d. normal took 40 minutes on an upper-end workstation and even simple hierarchical models become impractical at around 30 000 params. I understand that if you are willing to wait a week, and with map_rect on a cluster and/or GPU you can likely get to millions of parameters for models of actual interest, but that is probably not accessible to most users. So maybe “Think tens/hundreds of thousands of parameters” (sounds way less cool, I admit)?

I am with @mcol here - I think Stan is not for the lazy (at least in its current form). Instead I would pitch the fact that Stan and associated workflows make it easy to find out when your model is wrong/inference unreliable. In the form of the draft I would propose something like “…but statistics is hard so you need to be sure you’re not messing up” and “… designed to make it easier for you to do statistical inference and, importantly, to easily check that your results make sense”.

Good luck with the channel!

3 Likes

I just ran a 100K standard normal model on my 2012 Mac Pro notebook and it took:

> fit <- sampling(model, data = list(D = 100000), chains = 1)

SAMPLING FOR MODEL 'norm' NOW (CHAIN 1).
Chain 1: 
Chain 1: Gradient evaluation took 0.002456 seconds
Chain 1: 1000 transitions using 10 leapfrog steps per transition would take 24.56 seconds.
Chain 1: Adjust your expectations accordingly!
Chain 1: 
Chain 1: 
Chain 1: Iteration:    1 / 2000 [  0%]  (Warmup)
Chain 1: Iteration:  200 / 2000 [ 10%]  (Warmup)
Chain 1: Iteration:  400 / 2000 [ 20%]  (Warmup)
Chain 1: Iteration:  600 / 2000 [ 30%]  (Warmup)
Chain 1: Iteration:  800 / 2000 [ 40%]  (Warmup)
Chain 1: Iteration: 1000 / 2000 [ 50%]  (Warmup)
Chain 1: Iteration: 1001 / 2000 [ 50%]  (Sampling)
Chain 1: Iteration: 1200 / 2000 [ 60%]  (Sampling)
Chain 1: Iteration: 1400 / 2000 [ 70%]  (Sampling)
Chain 1: Iteration: 1600 / 2000 [ 80%]  (Sampling)
Chain 1: Iteration: 1800 / 2000 [ 90%]  (Sampling)
Chain 1: Iteration: 2000 / 2000 [100%]  (Sampling)
Chain 1: 
Chain 1:  Elapsed Time: 489.771 seconds (Warm-up)
Chain 1:                365.287 seconds (Sampling)
Chain 1:                855.058 seconds (Total)

That’s 14 minutes to complete sampling. So if you ran four chains one after the other, it’d be about an hour. It’d be faster with a faster CPU and faster memory. I can run four chains in parallel and get this all done in 15 minutes, even on my ancient notebook (assuming I don’t want to do anything else on it).

I’m still waiting for it to return because RStan does a lot of extraneous work creating a stanfit object compared to CmdStan just saving the draws!

Daniel Lee and I fit a hierarchical Bradley-Terry model for baseball batting matchups over all time (15K parameters, 10M observations) in about two days on a regular computer in our office many years ago. I don’t know how long 100K parameters and 100M observations would’ve taken but presumably longer than our patience would’ve lasted. It can be hard to speed this up with map_rect because the computation is so simple per data point and parameter.

Excellent idea! Maggie was awesome last year at StanCon - I’m sure she’ll do really well presenting this intro to Stan.

Who exactly is the target audience of this video? I assume potential new users - researchers and people working with data who might be interested but not necessarily proficient in statistical modeling; is that fair?
The hypothetical person I have in mind is a researcher who just picked up McElreath’s Statistical Rethinking to learn some more about statistics, is able to run some basic scripts in R (but does not yet enjoy statistical modeling), and just stumbled upon the Stan youtube channel. For this person, I think there are some specific points in the text that might not be entirely “newbie-friendly”.
Obviously I might be wrong about the target audience and I might also be underestimating the next generation of researchers, so please don’t take these suggestions too seriously :-)

I’d personally remove the lazy part because not everyone might appreciate being called that ;) Furthermore, Stan is also very useful to non-lazy people.

I’d suggest changing this as ‘proto-typing’ might be a scary word to non-programmers, and in my personal experience “complex models” can also scare people away. Maybe something like: “Using Stan, you can easily develop statistical models in just a few lines of code”.

should maybe get changed to “Stan uses a variation of …”?

I really like the paragraph that mentions the wide range of fields where Stan is being applied. Maybe this can be moved closer to the beginning, as this is what draws people in.

I agree with this sentiment (“command line executable” is again a scary combination of words for a non-programmer) but I disagree with “runs basically everywhere” because I can already imagine a horde of Excel users who might want to call Stan from their spreadsheets :)

1 Like