Почему расстояния Малаханобиса в AMOS не совпадают с расстояниями в R или SPSS?
Что касается данных примера здесь, код 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 расстояния Махаланобиса похожи, но немного отличаются. Разницу нельзя объяснить ошибкой округления. Например, d-квадрат для наблюдения 9 составляет 51,751 в SPSS AMOS по сравнению с 51,480 как в обычном SPSS, так и в R.
И это несмотря на то, что обычные SPSS и SPSS AMOS принадлежат одной и той же компании. Похоже, что в документации SPSS AMOS нет ничего, что указывало бы на то, почему они должны отличаться.
1 ответ
SPSS REGRESSION использует N-1 в знаменателе при вычислении значений ковариационной матрицы, а Амос использует N. Это, вероятно, причина небольших различий, которые вы видите.
IBM распространяет Amos как продукт SPSS, но программа принадлежит и разрабатывается Amos Development Corporation.