The problem One of my tasks as head of our final undergraduate year on our Psychology MA/BSc programme is to allocate students to elective modules. We have in the order of 80-100 undergraduates in our final year, and ignoring their undergraduate dissertation, most of them must take 3 modules. There are exceptions however for joint […]

# Category archives: Blog Posts

## A busy start to 2018

I feel the need to recap what’s been going on because I’ve had the sense of being busy in January, which is not the same as being productive. Although maybe I am both? Admin Graded ~250 online exam essays. Started to organise some additional classes related to undergraduate dissertations, for which I get no (formal) […]

## Review of research in 2017

Following from last year’s research review, I’ve decided to repeat the process. You can’t be a proper academic if you don’t have a degree of imposter syndrome, and I’m always frustrated that I don’t achieve my ridiculously ambitious set of goals. So the list below has to be seen in the context of various local […]

## SGSS student-led PhD funding competition

There is a PhD funding opportunity from the Scottish Graduate School of Social Science. This is a student-led funding competition, so you should drive the process and complete the project proposal forms (see link below). After you’ve checked eligibility, even though it is a student-led process, you should get in touch with me soon as […]

## Carnegie Trust PhD funding competition

The 2018-19 Carnegie PhD Scholarship competition has been announced. Candidates must have (or expect to have) a First Class Hons degree from a Scottish University. There are additional eligibility criteria (see the link below) and you must meet all of these to be considered eligible. The expected start data is October 2018. This process involves […]

## Workshop report: What is Attention?

On April 21st – 22nd 2017, we held a workshop at Carnegie Mellon University, called What is Attention? The core organising group was Wayne Wu (Carnegie Mellon University), Britt Anderson (University of Waterloo), Rich Krauzlis (National Eye Institute), and myself Ben Vincent (University of Dundee). We had an esteemed set of attendees (see below) who […]

## Confessions of a reforming Matlab-er

My name is Ben and I’m a self-taught programmer with no formal computer science training. A few years ago I gained the painful self-awareness that my scientific programming was shitty. I’m not saying it was wrong (I hope not) but it was just bad. I confused familiarity with my language of choice with proficiency. I had […]

## matlab rant 2

So I just read this great rant about Matlab by Olivia Guest, and it reminded me to update my previous rant about Matlab, so here it is. For the record, I don’t disagree with anything Olivia said, and I’m not overly defending Matlab. I am trapped in its local minima and am slowly reaching escape velocity, moving over […]

## new guest editorial piece out in Perception

A short viewpoint piece that Keith and I wrote just came out in Perception. Go check it out, it’s open access. May, K. A., & Vincent, B. T. (2016). Fewer Statistical Tests … or Better Ones? Perception. http://doi.org/10.1177/0301006616677909

## Review of research in 2016

I’ve been inspired by reading Tom Stafford’s 2016 research review. The amount of tangible outputs this year has not felt in proportion to the amount of effort being put in. This is obviously going to happen when projects take a while to complete, nevertheless there can be frustration and feelings of being ineffectual. I can […]

## Teaching tip: scatter matrix plots help students see the big picture

I recently went through a draft student project. While their literature review and understanding of pairwise relationships was great, the presentation of a complex literature and set of predictions wasn’t as clear as it could be. The apparent complexity or volume of things to talk about perhaps obscured the simple solution that (as a fresh pair […]

## A grammar of multi-panel scientific plots: initial thoughts

In common with many scientists, I have no formal training in computer science and my coding skills have been entirely self-taught. I’ve been coding for over a decade and a half, and I thought I was a relatively good programmer, but I had mistaken familiarity with expertise. And so recently I have been on a […]

## Bayesian analysis toolbox for delay discounting, version 1.3

Posterior predictive checks The toolbox now calculates 2 measures of “goodness of fit” of the models. This is a useful quantitative reassurance that the models describe the participant discounting behaviour better than chance. In turn, this is important when we come to deciding which (if any) data files we should exclude. You can go and […]

## Bayesian analysis toolbox for delay discounting, version 1.2

I’ve just released Version 1.2 of the toolbox ‘Bayesian analysis toolbox for delay discounting.’ The main feature of this release was the addition of new models. For example, you can now estimate discount rates (ignoring the magnitude effect). So you can obtain estimates of the discount rate k, which is very useful if your primary […]

## Probabilistic programming: a tentative first encounter

While I have some experience with probabilistic programming in the flavour of Bayesian Networks, and have published papers using them, I am interested in the super-class of generic probabilistic programs. That is, right now I am happy with conducting inference on Bayesian Networks, but I want to learn how to conduct inference on generic programs. As […]

## Slice sampling Matlab demo

So far we’ve had a look at rejection sampling and importance sampling. Here we take a quick look at slice sampling, although rather than implementing it ourselves, we will use the built in Matlab slicesample function. Using our parameter estimation example, we will use slice sampling to estimate the mean and sigma of some samples from […]

## useful tree command on mac

I found a simple way to produce tree-like listings of files/folders on the mac. This is a very useful tool to get an overview of some project code. You can install it simply (following instructions I found here). First, open a terminal and install Homebrew if you do not have it already. It’s a package […]

## Importance sampling Matlab demo

Importance sampling is related to rejection sampling, which I looked at in the last post. Here is a short demo. %% true probability distribution true_func = @(x) betapdf(x,1+1,1+10); %% Do importance sampling N = 10^6; % uniform proposal distribution x_samples = rand(N,1); proposal = 1/N; % evaluate for each sample target = true_func(x_samples); % calculate importance […]

## Rejection sampling Matlab demo

I’ve been using MCMC, but I’ve wanted to flesh out my knowledge and explore the space of sampling approaches a little more. One very simple, yet inefficient method, is rejection sampling. Here is a little Matlab example I put together after seeing how easy it was. %% true probability distribution true_func = @(x) betapdf(x,1+1,1+10); %% Do […]

## Pimp your research code using UML class diagrams

Ideally, all research code should be made available at the point of submitting a paper. I’ve found that the way I write my research code has changed for the better now that I’ve made a commitment to making it open. However it can somewhat opaque and time consuming to understand, so how can we help those wanting to review, use, […]