1234567891011121314151617181920212223242526272829303132333435 |
- function [auc_val, auc_p,varargout]=slidingROC(stim, nostim, varargin)
- % [auc_val, auc_p,varargout]=slidingROC(stim, nostim, [boots, alph])
- % takes 2 matrices , stim & nostim, of equal number of columns.
- % using ROC analysis (see auc.m)
- % returns a vector whose length is the column width of stim
- % # of columns must be equal
- if size(stim,2) ~= size(nostim,2)
- error('must be equal # of columns')
- end
- pairs={
- 'boots', 2000;...
- 'alph',99;...
- };
- utils.parseargs(varargin,pairs,{},1);
- auc_val=stats.auc(stim,nostim);
- M=[stim; nostim];
- num_stim=size(stim,1);
- num_all=num_stim+size(nostim,1);
- auc_b=zeros(boots,size(stim,2))+0.5;
- parfor bx = 1:boots
- rind=randperm(num_all);
- stim=M(rind(1:num_stim),:);
- nostim=M(rind(num_stim+1:num_all),:);
- [auc_b(bx,:)]=stats.auc(stim,nostim);
- end
- auc_p= stats.get_p(auc_val, auc_b);
- if nargout==3
- varargout{1}=auc_b;
- end
|