mvlearn icon indicating copy to clipboard operation
mvlearn copied to clipboard

MultiviewICA transform() application to new/unseen data

Open dbrennan44 opened this issue 2 years ago • 4 comments

Hi devs,

First, thanks for making an awesome tool for multivariate analysis.

I'm wondering if there is a built-in way to apply the fitted mixing matrices of a MultiviewICA instance to unseen data? As in, new "views" outside the fitted data (but with same dimensionality as a single view of the fitted dataset).

Otherwise, is the average of the individual mixing-matrices a good workaround? np.dot(mean_mixing, new_view_data) for example?

Thanks in advance for the insight.

dbrennan44 avatar Apr 24 '23 16:04 dbrennan44

Well indeed it's not so clear how this could work. You would need some test type parameter tuning but you would need a loss for this. You could average or pick the subject that is best for a given loss ?

Message ID: @.***>

agramfort avatar Apr 25 '23 11:04 agramfort

which parameters would need to be tuned? I'm not sure I understand this part of your response.

from what I understand mvica estimates a "shared source" with different mixing matrices for each view. Does one of the output matrices represent these shared sources? And could a new "view" mixing matrix be similarly estimated with least squares?

in sklearn, ICA.fit(matrix_A) can be used to ICA.transform(matrix_B). I am hoping to do the same thing here, but with the "shared" source estimation across the fitted "views".

Thank you again for your time.

dbrennan44 avatar Apr 27 '23 17:04 dbrennan44

from what I understand mvica estimates a "shared source" with different mixing matrices for each view. Does one of the output matrices represent these shared sources? And could a new "view" mixing matrix be similarly estimated with least squares?Message ID: @.***>

I don't have much time to help here but it's a good point.

agramfort avatar Apr 28 '23 10:04 agramfort

From the MVICA paper and Hugo Richard's video, the shared sources are the mean of the sources estimated for each view. So I will use that for now to transform "out-of-sample" views. Agree it could be a good implementation in the tool itself, but I am not skilled enough to contribute.

Thank you

dbrennan44 avatar Apr 28 '23 22:04 dbrennan44