【发布时间】:2016-09-23 02:52:49
【问题描述】:
假设我有一组变量(向量,它们都具有相同的长度N):X1,X2,X3,X4,X5,X6...Xn。 和依赖于一些变量 X 的时间序列 Y(具有相同长度 N)。
我需要一个算法来确定哪些变量 X 与 Y 最相关。即我需要丢弃最没有意义的变量并在 Y 上获得最具影响力的变量。
例子:
假设我们要确定影响特定 IT 站点的网络流量的因素。我们有 5 个关键字:关键字 1、关键字 2、关键字 3、关键字 4 和关键字 5。
假设我们有关键字在 Google 上的搜索量 (key1= X1,key2= X2,key3=X3,key4=X4,key5=X5),以及总网络流量 是。我想确定上述集合中的哪些关键字(X1、X2、X3、X4 或 X5)对该网站的总网络流量最有意义。我可以丢弃哪些变量,哪些变量移动最多。 (假设所有这些向量和时间序列都是归一化和标准化的时间序列,范围从 0-100)
【问题讨论】:
-
如果您认为大多数变量与输出 Y 具有线性关系,您可以进行逐步回归 mathworks.com/help/stats/stepwisefit.html 以确定要在模型中包含哪些变量
-
也许您已经知道这一点,但这类问题在机器学习社区中被称为特征选择。 Wikipedia article 描述了许多您可以尝试的不同方法,其中一些在 Matlab 的统计和机器学习工具箱中开箱即用地实现。正如@SomeGuy 提到的,逐步线性回归就是其中之一。另一个流行的是lasso method。
标签: matlab correlation data-analysis