为什么 AMOS 中的马拉汉诺比斯距离与 R 或 SPSS 中的不匹配?

Why do Malahanobis distances in AMOS not match those in R or SPSS?

参考示例数据here,R代码

library(stats)
x <- read.csv("example_dat.csv")
Sx <- cov(x)
D2 <- mahalanobis(x, colMeans(x), Sx)

生成的马氏距离与使用代码

从 SPSS 中获得的距离相匹配
DATASET ACTIVATE DataSet2.
COMPUTE RandomNumbers=RV.NORMAL(0,1).
EXECUTE.

REGRESSION
  /MISSING LISTWISE
  /STATISTICS COEFF OUTS R ANOVA
  /CRITERIA=PIN(.05) POUT(.10)
  /NOORIGIN
  /DEPENDENT RandomNumbers
  /METHOD=ENTER Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 Q9 Q10 Q11 Q12 Q13 Q14 Q15 Q16 Q17 Q18 Q19 Q20 Q21 Q22 Q23
    Q24 Q25 Q26 Q27 Q28 Q29 Q30
  /SAVE MAHAL.

在 SPSS AMOS 中,马氏距离相似,但略有不同。差异不能归因于舍入误差。例如,观察 9 的 d 平方在 SPSS AMOS 中为 51.751,而在常规 SPSS 和 R 中均为 51.480。

尽管常规 SPSS 和 SPSS AMOS 属于同一家公司,但事实并非如此。 SPSS AMOS 文档中似乎没有任何内容表明它们应该不同的原因。

SPSS REGRESSION 在计算协方差矩阵值时在分母中使用 N-1,而 Amos 使用 N。这可能是您看到的微小差异的原因。

IBM 将 Amos 作为 SPSS 产品分发,但该程序由 Amos Development Corporation 拥有和开发。