📄 ml_covariance_est.m
字号:
% Section 7.1.1: Covariance estimation for Gaussian variables% Boyd & Vandenberghe "Convex Optimization" % Joëlle Skaf - 04/24/08 % % Suppose y \in\reals^n is a Gaussian random variable with zero mean and % covariance matrix R = \Expect(yy^T). We want to estimate the covariance % matrix R based on N independent samples y1,...,yN drawn from the % distribution, and using prior knowledge about R (lower and upper bounds % on R) % L <= R <= U % Let S be R^{-1}. The maximum likelihood (ML) estimate of S is found % by solving the problem % maximize logdet(S) - tr(SY) % subject to U^{-1} <= S <= L^{-1} % where Y is the sample covariance of y1,...,yN. % Input data randn('state',0);n = 10; N = 1000; tmp = randn(n); L = tmp*tmp'; tmp = randn(n);U = L + tmp*tmp'; R = (L+U)/2; y_sample = sqrtm(R)*randn(n,N); Y = cov(y_sample'); Ui = inv(U); Ui = 0.5*(Ui+Ui');Li = inv(L); Li = 0.5*(Li+Li');% Maximum likelihood estimate of R^{-1} cvx_begin sdp variable S(n,n) symmetric maximize( log_det(S) - trace(S*Y) ); S >= Ui; S <= Li;cvx_endR_hat = inv(S);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -