Python scikit学习是否能发挥作用;“真正的”;多元回归(多因变量)?
我想用多个预测因子来预测多个因变量。如果我理解正确,原则上可以建立一组线性回归模型,每个模型预测一个因变量,但如果因变量是相关的,则使用多元回归更有意义。我想做后者,但我不知道怎么做 到目前为止,我还没有找到一个Python包专门支持这一点。我尝试过scikit learn,尽管他们的线性回归模型示例仅显示y是数组(每个观察值一个因变量)的情况,但它似乎能够处理多个y。但是,当我将这种“多元”方法的输出与我通过手动循环每个因变量并独立预测它们得到的结果进行比较时,结果是完全相同的。我不认为应该是这样,因为一些因变量之间有很强的相关性(>0.5) 代码就是这样的,Python scikit学习是否能发挥作用;“真正的”;多元回归(多因变量)?,python,machine-learning,scikit-learn,linear-regression,multivariate-testing,Python,Machine Learning,Scikit Learn,Linear Regression,Multivariate Testing,我想用多个预测因子来预测多个因变量。如果我理解正确,原则上可以建立一组线性回归模型,每个模型预测一个因变量,但如果因变量是相关的,则使用多元回归更有意义。我想做后者,但我不知道怎么做 到目前为止,我还没有找到一个Python包专门支持这一点。我尝试过scikit learn,尽管他们的线性回归模型示例仅显示y是数组(每个观察值一个因变量)的情况,但它似乎能够处理多个y。但是,当我将这种“多元”方法的输出与我通过手动循环每个因变量并独立预测它们得到的结果进行比较时,结果是完全相同的。我不认为应该是
y
要么是nx1
矩阵,要么是nxm
矩阵,以及各种大小的x
和newx
矩阵(x==n
)
这个函数真的执行多元回归吗?这是一个数学/统计问题,但我还是会在这里尝试回答它 你所看到的结果完全是意料之中的。这样的线性模型不会考虑因变量之间的相关性 如果你只有一个因变量,你的模型基本上是由一个权重向量组成的
w_0 w_1 ... w_n,
其中n
是功能的数量。对于m
因变量,您可以使用权重矩阵
w_10 w_11 ... w_1n
w_20 w_21 ... w_2n
.... ....
w_m0 w_m1 ... w_mn
但是不同输出变量(1,…,m)的权重彼此完全独立,并且由于总平方误差之和分解为每个输出变量的平方误差之和,最小化平方总损失与为每个输出变量建立一个单变量线性模型,并将它们的平方损失彼此独立地最小化完全相同。如果要考虑因变量之间的相关性,可能需要。该方法基本上是寻找自变量和因变量的投影,使这两个投影之间的协方差最大化。请参阅scikit学习实施。谢谢!这似乎对我打算做的事情更有意义,我会试试看。谢谢你的解释!我误解了这将如何处理多个因变量。我将把这个结果与其他结果进行比较
w_10 w_11 ... w_1n
w_20 w_21 ... w_2n
.... ....
w_m0 w_m1 ... w_mn