多元线性回归模型
多元性先回归相较于一元线性回归更为泛化,后者可以看做是前者的特例。对于多元线性模型,应变量Y与自变量 X1 , X2 , … , Xk 存在线性关系,那么对于每一个样本集Yi,都有以下公式成立:
通常在金融领域中,公式往往被改写成以下的形式,两者只是参数名称做了调整,为了与我们常说的alpha(超额收益)和beta(风险收益)能够匹配上。
为了能够找到一条直线(或者超平面)尽可能多的拟合这些观测集中的样本 i = 1 , 2 , … , n,我们将使用最小二乘法(OLS),通过最小化预测值与实际值直接误差的平方和,也即使 ∑ϵi^2最小,来求得最终解。之所以用ϵi^2 而非 ϵi,原因在于平方避免了发生正负数相抵的情况从而影响了对误差程度的统计。另外还有一些其他的数学特性便于求导计算,这里不做深入讨论。
线性模型参数求解
我们用Y表示真实值,用Y_hat表示通过线性回归模型得到的预测值
当我们通过最小二乘法确定回归方程的系数参数后,我们可以使用新的观测样本,根据样本中这些确定的多元自变量 X1 , X2 , … , Xk 值来预测应变量Y值。
每一个 βj 参数,都体现了在其他相关β参数不变的情况下,Y会随Xj变化的程度。
现在让我们来动手构建一个二元回归方程,应变量是Y,自变量是X1 和 X2:
我们使用Python的statsmodels库提供的函数进行模型参数求解。
最终我们得到了线性方程的参数 β0 , β1 , β2 ,构建出了线性方程:
需要注意的是,这些参数都是通过对各个自变量求偏导(另其=0)而求得。因此,现在Y可以表示为:
这里可以看做是 2 * X1 加上一个 X ^ 2 抛物线。
然而在求解公式参数时,X1的系数是仍是 1 ,这里因为,多元线性回归中,元素是被分隔开来处理的,这里假设其余变量保持不变时,Y随X1变化的程度。
多元线性回归模型在股票分析中的应用
在股票分析中也有类似的情况,在对两只股票应用一元线性回归模型,可能会得出很高的β 值(表示高度相关)。但如果我们此时引入第三只股票(像标普500指数ETF,追踪标普500指数)作为一个完全独立的变量,我们会发现前两只股票的关联性完全是因为他们波动与标普500指数保持高度同步。这是很有用的,因为这说明了标普500可能真正地预言了这两只股票的涨跌,远比仅仅分析这两只股票涨跌的相关性来的有效。这种方法能够使我们更全面地衡量两只股票的显著性,避免片面地推断而混淆问题原因,进而得出错误的结论。详细实现如下:
我们首先获取两只股票AT&T与费哲金服的股价数据,并应用线性回归模型。
随后,我们引入标普500ETF数据,将其作为一个新维度下的自变量引入模型进行回归:
在得出模型的“参数”后,下一步就是分析模型结果是否足够可靠。一个比较容易上手的办法是,将自变量、预测值(应变量)和真实值进行可视化展现,可以过滤一些明显存在的问题。
下图中黄色为预测值,蓝色为AT&T的真实价格
未完待续~