Есть ли функция для проверки гипотезы, что корреляция двух векторов равна заданному числу, скажем, 0,75? Используя cor.test, я могу проверить cor = 0 и посмотреть, находится ли 0,75 внутри доверительного интервала. Но есть ли функция для вычисления значения p для cor = 0,75?
x <- rnorm(10)
y <- x+rnorm(10)
cor.test(x, y)
r
correlation
мозаика
источник
источник
Ответы:
Используя дисперсию, стабилизирующую атановое преобразование Фишера , вы можете получить значение p как
или любую интересующую вас версию одностороннего / двустороннего p-значения. Очевидно, что для этого вам понадобятся размер
n
выборки и коэффициент корреляции выборкиr
.источник
Распределение r_hat вокруг rho задается этой R-функцией, адаптированной из кода Matlab на веб-странице Xu Cui . Не так сложно превратить это в оценку вероятности того, что наблюдаемое значение «r» маловероятно, учитывая размер выборки «n» и гипотетическое истинное значение «ro».
Затем с помощью этой функции вы можете построить распределение нулевого rho 0,75, рассчитать вероятность того, что r_hat будет меньше 0,6, и затенить в этой области на графике:
источник
Другим подходом, который может быть менее точным, чем преобразование Фишера, но я думаю, что он может быть более интуитивным (и может дать идеи о практической значимости в дополнение к статистической значимости), является визуальный тест:
Существует реализация этого в
vis.test
функции вTeachingDemos
пакете для R. Один из возможных способов запустить его для вашего примера:Конечно, если ваши реальные данные не нормальны или отношения не линейны, то это будет легко подобрать с помощью приведенного выше кода. Если вы хотите провести одновременное тестирование для них, то вышеприведенный код сделает это, или приведенный выше код может быть адаптирован для лучшего представления характера данных.
источник