There is a question with similar intent on programmers.SE. That question has some quite good answers, but the general theme seems to be that without self study, you get no-where.

Obviously there are some major difference between programming and statistics - with programming, you're really just learning some basic logic, and then applying it repeatedly. New languages all use the same basic concepts. Self study allows you learn more advanced concepts, and become more efficient. This kind of stuff is quite difficult to teach.

Statistics is quite different. It's easy to apply the logic involved - because someone else has usually laid out the methodology. Indeed, the methodology is usually most of what is taught in universities. But statistics is really far deeper than that, and involves some really high-level concepts. It's hard to even look for those concepts, if all you've be taught is applied statistics, let alone to understand them (although I wonder how much this may be due to jargon in the field). Also, I find that self study in programming involves reading a lot of short articles/blogs to introduce yourself to new concepts, whereas accessible articles about stats are nearly always aimed at the total beginner, and are therefore somewhat useless to an advancing novice, like myself.

So the question is: Is self study more or less appropriate than a university education, for statistics? What methodologies for self study are there that work? Any examples of what has worked for people before would be welcome.

(this probably should be a community wiki, but I see no checkbox)

  • 4
    $\begingroup$ Related: stats.stackexchange.com/questions/6538 $\endgroup$
    – cardinal
    Commented Mar 29, 2012 at 23:34
  • $\begingroup$ @cardinal: definitely. You answer there is excellent. Hopefully this question will turn out complementary to, and not a duplicate of that question. $\endgroup$
    – naught101
    Commented Mar 30, 2012 at 1:01
  • 2
    $\begingroup$ I don't think this is a duplicate. I think all of the answers there and many of the comments provide useful insights. Cheers. :) $\endgroup$
    – cardinal
    Commented Mar 30, 2012 at 1:12

4 Answers 4


I think I'm in a fairly similar place, but I'll take a stab. I started out as a sociology graduate student and, once I had completed all of the stats courses available through my department, wandered into some grad-level courses from the stats department at my university. It was a revelation; the way that the stats professors approached problems was radically different from my soc professors - much more intuitive and inspiring than what I had learned before, much less formulaic, and dependent on a lot of things that either I hadn't been taught or hadn't managed to learn in my more foundational courses. I had to teach myself a lot of things over again just to keep up, and I still worry that I haven't truly nailed those foundational concepts down.

In the intervening four or five years, I've spent a great deal of time reading widely - blogs, this site, and some standout textbooks have been really helpful. But that self-learning has limits, the greatest of which isn't that I haven't sat through some lectures in school but rather that it's been four or five years since I've worked closely with somebody who actually knew any more than I did. This site is my primary source of getting my incorrect notions shot down. That scares me, to the point that I'm planning on applying to MS programs in biostats this fall - to take some interesting courses, definitely, but also because I just want somebody to run roughshod over my ideas and find out what I've really learned.

In contrast, I've been teaching myself R over roughly the same period and under the same conditions. Until I helped found an R user group about a year and a half ago, I also didn't really have anyone to point out blatantly stupid constructs in my code. But I don't feel nearly the same anxiety about my code, in large part because programming ultimately comes down to a question of whether something works. I don't mean to diminish the challenges there - I've been on StackOverflow long enough to know that, for real software developers, there's a huge amount of expertise that goes into making something that's elegant, performant, maintainable, adaptable, and easy-to-use. But software is ultimately judged on how well it performs its function. As you say, statistics has almost the reverse problem - modern stats software makes it relatively easy to crank out complex models, but in many cases we don't have good systems in place for ensuring that those models are worth a damn. It's difficult to recreate many published analyses, and reproducing previously-published studies from scratch isn't as glamorous as making new discoveries (apply scare quotes as you see fit). I almost always know when my programs are junk, but I'm never entirely certain that my models are good.

