8 ms·
Statistics for Hackers
- jrbapna 11y agoAnybody have a link to the actual talk?
- TwoFx 11y agoThere is none. https://twitter.com/jakevdp/status/644863206339379201 https://twitter.com/jakevdp/status/644863206339379201
- analognoise 11y agoCan we please stop putting "hack" on EVERYTHING? It isn't a hack to present mathematics in an understandable way - it's a pedagogical improvement for introductory works, not a "hack".
- anewhnaccount 11y agoThe hacking here refers to the approach of "just compute it" rather than using an analytical approach.
- analognoise 11y agoThen it's even worse than "not hacking" - it's not useful. Any idiot can run a simulation, or compute "something". "Something" is only useful in context. "If you can write a for loop, you can do statistics!" Ugh. Can nobody read anymore? It has to be a "slide deck"? Jesus, pick up a book and ask some goddamn questions if you're interested.
- lorg 11y agoSometimes you can get a well-defined problem, but finding the "right" analytical solution will take you days of reading up on it, and the chance of getting it wrong is relatively high. Especially if you don't have someone with strong mathematical/statistical background to review your work. In those cases, finding a programmatic hack around it is a very good approach for giving you reasonable results in a shorter timeframe.
- rankam 11y agoWhy are you so angry? He gave a talk and released the slides because he thought people may benefit from it - given Jake's (the speaker) background and skills, I would say he's doing everyone a favor by publicly releasing this. Calm down.
- whatok 11y agoThis is a slide deck accompanying the author's presentation he gave here: http://www.meetup.com/Multithreaded-Data/events/225205209/ http://www.meetup.com/Multithreaded-Data/events/225205209/ I think you're taking things a bit too far here.
- deleted 11y ago[deleted]
- minimaxir 11y agoIt's actually the opposite: the "hacking" is used to provide better data and analysis using programmatic techniques (bootstrapping, cross-validation) than just by taking a spot average in Excel as gospel. I've seen many, many data scientists from startups write blog posts with skewed data without using such techniques and failing to identify the potential statistical problems.
- rankam 11y agoIn my opinion, the "for hackers" title is in reference to multiple books that have been released with the "X for hackers" that targets people with hacking skills but do not have a formal background in X. Machine Learning for Hackers http://www.amazon.co.uk/Machine-Learning-Hackers-Drew-Conway/dp/1449303714 http://www.amazon.co.uk/Machine-Learning-Hackers-Drew-Conway... Design for Hackers http://www.amazon.co.uk/Design-Hackers-Reverse-Engineering-Beauty/dp/1119998956 http://www.amazon.co.uk/Design-Hackers-Reverse-Engineering-B... Bayesian Methods for Hackers http://www.amazon.co.uk/Bayesian-Methods-Hackers-Probabilistic-Addison-Wesley/dp/0133902838 http://www.amazon.co.uk/Bayesian-Methods-Hackers-Probabilist... EDIT: I'm not the author, but you can find Bayesian Methods for Hackers (free, released by the author) at the link below. I think it's a great resource for anyone wanting to explore Bayesian methods using Python. https://github.com/CamDavidsonPilon/Probabilistic-Programming-and-Bayesian-Methods-for-Hackers https://github.com/CamDavidsonPilon/Probabilistic-Programmin...
- r3bl 11y agoIsn't working around things to make them work for you exactly what the essence of hacking is? Plus, doesn't every hacker start as a script kiddie? Using something others came up with usually sparks the imagination. The next step is usually using the scripts right, followed by using the scripts extensively and finding issues, followed by making your own scripts (or improving the existing ones) to avoid these issues. This looks pretty hackish to me.
- minimaxir 11y agoActually the example code is pretty close to the code you would use for more formal analysis. (naturally, real-world data needs more cleaning)
- texthompson 11y agoI don't think that the title or the content claimed that "presenting mathematics in an understandable way" is a hack. "Statistics for Hackers" sounds to me like hackers are the intended audience. This method of presentation makes sense to me. Most statistics classes that I've experienced were taught from the point of view of abstract math. That's certainly one way to do it, but I knew a lot of people for whom that wasn't the optimal presentation strategy. Now that computing is cheap and there is a large audience of people with programming knowledge, I think that teaching statistics through examples of simulation, bootstrapping shuffling and cross validation is a great way to learn things.
- jmpeax 11y agoIt will pass, just like when use of that ridiculous word "grok" passed.
- mhartl 11y ago"Physics for Poets" is physics presented in a way tailored to poets [1], not physics as done by poets—i.e., for poets, not by poets. Similarly, "Statistics for Hackers" is for hackers, not by hackers. Thus the focus on brute-force computational solutions via for loops, with which hackers would presumably be familiar. [1]: Where poets is a possibly inaccurate metonym for "less mathematically sophisticated students"
- minimaxir 11y agoThe talk is very explicitly a tutorial for a few good statistical methods for those without a statistical background, using simple tools "hackers" are familiar with and are occasionally necessary, especially in the case of bootstrapping. This isn't hacking in the sense of "growth hacking," thankfully.
- pavpanchekha 11y agoThis talk was great, especially its focus on non-parametric techniques. A lot of people are mislead by the traditional statistics approach, where it looks like stats is about memorizing a relatively short list of (really scary) formulas that let you compute one or another thing. People do not think about how these formulas come about, and the simple ideas behind them. On the other hand, I think there is not enough written about how to do statistics with real, large, complex data sets. I tried to write something like this (https://pavpanchekha.com/blog/stats1.html https://pavpanchekha.com/blog/stats1.html) but of course the difficulty is that investigating a complex dataset is by definition too complex to really fit into a blog post. In a large dataset, the difficulties are the how and when you make decisions about what to analyze.
- minimaxir 11y ago> the difficulty is that investigating a complex dataset is by definition too complex to really fit into a blog post It's not complex, but it requires answering scaleability questions. How do you fit the data into memory? How do you even get big data? I managed to analyze 5.6M Hacker News comments (http://minimaxir.com/2014/10/hn-comments-about-comments/ http://minimaxir.com/2014/10/hn-comments-about-comments/ ) by writing a scraper which dumps everything into a PostgreSQL database (https://github.com/minimaxir/get-all-hacker-news-submissions-comments https://github.com/minimaxir/get-all-hacker-news-submissions... ) because it's way too big to fit in memory. Likewise, to visualize the recent NYC taxi data, (http://minimaxir.com/2015/08/nyc-map/ http://minimaxir.com/2015/08/nyc-map/ ), I just used BigQuery and saved myself a load of time downloading the data and setting things up. But in many cases, data is not easily accessible, and not cheap to store and process. I want to switch to an actual big data workflow with Spark, but running the numbers with EC2 storage and processing, it won't be cheap and I may have to set up a Patreon to subsidize things.
- MengerSponge 11y agoThis might be useful the next time you need to scope your project's memory requirements. http://yourdatafitsinram.com/ http://yourdatafitsinram.com/
- porter 11y agoThis needs to be a course. I'd pay for it.
- int3 11y agoWhat books would y'all recommend for someone who has taken a couple of college-level proof courses but never took anything on probability and statistics?
- tel 11y agoWhat kind of stats work are you interested in?
- int3 11y agoI'd like to start with formalizing my knowledge of the basics -- hypothesis testing and confidence intervals. I do some performance tuning work, and it seems like a good idea to understand if my changes are making statistically significant improvements.
- deleted 11y ago[deleted]
- tel 11y agoThose are what're thought of as standard "frequentist" basics; practical tools originally invented for practitioners. Many basic texts aiming to be statistics for scientists will do well, though unfortunately I don't have particular suggestions. Sorry about that!
- chestervonwinch 11y agoI've said this elsewhere, but I recommend Casella & Berger's Statistical Inference. It will take you from probability theory to statistics... all the basics. I found it to be a very readable text, and it is used for many first graduate courses in stats - for me it was used for a 2 semester sequence first focusing on probability, then on statistics.
- saboot 11y agoI second this, also for teaching yourself there is a solutions manual available which is great for doing the exercises with.
- hartator 11y agoCoin toss is a bad example to take as coins can't be loaded. However, very interesting.
- texthompson 11y agoCoins can be biased, they just need to be bent so far out of shape that it's obvious. Here's a fun example: https://izbicki.me/blog/how-to-create-an-unfair-coin-and-prove-it-with-math.html https://izbicki.me/blog/how-to-create-an-unfair-coin-and-pro...
- GFK_of_xmaspast 11y agoWhy would you possibly think that? ( see also: http://news.stanford.edu/pr/2004/diaconis-69.html http://news.stanford.edu/pr/2004/diaconis-69.html )
- hartator 11y agoCoin toss is a bad example to take as coins can't be loaded. However, very interesting.
- ziles88 11y agoThe term hacker is just so overused at this point. Does it just mean someone who is good at tech in the Bay?
- code_sterling 11y agoHow so? I see anyone who refuses to accept things as they are, coupled with an innate curiosity and a drive towards getting to the root of a problem; and finally changing the rules to make it fit their prerogative, a hacker. George Bernard Shaw would refer to this individual as an unreasonable man, but I prefer hacker.
- spenczar5 11y agoBootstrapping deserves to be much better known. The fact that it works is miraculous.
- solomatov 11y agoIt doesn't always work, it has its applicability but it's wide enough.
- stdbrouw 11y ago"It doesn't always work" really is not a very useful thing to say unless you elaborate on when exactly it doesn't work and why. Bootstrapping doesn't work for very low n (e.g. n=10) because the resamples are not smooth enough and it doesn't always work that well for estimating quantiles. But analytic methods fare pretty poorly in these circumstances too and in any case people are mostly interested in confidence intervals around the mean anyway.
- solomatov 11y agoYou are assuming that distributions we work with are normal, and the sampled values are independent. If you take a fat tailed distribution (for example Cauchy), bootstrap wouldn't work. If values, are dependent it wouldn't work either. See also here: http://stats.stackexchange.com/questions/172920/bootstrap-method-downsides http://stats.stackexchange.com/questions/172920/bootstrap-me... They give example of non pathologic distribution for which bootstrap doesn't provide good estimate. It's unform(0, theta)
- stdbrouw 11y agoThat's nonsense. The entire point of the bootstrap is that it does not require the either the original or the sampling distribution to be normal. (For that matter, due to the Central Limit Theorem, neither do analytic approximations like a t-test for comparing different group means.) You misunderstand the point about the Cauchy distribution in the answer on Cross Validated. The Cauchy distribution is a degenerate case, mostly interesting as an academic toy because it has infinite variance. Of course that's not going to fare well. Dependent data can be tricky to deal with, but you can bootstrap such data by removing the dependence, bootstrapping the independent data, and adding the dependence back in. This sounds hard but is usually as easy as running a regression and subtracting/adding the component (x*beta) that leads to the dependency. Alternatively, for timeseries there's window methods. Of course a short slide deck like the one linked to in this thread is not going to teach you all the finer points of bootstrapping and you can definitely do it wrong. But compared to all the assumptions that frequentist statistics makes to generate confidence intervals and the fact that you need a different method for every different scenario, bootstrapping is about as robust and idiot-proof as it's going to get. "It has its applicability" is beyond selling it short.
- stdbrouw 11y agoFor people who are interested in learning more about simulation, permutation tests and bootstrapping, the three techniques that the slide deck discusses, check out Allen Downey's Think Stats: http://greenteapress.com/thinkstats2/ http://greenteapress.com/thinkstats2/. It really is a pity that introductions to statistics spend so much time on analytic approximations and so little on the underlying concepts.