Степень закономерности распределения в Python

У меня есть некоторые данные, которые, похоже, следуют [Закону о власти] [1].

Используя пакет powerlaw Аарона Клаузета, я пытаюсь выполнить несколько тестов, чтобы подтвердить или отклонить это предположение.

Мои данные дискретны (данные подсчета слов).

Что я пробовал до сих пор

  1. Пакет Powerlaw

df_data - это фрейм данных pandas, содержащий мои данные. Этот фрейм данных состоит из двух столбцов: "количество" и "токен". Я заполнил это данными подсчета слов в течение ок. 1000 слов.

Сначала я пытаюсь использовать серию df_data.quantity для вызова метода соответствия powerlaw, генерируя подходящий объект:

fit = powerlaw.Fit(data=df_data.quantity, discrete=True)

Это где я столкнулся с моей первой проблемой. Запустив приведенный выше код, я получаю следующее предупреждение:

Вычисление наилучшего минимального значения для степенного закона соответствует /home/nbuser/anaconda3_501/lib/python3.6/site-packages/powerlaw.py:697: RuntimeWarning: недопустимое значение, встречающееся в true_divide (теоретическое_CDF * (1 - теоретическое_CDF))

В моих данных df_data.quantity нет нулей. Около 70% этой серии составлено из значений "1", а остальные находятся в диапазоне от 2 до 178. Существует очень мало случаев появления высоких значений (что как-то ожидается, как объясняется в [законе Ципфа][2]).

Вот гистограмма для данных:

введите описание изображения здесь

Не уверен, что приведенное выше предупреждение имеет практическое значение для моих результатов.

Любые намеки на то, что я могу делать не так? Имеет ли это потенциальное влияние на дальнейший анализ с использованием этого подходящего объекта?

0 ответов

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