Это касается пакета R для дистрибутива Парето. До сих пор я сталкивался с двумя пакетами, и оба дают результаты в одном и том же диапазоне более или менее. Мой вопрос в том, есть ли разница в использовании любого пакета.
Пример фрагмента кода для Парето:
rPareto(n, t, alpha, truncation = NULL)
Пример фрагмента кода для парето:
rpareto(n, location, shape = 1)
Что определяет, какой класс, по вашему мнению, «лучше»? Это кажется очень субъективным ярлыком. Вопросы о мнениях считаются не по теме.
@r2evans Я новичок в этом, и при поиске Парето в R нашел эту ссылку: rdrr.io/cran/EnvStats/man/Pareto.html. Вот тут и возникли мои сомнения. Есть ли разница между ними обоими? Или я говорю ни о чем?
@MrFlick Мой вопрос относительно этого поста заключался в том, есть ли разница в использовании любого из пакетов. Тем не менее, кажется субъективным называть это «лучше».
Эта информация относится к вопросу, пожалуйста отредактируйте ее (комментарии могут быть легко пропущены читателями или скрыты интерфейсом стека). Однако... звучит так, как будто у вас нет объективных способов их сравнить, вы ищете мнения других (что, как уже сказал MrFlick, не по теме).
Понятно, буду иметь в виду.
Мои мысли: есть ли у них обоих математически правильные реализации? Есть ли крайние случаи или условия ошибки, которые один обрабатывает лучше, чем другой? Если вы ищете большие ничьи из распределения Парето, имеет ли одно преимущество в производительности перед другим? Они оба написаны для обеспечения воспроизводимости? Достаточно ли они документированы и предоставляют ли вам func-аргументы, необходимые для управления отрисовкой? (Последний вопрос несколько субъективен или, по крайней мере, контекстуален, мы не знаем вашего контекста.) Многие вопросы требуют аудита кода, я предлагаю вам сначала запустить свои собственные тесты.
Мы можем проверить, какие выборки из rpareto
из EnvStats
или rPareto
из Pareto
дают более близкое приближение к истинному распределению Парето. Истинное распределение Парето имеет cdf 1-(xm/x)^a, где xm — масштаб, а a — форма. Критерий Колмогорова-Смирнова можно использовать для сравнения выборок с этой истинной cdf из любой функции. Основываясь на p-значении, мы можем сказать, какой образец «ближе» к истинному cdf (чем ближе более высокое p-значение). (Конечно, это всего лишь один из способов сделать это.)
paretocdf = function(x, xm, a) {
return(1-(xm/x)^a)
}
library(Pareto)
library(EnvStats)
pvalue1 = NULL
pvalue2 = NULL
for (i in 1:1000) {
X=unique(rPareto(10000, 1000, 2))
Y=unique(rpareto(10000, 1000, 2))
pvalue1[i] = ks.test(X, paretocdf, 1000, 2)$p.value
pvalue2[i] = ks.test(Y, paretocdf, 1000, 2)$p.value
}
mean(pvalue1 > pvalue2)
По моему анализу, обе функции примерно одинаковы.
(1) Какие два пакета? Я могу найти Парето, что еще вы от нас держите в секрете? (2) Если у вас нет конкретных (объективных) критериев, существует много «мнений» по таким вопросам. Пожалуйста, постарайтесь быть более конкретными в ваших показателях ценности.