Найти КИ для данного интервала ИЧР в R? - PullRequest
0 голосов
/ 06 февраля 2020

Я ищу метод для расчета значения КИ для заданного диапазона вокруг режима. Например, если мой режим (или значение с наивысшим значением KDE) равен 50, и я установил sh приемлемый диапазон 10 вокруг режима, каков мой эквивалентный CI?

Я успешно выполнил следующее Содержимое HDI от https://rdrr.io/cran/HDInterval/man/hdi.html, чтобы найти диапазон, основанный на данном CI, но я пытаюсь полностью изменить процесс. Пример кода, скопированный с сайта в этот пост, для удобства тестирования с данными:

# for a vector:
tst <- rgamma(1e5, 2.5, 2)
hdi(tst)
hdi(tst, credMass=0.8)
# For comparison, the symmetrical 80% CrI:
quantile(tst, c(0.1,0.9))

# for a density:
dens <- density(tst)
hdi(dens, credMass=0.8)

Мой метод грубой силы рассматривал бы что-то вроде вычисления разницы между верхним / нижним значениями для разных входных данных CI, пока я не найду максимальный CI для данной дельты между верхним и нижним. Я уверен, что есть лучший способ?

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

1 Ответ

0 голосов
/ 12 февраля 2020

Похоже, что это работает методом грубой силы:

      buffer <- 100
      ci_x <- 1
      ci_hdi = NULL
      while (buffer > 10){
        ci_hdi <- ci(data$x, method = "HDI", ci = ((100-ci_x)/100))
        buffer = ci_hdi$CI_high - ci_hdi$CI_low
        ci_x = ci_x+1
      }
      print(buf)

По сути, он считает значения до тех пор, пока я не найду буфер (диапазон допустимых значений), который соответствует критериям (например, 10), и затем сообщит какой CI (100-ci_x) соответствует этому условию. Хорошо работает в начальных тестах, где я вижу большое значение CI при узком распределении, а затем что-то ближе к 50-ым с изменчивым распределением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...