Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python scikit学习是否能发挥作用;“真正的”;多元回归(多因变量)?_Python_Machine Learning_Scikit Learn_Linear Regression_Multivariate Testing - Fatal编程技术网

Python scikit学习是否能发挥作用;“真正的”;多元回归(多因变量)?

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。但是,当我将这种“多元”方法的输出与我通过手动循环每个因变量并独立预测它们得到的结果进行比较时,结果是完全相同的。我不认为应该是

我想用多个预测因子来预测多个因变量。如果我理解正确,原则上可以建立一组线性回归模型,每个模型预测一个因变量,但如果因变量是相关的,则使用多元回归更有意义。我想做后者,但我不知道怎么做

到目前为止,我还没有找到一个Python包专门支持这一点。我尝试过scikit learn,尽管他们的线性回归模型示例仅显示y是数组(每个观察值一个因变量)的情况,但它似乎能够处理多个y。但是,当我将这种“多元”方法的输出与我通过手动循环每个因变量并独立预测它们得到的结果进行比较时,结果是完全相同的。我不认为应该是这样,因为一些因变量之间有很强的相关性(>0.5)

代码就是这样的,
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