给出一组变量,x
's.我想找到这个等式的系数值:
y = a_1*x_1 +... +a_n*x_n + c
Run Code Online (Sandbox Code Playgroud)
a_1,a_2,...,a_n
所有未知数都在哪里.从数据框的角度考虑这个问题,我想为数据中y
的每一行创建这个值.
我的问题是:对于y, a_1...a_n
并且c
都是未知的,我是否有办法a_1,...,a_n
在corr(y,x_1), corr(y,x_2) .... corr(y,x_n)
大于0.7 的条件下找到一组解决方案.为简单起见,在此将相关性作为Pearson相关性.我知道不会有独特的解决方案.但是,我如何构建一套a_1,...,a_n
满足这一条件的解决方案呢?
花了一天时间来搜索这个想法,却无法获得任何信息.任何解决这个问题的编程语言都是受欢迎的,或至少有一些参考.
不,一般来说是不可能的。在某些特殊情况下也许是可以的。
\n\n给定 x\xe2\x82\x81, x\xe2\x82\x82, ... 你想找到 y = a\xe2\x82\x81x\xe2\x82\x81 + a\xe2\x82\x82x\xe2\ x82\x82 + ... + c 使得 y 和 x 之间的所有相关性都大于某个目标 R。由于相关性是
\n\nCorr(y, xi) = Cov(y, xi) / Sqrt[ Var(y) * Var(xi) ]\n
Run Code Online (Sandbox Code Playgroud)\n\n你的约束是
\n\nCov(y, xi) / Sqrt[ Var(y) * Var(xi) ] > R\n
Run Code Online (Sandbox Code Playgroud)\n\n可以重新排列为
\n\nCov(y, xi)\xc2\xb2 > R\xc2\xb2 * Var(y) * Var(xi)\n
Run Code Online (Sandbox Code Playgroud)\n\n这对我所有人来说都是如此。
\n\n考虑只有两列 x\xe2\x82\x81 和 x\xe2\x82\x82 的简单情况,并进一步假设它们的均值均为零(因此您可以忽略常数 c)和方差 1,并且它们是不相关的。在这种情况下 y = a\xe2\x82\x81x\xe2\x82\x81 + a\xe2\x82\x82x\xe2\x82\x82 协方差和方差为
\n\nCov(y, x\xe2\x82\x81) = a\xe2\x82\x81\nCov(y, x\xe2\x82\x82) = a\xe2\x82\x82\nVar(x\xe2\x82\x81) = 1\nVar(x\xe2\x82\x82) = 1\nVar(y) = (a\xe2\x82\x81)\xc2\xb2 + (a\xe2\x82\x82)\xc2\xb2\n
Run Code Online (Sandbox Code Playgroud)\n\n所以你需要同时满足
\n\n(a\xe2\x82\x81)\xc2\xb2 > R\xc2\xb2 * ((a\xe2\x82\x81)\xc2\xb2 + (a\xe2\x82\x82)\xc2\xb2)\n(a\xe2\x82\x82)\xc2\xb2 > R\xc2\xb2 * ((a\xe2\x82\x81)\xc2\xb2 + (a\xe2\x82\x82)\xc2\xb2)\n
Run Code Online (Sandbox Code Playgroud)\n\n将这些不等式加在一起,你可以得到
\n\n(a\xe2\x82\x81)\xc2\xb2 + (a\xe2\x82\x82)\xc2\xb2 > 2 * R\xc2\xb2 * ((a\xe2\x82\x81)\xc2\xb2 + (a\xe2\x82\x82)\xc2\xb2)\n
Run Code Online (Sandbox Code Playgroud)\n\n这意味着为了满足两个不等式,必须使 R < Sqrt(1/2) (通过消除不等式两边的公因数)。因此,在这个简单的情况下,您可以做的最好的事情就是选择 a\xe2\x82\x81 = a\xe2\x82\x82 (只要它们相等,确切的值并不重要)并且两个相关性 Corr (y,a\xe2\x82\x81) 和 Corr(y,a\xe2\x82\x82) 将等于 0.707。在这种情况下,您无法同时在 y 和所有 x 之间获得高于此值的相关性。
\n\n对于更一般的列情况n
(每列均值为零、方差为 1 且列之间的相关性为零),您无法同时实现大于的相关性1 / sqrt(n)
(如 @kazemakase 的评论中所指出的)。
一般来说,自变量越多,y 和 x 之间的相关性就越低。另外(虽然我上面没有提到)x 的物质之间的相关性。如果它们总体上呈正相关,您将能够在 y 和 x 之间实现更高的目标相关性。如果它们通常不相关或负相关,则您只能实现 y 和 x 之间的低相关性。
\n