So... as in programming, I think self-learning is essential. But I also think it's critically important to have a mentor or peer around who will kick around ideas with you, expose you to new thinking, and kick your ass when necessary. Formal education is one way to meet people like that. Whether it's an efficient one depends more on your circumstances...

  • $\begingroup$ @naught101 In retrospect, I kind of feel like I just rehashed what you said. Hope that's not totally the case... $\endgroup$ Commented Mar 29, 2012 at 23:34
  • $\begingroup$ A little rehash, but some interesting points as well :) You mentorship comment reminds me, for part of last year I had a programming mentor (non-science related, something like an informal GSOC). That was an extremely useful process, and beneficial not just to me, as it pushed forward the development of some broadly useful open source web framework code. Unfortunately, I have difficulty seeing how such a mutually beneficial mentorship might occur in statistics, even though my current project will be helping to test a relatively new model combination methodology. $\endgroup$
    – naught101
    Commented Mar 30, 2012 at 2:54

+1 for a great question. I think in the long run you are just always going to have to rely on self-study in one form or another. If you feel uncomfortable with the fundamentals, formal classes will be great. For example, if you feel solid on applied stats, but don't feel like you have an understanding of the underlying mathematics, taking mathematical statistics classes are going to be the way to go. Even there, though, grad school is ultimately going to be about learning to navigate the field on your own.

I want to take this opportunity to sing the praises of CV. I honestly think that this site is going to be the answer to your concerns. It's true that there are a lot of resources out there that are not aimed at the appropriate level (either too high or too low) and that it is difficult to find what you need. My guess is that books are more often going to be at the level that's best for you; they are going to be more comprehensive, and for any topic there will be ones from almost without any math to purely theoretical treatises with many gradations in between. You can search CV under and if you don't find anything that's quite right, ask a new question. In general, if you are unsure about some specific concept, just ask about it. Even just reading around on the site and following the links is incredibly informative--I'm amazed at how much I've learned since I became active on the site.

In terms of specific strategies that help with self-study, two things have helped me the most. First, with applied stats, this is really just the same as with programming, or getting to Carnegie Hall, practice. Try to find data sets (real-world, if possible), and explore them; look at the data, think about what could possibly be going on, fit some models and check to see if they're reasonable, etc. The more you can do this, the better off you'll be. For understanding theoretical concepts that underlie various techniques, simulating is what works for me. When I read about something, and it says that it works a particular way or will break down under some condition, I often write a little code to create those conditions and generate data from that process, then fit the model and store whatever indicator is relevant, nest that in a loop, and play with it. This is really how I've come to understand pretty much anything. I can read about something, and it can be perfectly clear--I can even turn around and explain it--but I don't really get it until I can generate it and see it in action.


The theoretical basis of statistics is too deep to be able to get a good understanding of the subject just from working on the problems that happen to fall on your desk. Some of the biggest statistical prat-falls I've seen have been from people with programming or mathematical backgrounds who blithely assumed that knowing how to code or work out probabilities was the same as knowing statistics.

All the same, there's no reason why a well thought-out programme of self-study shouldn't do the job. And it does, for some people at least: see the Royal Statistical Society's Graduate Diploma. There's no shortage of textbooks to read (& written by the likes of Cox, Berger, Tukey, Nelder, & Efron!), excellent free software (R) to try things out in, & of course Cross Validated to resolve doubts.


For programming I agree that self-study is the way to go. I taught myself R over a period of a few months as I work as a statistician. I then took a Coursera course in R programming to see if I could learn anything new, and as I had a solid background I aced it and was invited to be teaching assistant on the course.

As for self learning statistics, that depends, but on the side of caution I would say no. Most jobs for a statistician need at least an MSc in stats just to get your foot in the door and for a reason. Experienced statisticians usually have PhDs.

Imagine a doctor asking you to design a selection program for a particular treatment (something I have worked on). You grab your statistics books for a refresher and begin work. You make some mathematical errors or you fail to recognise some lurking variables and the wrong people are selected. Bang! The relatives prosecute for negligence and/or you're in jail for manslaughter.

So with programming, self study is the only way to go but never say you know stats or work on a statistical project without mentorship from a qualified and experienced statistician or at least ask first what the results are to be used for.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.