关于“非满秩”消息

如果每个因子水平组合的观测值个数足以估计模型中包括的所有项,则线性模型是满秩的。如果数据中没有用于拟合模型的足够的观测值,则 Minitab 会删除项直到模型足够小,可以拟合。可能存在其他模型能够更好地拟合数据的情况。

假设您具有双因子 GLM 模型。您尝试使用项 A B 和 A*B 来拟合模型,并收到有关“非满秩”的错误。这表明每个因子水平组合中没有足够的观测值。请尝试删除交互作用项 (A*B)。

什么是非满秩?

非满秩是使 Minitab 无法执行矩阵计算的一种情况。例如,请考虑下面含有两个预测变量和一个响应变量的数据集。

C1 C2 C3
X1 X2 Y
1.5 9.7 15.0
1.4 8.4 14.0
1.6 8.6 16.0
1.7 8.9 17.0
1.7 8.1 14.5

X1 和 X2 是预测变量,Y 是响应变量。Minitab 中的回归分析使用最小二乘法来计算估计系数 b0、b1、b2,线性方程如下:

Y = b0 + b1X1 + b2X2

最小二乘过程相当于解矩阵方程集

b = (XTX)-1XTY

其中 b 是包含估计的模型系数的列向量,X 是一种矩阵,其第一列包含用于估计截距/常量的值的列,且其余列为预测变量数据 (X1, X2,…) 列,Y 是响应数据的列向量。对于前面的数据集,矩阵为:

Minitab 使用 QR 分解来计算参数估计值(b0、b1 和 b2)和参数标准差。计算基于 (XTX) 矩阵的特征值。如果 (XTX) 的部分特征值本质上为零,则方矩阵 (XTX) 为单数或接近于单数,并且 Minitab 不会进行计算。

非满秩的原因是什么?

如果任何 X 变量列可以写为其他 X 列的线性组合,则会发生非满秩。以下显示了两个示例,使用 C1、C2 和 C3 作为预测变量 (X):

示例 1

C1 C2 C3
X1 X2 X3
1 2 3
2 3 5
1.5 2.5 4

示例 2

C1 C2 C3
X1 X2 X3
1 2 3
2 4 5
1.5 3 4

在第一个示例中,请注意 C1 + C2 = C3。

在第二个示例中,请注意 2*C1 = C2。

如果尝试使用这些预测变量执行回归(或方差分析),Minitab 将从模型中删除项,以便执行分析。

非满秩也会发生在存在类别数据的情况下:

示例 3

C1 C2 C3
机器 操作员 响应
1 Joel 15
1 Joel 18
1 Joel 17
2 Bill 14
2 Bill 15
2 Bill 16

在此示例中,请注意,机器列与操作员列的形式几乎相同。如果您要对此数据集执行方差分析,Minitab 将从模型中删除项,以便执行分析。

在您执行方差分析时,也会出于以下原因发生非满秩的现象:
  • 包含的交互作用项不会至少具有因子水平每个组合的观测值。例如,如果 A 有 3 个水平,B 有 4 个水平,您可以在模型中包含 A*B 交互作用项,而无需针对因子水平的所有 12 个组合至少具有一个观测值。
  • 存在不平衡嵌套。
  • 模型中的连续变量未指定为协变量。
  • 误差的自由度为负。