2017-05-28 149 views
1

我在这里发布是因为我无法在其他地方找到任何解决方案。基本上我们在学校学习使用python进行线性回归,教授希望我们根据csv表来估计三明治中每种成分的价格以及每种三明治的固定利润。到目前为止,我们只是混淆了一个X变量和一个Y变量,所以我很困惑我应该在这里做什么?谢谢。这里是表格:使用线性回归估算价格

tomato,lettuce,cheese,pickles,palmetto,burger,corn,ham,price 
0.05,1,0.05,0,0.05,0.2,0.05,0,18.4 
0.05,0,0.05,0.05,0,0.2,0.05,0.05,16.15 
0.05,1,0.05,0,0.05,0.4,0,0,22.15 
0.05,1,0.05,0,0.05,0.2,0.05,0.05,19.4 
0.05,1,0,0,0,0.2,0.05,0.05,18.4 
0,0,0.05,0,0,0,0.05,0.05,11.75 
0.05,1,0,0,0,0.2,0,0.05,18.15 
0.05,1,0.05,0.05,0.05,0.2,0.05,0,18.65 
0,0,0.05,0,0,0.2,0.05,0.05,15.75 
0.05,1,0.05,0,0.05,0,0.05,0.05,15.4 
0.05,1,0,0,0,0.2,0,0,17.15 
0.05,1,0,0,0.05,0.2,0.05,0.05,18.9 
0,1,0.05,0,0,0.2,0.05,0.05,18.75 
+1

你在做原始python或统计软件包吗? –

+0

我可以使用numpy –

+2

如果可以,我建议使用熊猫。它几乎将numpy数组包装成可行的数据框。 从那里,你只需要应用多个线性回归。如果你已经编写了一个回归工具,那么你肯定可以扩展它来适应多个变量。 当我第一次开始学习Python(开发一个应用的计量经济学模型)时,我做了这样的事情,既然这是一个重要的学习经历,我不能真正分享代码,但我可以建议你想要的软件包是:Sci-kit Learn/OLS统计模型;用于处理数据的大熊猫。 –

回答

1

你有9个单独的变量回归(番茄...价格),13个样品为他们每个人(13行)。

所以第一种方法可以做一个回归的数据点 “番茄” 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 然后做一套一个用于“生菜”等,最多“价格”用 18.4 16.15 22.15 19.4 18.4 11.75 18.15 18.65 15.75 15.4 17.15 18.9 18.75

在线观众为看你的CSV数据:http://www.convertcsv.com/csv-viewer-editor.htm,但谷歌电子表格,Excel等能很好地显示这一点。 (最有可能)也可能在矢量上为你完成任务(因此一起处理9个变量),但13行中有13个样本的部分仍然存在。

编辑:坏消息,我很累,并没有回答完整的问题,对此抱歉。虽然确实可以将前8列(番茄...火腿)作为时间序列,并对它们进行个别回归(这可能是此作业的第一部分),但最后一列(价格)预计将来自第一8.

使用在维基百科,https://en.wikipedia.org/wiki/Linear_regression#Introduction符号估计,你的y矢量是最后一列(价格)时,X矩阵是你的数据(番茄的第一8列.. .ham),在某处扩展为1-s列。 然后选择一种估算方法(有些也在该页面中列出,https://en.wikipedia.org/wiki/Linear_regression#Estimation_methods,但您可能希望选择一个您在课堂上了解到的方法)。实际的数学就在那里,NumPy可以进行矩阵/向量计算。如果您选择“普通最小二乘”,numpy.linalg.lstsq也是这样(https://docs.scipy.org/doc/numpy/reference/generated/numpy.linalg.lstsq.html#numpy.linalg.lstsq - 您可能会发现添加1-s熟悉的列),因此可用于验证结果。

+0

但这只是X值的权利? Y值是多少? –

+1

@AlexandreKrabbe这些值是Y-s。 X将只是1 ... 13(或者0 ... 12,如果你想的话),所以行索引。 – tevemadar