无偏估计协方差和运行协方差

运行协方差 (Running Covariance):

运行协方差是一种在实时数据流中估计协方差矩阵的方法。它允许在不断到达新数据点时持续更新协方差。下面是运行协方差的计算方法:

  1. 初始化协方差矩阵 (Cov) 和均值向量 (Mean)。

    • 初始时,Cov 是一个零矩阵,Mean 是零向量。
  2. 当新数据点 (X) 到达时,使用以下公式更新协方差和均值:

    • 更新均值 (Mean):

      Mean = (Mean * N + X) / (N + 1)

      其中,N 是已经处理的数据点数量。

    • 更新协方差 (Cov):

      Cov = (Cov * N + (X - Mean) * (X - Mean)^T) / (N + 1)

      这里,^T 表示转置操作。

  3. 重复步骤 2,每次到达新数据点时都会更新均值和协方差。

无偏估计协方差 (Unbiased Sample Covariance):

无偏估计协方差是一种用于计算样本协方差矩阵的方法,以便获得无偏估计。它通常用于统计学和数据分析中,以估计总体协方差矩阵。下面是无偏估计协方差的计算方法:

  1. 初始化协方差矩阵 (Cov) 和均值向量 (Mean)。

    • 初始时,Cov 是一个零矩阵,Mean 是零向量。
  2. 当新数据点 (X) 到达时,使用以下公式更新均值和协方差:

    • 更新均值 (Mean) 同样使用以下公式:

      Mean = (Mean * N + X) / (N + 1)

    • 更新协方差 (Cov) 以获得无偏估计:

      Cov = (N / (N + 1)) * Cov + (1 / (N + 1)) * (X - Mean) * (X - Mean)^T

      这里,N 是已经处理的数据点数量。

  3. 重复步骤 2,每次到达新数据点时都会更新均值和协方差。无偏估计协方差的关键在于使用 (N / (N + 1))(1 / (N + 1)) 权重来保证估计的无偏性。

总之,运行协方差通常用于实时数据流中,而无偏估计协方差通常用于统计学和数据分析中,以获得无偏估计。无偏估计协方差在计算中使用加权平均以确保估计的无偏性。

在我们计算里程计的协方差时,由于只需要关心短时间里程的数据,所以通常取N个数据计算它们的协方差就行,不需要取之前所有的数据,所以此时用无偏估计和运行协方差都可以。

注意在计算里程计的yaw角时,由于周期性影响,通过atan2(sin(Δθ), cos(Δθ)) 去消除。