function plot_tippett(likelihood_ratio_same_speaker, IIsame_speaker_compared, likelihood_ratio_different_speaker, IIdifferent_speaker_compared, figure_title) % plot_tippett(likelihood_ratio_same_speaker, IIsame_speaker_compared, likelihood_ratio_different_speaker, IIdifferent_speaker_compared, figure_title) % % by Geoffrey Stewart Morrison http://geoff-morrison.net % Version date: 12 March 2008 % sucessfully tested using Matlab R2007b, R2008a running under Windows XP x64 % % Function which draws Tippett plots % Red line: proportion of different-speaker comparisons with log10 likelihood ratio equal to or less than value indicated on x-axis % Blue line: proportion of same-speaker comparisons with log10 likelihood ratio equal to or greater than value indicated on x-axis % % INPUTS: % likelihood_ratio_same_speaker vector of likelihood ratios from same-speaker comparisons % likelihood_ratio_different_speaker vector of likelihood ratios from same-different comparisons % figure_title title for Tippet plot (optional) % IIsame_speaker_compared not used in this version but may be of use in future versions* % IIdifferent_speaker_compared not used in this version but may be of use in future versions* % *call function usind empty arrays: plot_tippett(likelihood_ratio_same_speaker, [], likelihood_ratio_different_speaker, [], figure_title); if nargin == 0 % make a plot using sample data LR_ss = [.8 1 5 3 9 10 25 6 20 18 .9 .7 11]; LR_ds = [.002 .01 .3 .5 .9 1.2 .6 .05 .006 1.3 .4 .2 .03 1.1 2 .0005]; plot_tippett(LR_ss, [], LR_ds, []); return end if nargin < 5, figure_title = 'Tippett Plot'; end % default figure title % put LR data is in form of column vectors % sort LR data % calculate log10 of LR data % calculate cumulative proportions likelihood_ratio_different_speaker = likelihood_ratio_different_speaker(:); [LR_sorted_different_speaker, II_sorted_different_speaker] = sort(likelihood_ratio_different_speaker); log_LR_sorted_different_speaker = log10(LR_sorted_different_speaker); num_different_speaker_compared = length(likelihood_ratio_different_speaker); cumulative_proportion_different_speaker = (num_different_speaker_compared:-1:1)/num_different_speaker_compared; likelihood_ratio_same_speaker = likelihood_ratio_same_speaker(:); [LR_sorted_same_speaker, II_sorted_same_speaker] = sort(likelihood_ratio_same_speaker); log_LR_sorted_same_speaker = log10(LR_sorted_same_speaker); num_same_speaker_compared = length(likelihood_ratio_same_speaker); cumulative_proportion_same_speaker = (1:num_same_speaker_compared)/num_same_speaker_compared; % plot cumulative proportions against log10 LR values figure; plot(log_LR_sorted_different_speaker, cumulative_proportion_different_speaker,'r') hold on plot(log_LR_sorted_same_speaker, cumulative_proportion_same_speaker,'b') hold off title(figure_title) xlabel('Log10 Likelihood Ratio') ylabel('Cumulative Proportion') return