在R的线性回归中包括(0,0)点

时间:2019-03-23 10:23:08

标签: r regression

我在R中使用两个变量进行了简单的线性回归,并得到以下关系:

y = 30000 + 1.95x

这是合理的。我唯一关心的是,实际上应该在模型中包含(0,0)点。

请问有什么数学帮助吗?


Data set

我需要以某种方式发布数据...就在这里。这将为现在解决该问题提供更好的方法。

还有更多可用的此类数据集。这是为营销策略收集的数据。

目标是获得销售与支出之间的关系,以便我们可以预测获得一定销售量所需的支出金额。

所有帮助将不胜感激。

2 个答案:

答案 0 :(得分:2)

这不是答案,而是带有图形的注释。

我将月份数据转换为“经过的月份”,从第一个月开始是1,然后是2,然后是3,依此类推。这使我能够以3D方式查看数据,如下面的3D散点图所示,支出和销售都与过去的月数有关。我还将财务数据按比例缩放成数千个,这样我可以更轻松地读取图表。

我将数据拟合为一个简单的平面方程,形式为“ z = f(x,y)”,如下所示,因为该方程由散点图建议给了我。我对这些数据的拟合给了我方程式

Sales (thousands) = a + b * Months + c * Spend(thousands)

具有合适的参数

a = 2.1934871882483066E+02
b = 6.3389747441412403E+01
c = 1.0011902575903093E+00

获取以下数据:

Month Spend Sales

1 120.499 327.341
2 168.666 548.424
3 334.308 978.437
4 311.963 885.522
5 275.592 696.238
6 405.845 1268.859
7 399.824 1054.429
8 343.622 1193.147
9 619.030 1118.420
10 541.674 985.816
11 701.460 1263.009
12 957.681 1960.920
13 479.050 1240.943
14 552.718 1821.106
15 633.517 1959.944
16 527.424 2351.679
17 1050.231 2419.749
18 583.889 2104.677
19 322.356 1373.471

scatterplot

surface

答案 1 :(得分:1)

如果要在回归线中包括点(0,0),则意味着将截距设置为零。 在R中,您可以通过

mod_nointercept <- lm(y ~ 0 + x)

在此模型中,仅安装beta。还有alpha(即拦截设置为零)。