On Mon, Oct 22, 2012 at 10:05 AM, federico vaggi <vaggi.feder...@gmail.com> wrote: > Hi Gael, > > I took the time to dig a little bit, and found some MATLAB code > written by Diego di Bernardo. > > http://dibernardo.tigem.it/wiki/index.php/Network_Inference_by_Reverse-engineering_NIR > > He has a closed form result (the formula is in calc_cov.m), but the > formula is really weird, and I can't really figure out where it comes > from. > > function covA = calc_cov(A,X,sX,P,sP,RIDGE,W); > > % covA = calc_cov(A,X,sX,P,sP [, RIDGE, W]); > % X,sX,P,SP are N x M, where N=number of genes, M=number of expts. > % RIDGE is an optional ridge regression parameter > % W is an optional weight parameter. > > [rows,N]=size(A); > covA=zeros(N,N,rows); > [N,M] = size(X); > > if 1~=exist('RIDGE') > RIDGE = 0; > end > if 1~=exist('W') > W = eye(M); > end > > Q = W*W'; > > for g=1:rows > idx = find(A(g,:)~=0); > vEta = sP(g,:).^2 + A(g,:).^2 * sX.^2; > % vEta = sP(g,g).^2 + A(g,:).^2 * sX.^2; % Deigo's way > Z=X(idx,:); > T=inv(Z*Q*Z'+RIDGE*eye(length(idx)))*Z*Q'; > covA(idx,idx,g) = T*diag(vEta)*T'; > end > > I'm not really sure how exactly the formula was derived though.
I don't know about L1 penalization, but for Ridge there is a literature on Ridge Regression with heteroscedastic or autocorrelated errors, or general error covariance matrix. W looks like it's just a weight matrix, combined with ridge, Q is the error covariance. Your problem is a bit different from standard Ridge regression because you have several dependent/outcome variables. Josef > > Note - while the code is free to download, he specifically says that > he doesn't want the code used for commercial purposes without > permission. I presume reproducing it is ok? > > Federico > > > > On Mon, Oct 22, 2012 at 3:34 PM, Gael Varoquaux > <gael.varoqu...@normalesup.org> wrote: >> On Fri, Oct 19, 2012 at 01:09:21PM +0200, federico vaggi wrote: >>> Assuming that X and B are experimentally measured values with >>> uncertainties, what's the correct way to transfer that uncertainty to >>> A? >> >> There exists to my knowledge no theoretical/closed form result. I would >> rely on bootstrap: >> http://en.wikipedia.org/wiki/Bootstrapping_%28statistics%29 >> >> G >> >> ------------------------------------------------------------------------------ >> Everyone hates slow websites. So do we. >> Make your web apps faster with AppDynamics >> Download AppDynamics Lite for free today: >> http://p.sf.net/sfu/appdyn_sfd2d_oct >> _______________________________________________ >> Scikit-learn-general mailing list >> Scikit-learn-general@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/scikit-learn-general > > ------------------------------------------------------------------------------ > Everyone hates slow websites. So do we. > Make your web apps faster with AppDynamics > Download AppDynamics Lite for free today: > http://p.sf.net/sfu/appdyn_sfd2d_oct > _______________________________________________ > Scikit-learn-general mailing list > Scikit-learn-general@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/scikit-learn-general ------------------------------------------------------------------------------ Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_sfd2d_oct _______________________________________________ Scikit-learn-general mailing list Scikit-learn-general@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/scikit-learn-general