#java #algorithm #math #statistics #multiplatform
#java #алгоритм #математика #Статистика #мультиплатформенность
Вопрос:
У меня есть таблица с наблюдениями (x, y), и мне нужно оценить среднее значение распределения Пуассона, которое более близко напоминает их. Кажется, R и Octave могут оба сделать это в Linux, но мне было интересно, есть ли мультиплатформенный способ сделать это. Я могу связать что угодно с программой, но я не могу попросить установить что-либо для ее запуска.
Я пытался найти алгоритм, чтобы сделать это самостоятельно, и не смог его найти, поэтому я не знаю, что делать.
Для справки, я нашел простой алгоритм для этого, который в основном суммировал все значения и делил на количество примеров, но он не работает даже для тривиального примера, взятого непосредственно из книги.
Пример:
requisitions per day : absolute frequency (days) : relative frequency
8 : 2 : 0.016
9 : 4 : 0.033
10 : 6 : 0.050
11 : 8 : 0.066
12 : 10 : 0.083
13 : 12 : 0.100
14 : 13 : 0.108
15 : 14 : 0.116
16 : 12 : 0.100
17 : 10 : 0.083
18 : 9 : 0.075
19 : 7 : 0.058
20 : 5 : 0.041
21 : 3 : 0.025
22 : 2 : 0.016
23 : 2 : 0.016
24 : 1 : 0.008
Среднее значение для распределения Пуассона должно быть 15 (согласно книге, где я получил пример). Метод, о котором я говорил выше и который приведен в одном из ответов, дает мне 16. Используя сумму квадратов евклидовых расстояний, я также нахожу, что Пуассон со средним значением 15 ближе к данным, чем Пуассон со средним значением 16.
Комментарии:
1. Этот вопрос плохо написан. Нам нужны более четкие примеры имеющихся у вас данных. Почему у вас есть пары данных? Типичным набором данных для этой задачи был бы просто вектор данных.
2. У меня есть количество заявок в день и соответствующая частота. Но я могу преобразовать это в относительную частоту, разделив абсолютную частоту запросов в день.
3. Спасибо за ваш быстрый ответ, но я должен признать, что я все еще не уверен. Для меня «частота» звучит так же, как «заявки в день». Я не знаю, с какими «запросами» вы работаете. Есть ли примеры данных, которые вы можете нам предоставить? Это было бы действительно полезно.
4. Я думаю, что теперь этот пример имеет смысл для меня. Я обновлю свой ответ.
Ответ №1:
MLE среднего значения — это просто выборочное среднее значение. Смотрите Википедию:
http://en.wikipedia.org/wiki/Poisson_distribution#Maximum_likelihood
Просто усредните свой вектор данных.
Обновление: сейчас я расширяю этот ответ, основываясь на образце данных, только что добавленных к вопросу.
Моя интерпретация выборочных данных заключается в том, что
reqs-per-day frequency
8 2
9 4
10 6
означает, что было два дня, когда количество заявок в каждый день составляло 8. И четыре дня, когда количество заявок составляло 9. Поэтому я буду считать, что данные эквивалентны:
8,8,9,9,9,9,10,10,10,10,10,10,...
где каждая запись в этом списке соответствует одному дню. Порядок этого списка не имеет значения. Я думаю, вам следует усреднить этот список.
Общее количество вашего поля frequency равно 120. Я полагаю, это означает, что всего в эксперименте было 120 дней.
Комментарии:
1. В списке, который я упомянул, будет 120 записей. Общее количество в этом списке, я думаю, составляет 1802. А 1802/120 — это примерно 15,02 . Я думаю, что это ответ из 15, который вы ожидали.