compute_suff_stats.m

来自「The BNL toolbox is a set of Matlab funct」· M 代码 · 共 44 行

M
44
字号
function freq=compute_suff_stats(post,varargin)
%compute suff stats for multinomial logist reg (freq of successes and total
%counts)
if isempty(varargin) merged_node=0;
else merged_node=1;
    data=varargin{1};
    M=varargin{2};
    S_item=varargin{3};
    N=varargin{4};
end
if ~merged_node
    p=post{1};
    for j=2:length(post)
        p=p+post{j};
    end
    freq=sum(p,ndims(p));
else 
        nd=ndims(squeeze(post{1}));
        siz=size(post{1});
        siz=mysetdiff(siz,1);%remove dimensions of size 1
        shift=prod(siz(1:end-1));
    
        freq=zeros([ shift M S_item  ]);
        
    
    
    for k=1:length(post)
        
            hid=reshape(post{k},shift,N);
        
        for j=1:M
            %y2=find(data((obsnodenr(k)-1)*M+j,:)~=-1);
            %total(:,j)=total(:,j)+sum(hid(:,y2),2);
            for ss=0:S_item-1
                y1=find(data{k}(j,:)==ss);
                
                freq(:,j,ss+1)=freq(:,j,ss+1)+sum(hid(:,y1),2);
                
            end
        end
    end
     freq=reshape(freq,[siz(1:end-1) M S_item]);
    
end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?