📄 cwr_prob.m
字号:
function [likXandY, likYgivenX, post] = cwr_prob(cwr, X, Y);
% CWR_EVAL_PDF cluster weighted regression: evaluate likelihood of Y given X
% function [likXandY, likYgivenX, post] = cwr_prob(cwr, X, Y);
%
% likXandY(t) = p(x(:,t), y(:,t))
% likXgivenY(t) = p(x(:,t)| y(:,t))
% post(c,t) = p(c | x(:,t), y(:,t))
[nx N] = size(X);
nc = length(cwr.priorC);
if nc == 1
[mu, Sigma] = cwr_predict(cwr, X);
likY = gaussian_prob(Y, mu, Sigma);
likXandY = likY;
likYgivenX = likY;
post = ones(1,N);
return;
end
% likY(c,t) = p(y(:,t) | c)
likY = clg_prob(X, Y, cwr.muY, cwr.SigmaY, cwr.weightsY);
% likX(c,t) = p(x(:,t) | c)
[junk, likX] = mixgauss_prob(X, cwr.muX, cwr.SigmaX);
likX = squeeze(likX);
% prior(c,t) = p(c)
prior = repmat(cwr.priorC(:), 1, N);
post = likX .* likY .* prior;
likXandY = sum(post, 1);
post = post ./ repmat(likXandY, nc, 1);
%loglik = sum(log(lik));
%loglik = log(lik);
likX = sum(likX .* prior, 1);
likYgivenX = likXandY ./ likX;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -