如何修复python中发送的多重输出回归中的值错误

如何修复python中发送的多重输出回归中的值错误,python,excel,python-3.x,Python,Excel,Python 3.x,我试图从我的数据集中获得单个输入参数/多个输出参数的OLS回归的摘要,但我得到了一个值错误 我在Excel中有一个数据集,我想检查输入的变化,即温度(t)如何影响四个不同组件中消耗或产生的四个输出。 如果我为一个输入和一个输出运行模型,我就能看到OLS摘要。但我需要看看温度的变化如何同时影响所有4个输出 该数据集有1000个来自蒙特卡罗模拟的观察结果,并打印在excel文件中 X1 = pd.DataFrame({'t': dataset['t']}) Y1 = pd.DataFrame({'E

我试图从我的数据集中获得单个输入参数/多个输出参数的OLS回归的摘要,但我得到了一个值错误

我在Excel中有一个数据集,我想检查输入的变化,即温度(t)如何影响四个不同组件中消耗或产生的四个输出。 如果我为一个输入和一个输出运行模型,我就能看到OLS摘要。但我需要看看温度的变化如何同时影响所有4个输出

该数据集有1000个来自蒙特卡罗模拟的观察结果,并打印在excel文件中

X1 = pd.DataFrame({'t': dataset['t']})
Y1 = pd.DataFrame({'E3': dataset['E3'],
                    'E4': dataset['E4'],
                    'E5': dataset['E5'],
                    'E6': dataset['E6']})
model1 = smf.ols('Y1 ~ X1', data=dataset).fit()
model1.summary()
我应该看到OLS回归摘要,但我看到的是ValueError:形状(1000,4)和(1000,4)未对齐:4(尺寸1)!=1000(尺寸0)


我不确定这是否是一种方法,因为我正在寻找的是一种多输出回归(单输入与多输出)

为什么不将所有成分都作为它们自己的系数(不需要X1和Y1):
model1=smf.ols('t~E3+E4+E5+E6',data=dataset)。fit()
?@Parfait我尝试过这一方法,但是从model.summary开始的(),它使“t”成为因变量,E3到E6成为自变量。我在某个地方读到,你必须将“y”放在“x”之前:'model1=smf.ols('y~x')。fit()y只是因变量与回归模型的代数方程对齐的名称。它可以是任何类似于t的东西。自变量名称也是如此。