2012-04-12 232 views
1

我一直无法让MATLAB根据2-D散点图泄漏最小二乘回归线的斜率和截距。这看起来应该比实际情况要容易一些,但是MATLAB为回归提供的所有现有工具都倾向于假设我正在做比我想要做的更复杂的事情。我应该能够从像lsline这样的工具中获得它,但是IDE使用源代码难以获得。有没有人知道一个快速和肮脏的方式来做到这一点?如何获得MATLAB中最小二乘回归直线的斜率和截距?

回答

1

您是否只试图从散点图中直观地估计回归?如果没有,您可以使用polyfit()函数来获得您的估计值。或者更好,只需编写你自己的功能。如果您创建1的列,然后将您的独立轴变量放入相邻的列中,并调用该矩阵X,并将您的因变量存储在名为Y的列向量中,则只需计算beta = (X'*X)\(X'*Y)beta的第一个条目给出了截距,随后的条目给出了回归变量的系数。

+0

我已经得到了源数据 - 我遇到的麻烦与我平常的来源是他们似乎假设我知道向量b的值在开始方程式A * x = b中。如果我知道计算A的伪逆并用它来获得最小二乘参数估计是相当简单的。但是直到我知道b是什么(或者在你的例子中是Y),我不知道我该怎么做。 – estanford 2012-04-12 21:19:17

+2

'Y'只是因变量的向量(无论你放在散点图的y轴上)。如果你有源数据,它应该隐含在那个数据中'Y'是什么。人们通常忘记的部分是用一列一列来增加'A'矩阵,这就是让你计算截取项以及其他系数的权利。 – ely 2012-04-12 21:49:23

+0

您可以使用更简单的公式来计算'beta':'beta = X \ Y'。 MATLAB将自动以最小二乘意义解决这个问题。 – m7913d 2017-05-06 17:08:41