Почему копейщик дает другой результат на zscore? - PullRequest
0 голосов
/ 21 января 2019

Привет, похоже, что корреляция Спирмена должна давать один и тот же результат независимо от того, является ли он zscore или необработанным.Вот два примера.

https://stats.stackexchange.com/questions/77562/why-does-correlation-come-out-the-same-on-raw-data-and-z-scored-standardized-d

https://stats.stackexchange.com/questions/13952/can-spearmans-correlation-be-run-on-z-scores

Однако для этого примера здесь две корреляции разные, и мне интересно, что происходит.

df = read.csv("https://www.dropbox.com/s/jdktw9jugzm97v3/test.csv?dl=1", head=F)

cor(df[, 1], df[,2], method="spearman")
cor(scale(df[, 1]), scale(df[,2]), method="spearman")

# 0.8462699 vs 0.8905341

Интересно, что Пирсон дает тот же результат.Мне интересно, что я делаю или неправильно думаю здесь?

edit: так, кроме того, я подумал, что это может быть связано со связями, поэтому я также использую kendall, который должен обрабатывать связи, однако он также дает разные результаты.

cor(as.matrix ( df[, 1] ) , as.matrix ( df[,2] ), method="kendall" )
cor(scale(as.matrix ( df[, 1] )), scale(as.matrix ( df[,2] )),  method="kendall")

спасибо.

1 Ответ

0 голосов
/ 21 января 2019

Привет, как упоминалось выше в комментариях, это было связано с ошибкой округления.Никто не ответил, но я хотел бы добавить это на случай, если кто-то еще наткнется на подобную проблему.Поэтому, когда я округляю до 15-16 цифр, результаты совпадают.

df = read.csv("https://www.dropbox.com/s/jdktw9jugzm97v3/test.csv?dl=1", head=F)

df = round(df, digits = 15)

cor(as.matrix ( df[, 1] ) , as.matrix ( df[,2] ), method="spearman" )
cor(scale(df[, 1] ), scale(df[,2] ),  method="spearman")

спасибо всем за помощь в этом.

...