Josef,

could you explain that in slightly more detail?  I'm afraid I'm not
familiar with the literature you are referencing at all.

If you have some code I could take a look at, that would probably be
the easiest thing for me.

Thanks!

Federico

On Mon, Oct 22, 2012 at 4:40 PM,  <josef.p...@gmail.com> wrote:
> On Mon, Oct 22, 2012 at 10:33 AM,  <josef.p...@gmail.com> wrote:
>> 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.
>
> Also calculating Q is not very efficient in this case.
> If you know W, then you can just calculate new data by whitening
> or transforming  x_new = W * X for the estimation.
>
> Josef
>
>>
>> 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

------------------------------------------------------------------------------
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

Reply via email to