Python金融数据分析(原书第2版)
上QQ阅读APP看书,第一时间看更新

2.8 QR分解

QR分解,又称为QR因式分解,和LU分解一样是利用矩阵求解线性方程组的方法。QR分解用于处理Ax = B形式的方程,且矩阵A = QRQ为正交矩阵,R为上三角矩阵。QR算法是线性最小二乘问题的常见解法。

一个正交矩阵具有下列特征:

  • 它是一个方阵。
  • 正交矩阵乘以其转置矩阵等于单位矩阵:

QQT = QTQ = 1

  • 正交矩阵的逆矩阵等于其转置矩阵:

QT = Q–1

单位矩阵是一个方阵,其主对角线上元素均为1,其余全为0。

现在将Ax = B的问题转化成:

QRx = B

Rx = Q–1BRx = QTB

利用scipy.linalgqr()函数计算QR的值,设变量y等于BQT

054-01

注意Q.T即矩阵Q的转置矩阵和逆矩阵:

054-02

我们得到了一个与LU分解相同的答案。