Как использовать Джулию для вычисления коэффициента корреляции Пирсона с 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)
Другие вопросы по тегам