Парето или парето?

Это касается пакета R для дистрибутива Парето. До сих пор я сталкивался с двумя пакетами, и оба дают результаты в одном и том же диапазоне более или менее. Мой вопрос в том, есть ли разница в использовании любого пакета.

Пример фрагмента кода для Парето:

rPareto(n, t, alpha, truncation = NULL)

Пример фрагмента кода для парето:

rpareto(n, location, shape = 1)

(1) Какие два пакета? Я могу найти Парето, что еще вы от нас держите в секрете? (2) Если у вас нет конкретных (объективных) критериев, существует много «мнений» по таким вопросам. Пожалуйста, постарайтесь быть более конкретными в ваших показателях ценности.

r2evans 22.11.2022 21:15

Что определяет, какой класс, по вашему мнению, «лучше»? Это кажется очень субъективным ярлыком. Вопросы о мнениях считаются не по теме.

MrFlick 22.11.2022 21:16

@r2evans Я новичок в этом, и при поиске Парето в R нашел эту ссылку: rdrr.io/cran/EnvStats/man/Pareto.html. Вот тут и возникли мои сомнения. Есть ли разница между ними обоими? Или я говорю ни о чем?

No_Name 22.11.2022 21:22

@MrFlick Мой вопрос относительно этого поста заключался в том, есть ли разница в использовании любого из пакетов. Тем не менее, кажется субъективным называть это «лучше».

No_Name 22.11.2022 21:24

Понятно, буду иметь в виду.

No_Name 22.11.2022 21:27

Мои мысли: есть ли у них обоих математически правильные реализации? Есть ли крайние случаи или условия ошибки, которые один обрабатывает лучше, чем другой? Если вы ищете большие ничьи из распределения Парето, имеет ли одно преимущество в производительности перед другим? Они оба написаны для обеспечения воспроизводимости? Достаточно ли они документированы и предоставляют ли вам func-аргументы, необходимые для управления отрисовкой? (Последний вопрос несколько субъективен или, по крайней мере, контекстуален, мы не знаем вашего контекста.) Многие вопросы требуют аудита кода, я предлагаю вам сначала запустить свои собственные тесты.

r2evans 22.11.2022 21:30
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
7
76
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Мы можем проверить, какие выборки из 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)

По моему анализу, обе функции примерно одинаковы.

Другие вопросы по теме