如何 运行 在 MatLab 中进行回归以找出斜率和截距?
How to run a regression in MatLab to find out slope and intercept?
我正在尝试进行回归以找出资本资产定价模型 (CAPM) 方程的斜率和截距:
ER = B*RM + A
ER
和 RM
是两个已知的行向量,大小为 (100x1
)
我想模拟 B
(斜率)和 A
(截距)。两者都应该是标量。
我已经在 Excel 中完成了,但我得到的输出与在 MATLAB 中完全不同。
在 MATLAB 中,我尝试了不同的函数,但没有结果:
B = ER\RM % I get output only B but not A(intercept).
[slope,intercept] = postreg(ER',RM') % I get vector, not a scalar.
[r,m,b] = regress(RM,ER) %I get vector, not a scalar.
谢谢,
马特
基于MATLAB的Simple linear regression部分,可以计算如下:
X = [ones(size(RM)) RM];
b = X\ER; % solves X*b = ER in least-square sense
A = b(1);
B = b(2);
Matlab 有一个函数:
p = polyfit(RM,ER,1); %p(1) = B, p(2) = A in ER = B*RM + A
我正在尝试进行回归以找出资本资产定价模型 (CAPM) 方程的斜率和截距:
ER = B*RM + A
ER
和 RM
是两个已知的行向量,大小为 (100x1
)
我想模拟 B
(斜率)和 A
(截距)。两者都应该是标量。
我已经在 Excel 中完成了,但我得到的输出与在 MATLAB 中完全不同。
在 MATLAB 中,我尝试了不同的函数,但没有结果:
B = ER\RM % I get output only B but not A(intercept).
[slope,intercept] = postreg(ER',RM') % I get vector, not a scalar.
[r,m,b] = regress(RM,ER) %I get vector, not a scalar.
谢谢, 马特
基于MATLAB的Simple linear regression部分,可以计算如下:
X = [ones(size(RM)) RM];
b = X\ER; % solves X*b = ER in least-square sense
A = b(1);
B = b(2);
Matlab 有一个函数:
p = polyfit(RM,ER,1); %p(1) = B, p(2) = A in ER = B*RM + A