Monday, October 10, 2011

Multiple Guess vs. Matching

It's exam time in Tennessee!  Two of them will be multiple choice, and I am trying to get them to be matching.  I was thinking about this after class tonight, and called my Lil Sis about it.  Which type of exam will allow for a higher score, guessing on each question?

Well, it turns out that they both are equivalent, if you have each matching answer used once.  This can be proven quite easy with the binomial distribution.  This means that a 5 option matching is equivalent to 5 question multiple choice of 5 options.


function MultipleGuessExams

% Simulating a multiple choice of 100 questions, 5 options, each weighted
% equally.
n=5;
p=100;
w = ones(p,1);
MultipleChoice(n,p,w);

% Now trying the same thing with true false choice
n=2;
p=100;
w = ones(p,1);
MultipleChoice(n,p,w);

% Now looking at matching
n=5;
p=1000;
Matching(n,p,w);

% The mutliple choice follows the bionomal disbitribution.  If there are
% p=100 questions and n=5 options, the distributin looks like the
% following.
n=5;
p=100;
x=1:100;
y = binopdf(x,p,1/n);
plot(x,y);
ylabel('% Achieving Score');
xlabel('Score');

Simulating a matching exam of p questions, n options per question, no repeats

function score = Matching(n,p,w)
score = 0;
for i=1:p
    question = randperm(n);     % 1 to n inclusive pertubation matrix
    answer = randperm(n);       % 1 to n inclusive pertuation matrix

    % Grading
    correct = question-answer;
    [loc ~] = find(correct==0);
    score = score + sum(loc);
end

score = score/(n*p);
fprintf(1,'%i matching questions with %i options: %f\n',p,n,score);
1000 matching questions with 5 options: 0.202600

Simulating a multiple choice exam of p questions, n options per question

function score = MultipleChoice(n,p,w)
score = 0;
for i=1:p
    % Choising an answer for the question
    answer = randi([1 n],1);
    % Picking a guess
    guess = randi([1 n],1);

    % Guessed correctly
    if guess == answer
        score = score + w(i);
    end
end
% Normalizing the score by the total possible score
score = score/sum(w);
fprintf(1,'%i multiple questions with %i options: %f\n',p,n,score);
100 multiple questions with 5 options: 0.270000
100 multiple questions with 2 options: 0.480000
end

Congrats to DeSoto (women's), Tanasi (open), and Reckon (Masters) on making Nationals!  Congratulations to 'Nooga by Nature as well for getting 4th in a three region bid

No comments:

Post a Comment