0

参考这里的示例数据,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 文档中似乎没有任何内容表明它们应该不同的原因。

4

1 回答 1

1

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

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

于 2020-05-20T21:23:26.247 回答