回复 第16楼 的 谢益辉:关心SIR是因为曾经一直想找时间写完variable selection的两篇paper,现在看来task queue只能越来越长。。。paper几乎又要无限期延后、夭折了。。。
回复 第1楼 的 Tracy X:一两句话,我做不到。条条大路通罗马,说一种对不喜欢数学的人(e.g., me)来说可能比较直观的解释吧:
做SIR的目的是降维,更重要是的它仅仅为了降维;这一点跟其他方法有很大区别,因为其他方法(比如你所说的PLS)往往做的比降维要多一些。
三个字母一个一个说吧:
第三个字母R: 对于(X,Y),通常关心的是它们之间的dependency(这点跟copulas的思想有少许类似),这个dependency也就是SIR中的R。那么P(X,Y)既可以当做P(Y|X)P(X)来考虑,也可以当做P(X|Y)P(Y)来考虑。显然两者之间是等同的,而且P(X)和P(Y)都没有dependency的信息;但是我们却有两个不同的描述X与Y之间dependency的quantities: P(Y|X) vs. P(X|Y).
第二个字母I: 通常的回归考虑的是P(Y|X),当X是高维的时候,数据量相对于维度来说总是太小,因此这种回归很难做。于是SIR里面的I考虑使用更加容易的P(X|Y)。
第一个字母S: 我们关心P(X|Y),其实最主要的是关心E(X|Y)。E(X|Y)是一个曲面,他描述了在平均情况下X随Y的变化而改变的方式。降维所要寻找的,就是这个曲面在哪些方向上变异最大(甚至于在其他方向上X不随Y而改变),也就是说,在哪些方向上X最容易受Y影响。如果知道这个曲面,那么找方向比较容易,只要我们计算这个曲面的协方差,做个principal component就搞定了。于是问题变长了怎么找这个曲面的协方差。SIR里面的S所完成的就是帮助找到这个曲面。假如我有足够多的数据,那么把所有具有相同的Y值的X平均在一起,就得到了E(X|Y)。而通常Y是连续的,所以一种近似办法就是把具有相似的Y值(也就是S)的X平均在一起来近似得到E(X|Y)。这里可以和MANOVA放在一起类比一下:如果把Y切成片,可以认为Y就是MANOVA里面的分组变量(design);如果切成很多小片,那么组内变异就可以忽略不计,剩下的就是组间变异。而组间变异也就是我们所要找的E(X|Y)的协方差了。
用这个组间变异做PCA,找到变异最大的subspace,然后back-transform回原来的P(Y|X)的情况,也就是完整的SIR了。