我的问题本质上是一个“盲源分离”问题。我有 3 个非正交源(或基函数)和个随机线性组合(混合)。我的问题是从混合中获取来源。
图 A 显示了来源,B 显示了混合。
采取的方法:
- - 我在混音上尝试了 PCA(图 C),但问题是 PCA 只会给出正交基,而我的源/基是非正交的。PCA 的这个问题如图 D 所示,其中数据由 2 个非正交基清楚地描述,但 PCA(实线)无法重建它们!
- - 我尝试应用一些解决方案形成因子分析(不是我的强项)。promax旋转(matlab:)
nw = rotatefactors(cov,'method','promax')
如图所示。D 用虚线表示。据我所知,因子旋转适用于主成分,而不是原始矩阵,因此我不知道它如何重建正确的基础。我认为这只适用于因子矩阵,不适用于通用矩阵...... - - 我用 fastICA 算法尝试了超定 ICA(也不是我的强项,但我认为我更了解它)。我希望这会起作用,因为独立组件(IC)是非正交的。解决方案如图 E 所示。虽然 IC 确实是非正交的,但它们不是我的原始来源:-(
任何其他潜在的提示或线索或解决方案将不胜感激。
更多数学细节
3 个源信号本身是 5 个拉盖尔基函数的线性组合。因此,问题可以表述为:
- 我采用
l=5
长度的拉盖尔基函数m=30
得到B
一个[l,m]
矩阵 - 我随机混合然后是我的
x=3
来源S: S=B*M1
,其中M1
是随机[l,x]=[5,3]
混合矩阵。S
显示在图A中 - 我混合 S
n=100
次以获得混合信号,K
(图 B),其中K=S*M2
,[x,n]=[3,100]
随机生成的混合矩阵。 - 我有原始基础,
L
, & 混合矩阵,K
。K=S*M2=B*M1*M2
. 我的目标是恢复S
。
注意:我知道这似乎是不可能的,因为有许多可能S
的 's 可供选择(即 factorizatioS*M2=B*M1*M2
不是唯一的),但是,真正的 's 将通过仅具有可以精确再现所有的基函数而不是基函数来S
显着降低模型复杂性内核。 x=3
l=5
谢谢!