Как использовать Джулию для вычисления коэффициента корреляции Пирсона с p-значением?
Я ищу помощь для расчета коэффициента корреляции Пирсона с p-значением, используя язык Джулии. Аналогичная функция в Python scipy.stats.pearson
,
Функция Джулии, приведенная ниже, только дает мне корреляцию. Цените вашу помощь / подсказку о p-значении.
using RDatasets, Statistics
iris = dataset("datasets", "iris");
Statistics.cor(iris.SepalLength, iris.SepalWidth)
2 ответа
Теперь вы также можете использовать функцию
pvalue
из
HypothesisTests
, Например:
using HypothesisTests
x = [1,2,3]; y = [2,3,5];
pvalue(CorrelationTest(x,y))
Этот пример возвращает 0,1210377, что совпадает с Python
scipy.stats.pearsonr
и R
cor.test
.
Я не знаю о существующей реализации, но вот двусторонний тест с H0, равным 0, с использованием преобразования Фишера:
using Distributions
cortest(x,y) =
if length(x) == length(y)
2 * ccdf(Normal(), atanh(abs(cor(x, y))) * sqrt(length(x) - 3))
else
error("x and y have different lengths")
end
или используйте пакет HypothesisTests.jl, например:
using HypothesisTests
OneSampleZTest(atanh(cor(iris.SepalLength, iris.SepalWidth)),
1, nrow(iris)-3)