【发布时间】:2020-10-29 12:42:50
【问题描述】:
我的任务是执行预测分析。这需要对几个 (~10) 预测变量执行线性回归,并得出所有的截距和一个常数。
所以最终方程将采用这种格式y = c + c1x1 + c2x2 + c3x3....
现在我知道您可以在 MATLAB 中使用 Statistics and Machine Learning Toolbox 提供的 fitlm 函数,但是目前我不知道我们是否会购买它。如何对它们进行线性回归?
【问题讨论】:
我的任务是执行预测分析。这需要对几个 (~10) 预测变量执行线性回归,并得出所有的截距和一个常数。
所以最终方程将采用这种格式y = c + c1x1 + c2x2 + c3x3....
现在我知道您可以在 MATLAB 中使用 Statistics and Machine Learning Toolbox 提供的 fitlm 函数,但是目前我不知道我们是否会购买它。如何对它们进行线性回归?
【问题讨论】:
发件人:https://www.mathworks.com/help/matlab/data_analysis/linear-regression.html
您可以使用X = [ones(length(x1),1),x1,x2,x3,...,xn] 将预测变量写为矩阵 X,并将响应变量 Y 公式化为方程 Y = XB,并使用 mldivide 作为B = X\Y 进行矩阵逆运算以找到您的回归系数。
【讨论】:
您可以使用线性最小二乘的封闭形式解决方案。
C=inv(转置(X)*X)*转置(X)*y
在上面,使X的第一行全为1,后面的行是x1,x2,...
C 将包含相应的常量。 C 中的第一个条目是 c。
【讨论】: