2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


Посмотреть правила форума



Начать новую тему Ответить на тему На страницу 1, 2  След.
 
 Вероятность по таблице
Сообщение17.11.2021, 21:50 


04/08/20
19
Добрый день, подскажите куда копать...

Есть таблица из 100-200 значений. ("время исполнения определенной задачи", примерно от 50 до 100 минут)

Хочу получить по ней "примерный диапазон значений" в которое вкладывается 60-70% всех событий (точность я должен сам задавать) и вычислить "наиболее вероятное значения" (="центр/пик диапазона").

От высшей математики далек - программист много лет не открывавший учебники. А тут нужна помощь именно математиков!

Подскажите чем подобное можно получить??? Какие разделы математики надо изучить?

Помню по ВУЗу что подобным вроде занималось распределение по Гаусу... Но могу и ошибаться.
...или это другой раздел статистики...

Конечная задача - написать формулу/алгоритм, где имея статистику из 100-200 значений времени исполнения задачи, мог сказать что-то вроде:
1) На это уйдет примерно... 82 минуты.. (обычное "среднее" между 50 и 100 будет 75 обычными "программерскими" методами, но "вероятность" может быть "сдвинута" вбок)
2) В среднем это занимает от 64 до 89 минут. (в дипазоне от 50 до 100 возможно и 51 и 99, но крайне редко, а в этом диапазоне довольно часто попадается)

 Профиль  
                  
 
 Re: Вероятность по таблице
Сообщение17.11.2021, 22:24 
Заслуженный участник


09/05/12
25179
Пожалуй, распределение действительно должно быть похоже на гауссиану, но я бы начал как раз с вполне программистской (точнее, IT-шной) задачи: построил бы картинку с этим распределением с помощью любого доступного инструмента (Excel/Calc, R и т.д.). А дальше будет понятнее:
1) гауссиана это хоть в каком-то приближении или нет;
2) надо ли искать моду распределения или матожидание специально или точность такая, что достаточно посмотреть на картинку (для пары сотен значений второй сценарий более вероятен);
3) нужны ли сколько-нибудь математические методы или достаточно численно найти симметричный относительно моды диапазон, в который помещается нужная часть результатов.

В общем, перед убийством воробья атомной бомбой стоит проверить, есть ли там вообще цель. :-)

 Профиль  
                  
 
 Re: Вероятность по таблице
Сообщение17.11.2021, 23:15 
Заслуженный участник
Аватара пользователя


05/12/09
1769
Москва
Вообще не обязательно заморачиваться распределением. Просто упорядочьте все значения по возрастанию. В качестве "центра" возьмите середину в этом ряду (по научному, медиану), для получения диапазона с надежностью, например, 60%, выбросьте первые 20% ряда и последние 20% ряда и т.п.

 Профиль  
                  
 
 Re: Вероятность по таблице
Сообщение18.11.2021, 00:12 


04/08/20
19
Цитата:
гауссиана это хоть в каком-то приближении или нет;

Далеко не обязательно. Просто случайные цифры, зависящие от тысячи мелких факторов. Разброс от 50 до 100 (грубый min/max).
В таблице последние 100-200 событий (логи).
Надо хоть-как-нибудь проанализировать и сказать - "в среднем от от 64 до 89 минут" или "около 82 минут".

Человек такие прогнозы "на раз" выдает...
Например: Через сколько будет следующий автобус? Когда-то было пару случаев что следом шли ( = 0 минут), а когда-то аж 2 часа ждал, но... обычно от 5 до 10 минут, в среднем рассчитывай на 8 минут ожидания... Никакой "гауссианы"! Но "усредненное по "недавней" статистике можно дать... Вот и я такое хочу по своей таблице получить!

Цитата:
2) надо ли искать моду распределения или матожидание специально или точность такая, что достаточно посмотреть на картинку (для пары сотен значений второй сценарий более вероятен);
На "картинку" смотреть "некому". Нужно накопить таблицу, загнать в алгоритм, а потом "выдать ПРИМЕРНЫЙ прогноз" ожидающему "оператору"(устройства, станка или кнопки на компьютере), который первый раз выполняет задачу и не знает "сколько ему ждать даже примерно". Хватит погрешности и в 20-30%, но хоть какая-то цифра будет...

Цитата:
3) нужны ли сколько-нибудь математические методы или достаточно численно найти симметричный относительно моды диапазон, в который помещается нужная часть результатов.
Задача для компа! Мне ее еще предстоит в код перевести. И там "интегралы" или "бесконечные числовые ряды" будут не в тему! ))
Нужны максимально простые формулы (типа тех что прячутся за абривиатурами в командах "статистики" в Екселе)

Цитата:
Просто упорядочьте все значения по возрастанию. В качестве "центра" возьмите середину в этом ряду (по научному, медиану), для получения диапазона с надежностью, например, 60%, выбросьте первые 20% ряда и последние 20% ряда и т.п.

Можешь поподробнее??? Чую что алгоритм не сложный, но не знаю с чего начать...

Медиана между 50 и 100 = 75!
Но (допустим) из 200 значений в таблице: в диапазоне 0..20 всего 2 попадания, в 80-100 всего 80 попаданий, а большинство "собрались" вокруг 85... и между 70 и 90...
Как найти эти 70/85/90?
Допустим средняя арифметическая будет 85, но как поймать 70 и 90?

Нагло отрезать 20% около 50 отрежет 3%, а около 100 отрежет все 40% - и где тогда "средняя?

Допустим получил таблицу из 50 цифр (100-50 = [50..100]) (предположим пока что все значения целые - на самом деле дробные) с "попаданиями" - из "значений".
А дальше что? На отрезки разбивать? И как их сравнивать? Особенно если "мелких пиков" несколько вокруг средне-арифметического?

 Профиль  
                  
 
 Re: Вероятность по таблице
Сообщение18.11.2021, 00:19 


18/09/21
1683
AndyJ в сообщении #1539631 писал(а):
Чую что алгоритм не сложный, но не знаю с чего начать...
AndyJ в сообщении #1539631 писал(а):
Мне ее еще предстоит в код перевести. И там "интегралы" или "бесконечные числовые ряды" будут не в тему! ))
Кто-то сделал большую ошибку, что доверил эту задачу Вам...

 Профиль  
                  
 
 Re: Вероятность по таблице
Сообщение18.11.2021, 01:23 


04/08/20
19
Цитата:
Кто-то сделал большую ошибку, что доверил эту задачу Вам...

Не переходите на личности!!!

Я сам эту задачу перед собой поставил!

Вожусь со сложной системой алгоритмов, которые со временем должны стать "рутиной".
Что-то вроде резервного копирования больших данных.
Жутко нудная работа. Нажал, и через 5-10-20-40 минут получаю результат... (или не получаю и исправляю/дорабатываю алгоритм)
Засекаю время выполнения каждой работы... Получаю текстовый лог из кучки цифр.
Хочу чтобы конечный пользователь программы (когда я ее закончу) мог бы хоть немного прогнозировать свое время, а не скучать перед монитором ожидая что "во-вот закончит" (как сейчас мучаюсь я)... Да и мне для разработки других проектов подобное пригодится.

Просто "среднеарифметической" мне МАЛО!
Хочу ДИАПАЗОН "наиболее частых" получить! ("среднеарифметическая" далеко не всегда в центре этого диапазона)
База/лог будет со временем заполняться, вытесняя/удаляя старые и диапазон будет сдвигаться (например с "ростом размеров того что архивирую").

Сейчас нарисовал RND таблицу в екселе, рядом ее-же отсортировал, по обеим нарисовал график, вычислил среднее арифметическое, показал ABS() от разницы (зачение - среднее).

Вывел все это на графики. Получилось действительно нечто вроде Гауса (перевернутого). И даже видно "смещение вбок" от среднеарифметической.
Теперь думаю как вычислить где 70% заканчивается.
Подумываю на "столбики" нарезать по 5-10%. И прикинуть сколько в каждый столбик помещается...

Дальше пока не придумал... ((

Насколько помню из ВУЗа, подобные формулы мы проходили на стат-аннализе и на вычислении ошибок на приборах. И там не было слишком заумных формул на 2-3 доски.
Но.. давно это было...

Поэтому мне и нужен математик, чтобы подсказал хотя-бы РАЗДЕЛ где это надо искать!

 Профиль  
                  
 
 Re: Вероятность по таблице
Сообщение18.11.2021, 01:38 
Заслуженный участник


09/05/12
25179
AndyJ в сообщении #1539631 писал(а):
Далеко не обязательно.
Вот именно. Поэтому первое, что нужно сделать - проверить это предположение, да и просто посмотреть на то, как оно выглядит. Возможно, это вообще белый шум, в котором бессмысленно искать какие-то статистические закономерности.
AndyJ в сообщении #1539631 писал(а):
На "картинку" смотреть "некому".
Вы не можете посмотреть на картинку и не можете построить ее и заслать сюда?
AndyJ в сообщении #1539631 писал(а):
Нужны максимально простые формулы (типа тех что прячутся за абривиатурами в командах "статистики" в Екселе)
Вот будут данные - будут и простые формулы. Пока вам дают советы наугад, а вы требуете от всех программу из старого фидошного анекдота - с формой и одной кнопкой, на которой написано "сделать зашибись!" :-) Ну, не программу, а рецепт ее написания, но сильной разницы нет.
 !  Заодно уже в режиме модератора замечу, что:
1) не надо обращаться к собеседникам на "ты";
2) при цитировании надо выделить нужный участок текста и нажать кнопку "вставка" в правом нижнем углу соответствующего сообщения.

 Профиль  
                  
 
 Re: Вероятность по таблице
Сообщение18.11.2021, 01:40 


18/09/21
1683
Вот уже есть метод от alisa-lebovski.
Алгоритм препростейший.
  1. Взять вектор длины 200.
  2. Отсортировать это вектор.
  3. Взять элементы с индексами 40 и 160 (или в общем случае взять $n$ и $200-n$).

 Профиль  
                  
 
 Re: Вероятность по таблице
Сообщение18.11.2021, 02:21 
Аватара пользователя


21/01/09
3923
Дивногорск
AndyJ в сообщении #1539634 писал(а):
Вывел все это на графики. Получилось действительно нечто вроде Гауса (перевернутого). И даже видно "смещение вбок" от среднеарифметической.
Покажите что получилось. Может быть удастся подобрать подходящую функцию.

 Профиль  
                  
 
 Re: Вероятность по таблице
Сообщение18.11.2021, 02:21 


04/08/20
19
Pphantom в сообщении #1539635 писал(а):
AndyJ в сообщении #1539631 писал(а):
Далеко не обязательно.
Вот именно. Поэтому первое, что нужно сделать - проверить это предположение, да и просто посмотреть на то, как оно выглядит. Возможно, это вообще белый шум, в котором бессмысленно искать какие-то статистические закономерности.

И в белом шуме есть закономерность которая мне нужна!
Есть средне-арифметическое время работы задачи ("белый шум"). Допустим 85 в диапазоне 50..100. В 85..100 половина и в 50..100 половина. Это "не честно" если я нагло отрежу по 20% с каждой стороны "вектора".

Теоретически... Если бы мне нужно было 50% отсеять, я бы в дипазоне 50-85 и в 85-100 получил бы свои средне-арифметические (например 80 и 93) и отсеял те что ниже 80 и выше 93х... Но если я хочу не 50%, а 70% или 30%?

Pphantom в сообщении #1539635 писал(а):
Вот будут данные - будут и простые формулы. Пока вам дают советы наугад, а вы требуете от всех программу из старого фидошного анекдота - с формой и одной кнопкой, на которой написано "сделать зашибись!" :-) Ну, не программу, а рецепт ее написания, но сильной разницы нет.

И как я могу вам "дать данные"? В моем случае это по сути 200 почти случайных чисел в нужном диапазоне(в идеале еще и дробных). В идеале есть некая внутренняя закономерность, которая "сведет" их "поближе к средне-арифметическому", но гарантий я дать не могу, поэтому моя формула не должна от этого отталкиваться.

Это скриншот екселя в котором я пытаюсь вывести формулу:
https://prnt.sc/1zy8bmf

Слева (и верхний график) - сырые данные (номер/время), Справа (и нижний график) - отсортированные. Вверху среднее арифметическое. внизу "наклоная" - это "отличие от средней". Теперь надо как-то вычислить сколько справа и слева от средней мы может "выкинуть".

Похоже надо нижний красный график надо как-то проанализировать.

Задача - примерно получить значения красных вертикальных линий. (немного кривые - вручную добавил). Они за счет частоты одиаковых немного ближе с правой стороны.

 Профиль  
                  
 
 Re: Вероятность по таблице
Сообщение18.11.2021, 02:37 
Заслуженный участник


09/05/12
25179
AndyJ в сообщении #1539638 писал(а):
И как я могу вам "дать данные"? В моем случае это по сути 200 почти случайных чисел в нужном диапазоне(в идеале еще и дробных).
Да хотя бы сюда отправить в текстовом виде. От килобайта текста (особенно если его скрыть как "оффтопик") ничего страшного не произойдет.
AndyJ в сообщении #1539638 писал(а):
Это скриншот екселя в котором я пытаюсь вывести формулу:
Как бы еще там что-нибудь увидеть... Это только у меня никакой картинки нет?

 Профиль  
                  
 
 Re: Вероятность по таблице
Сообщение18.11.2021, 02:52 


04/08/20
19
Pphantom в сообщении #1539639 писал(а):
Это только у меня никакой картинки нет?

Странно! У меня видно... Переложил на другой хостинг изображений
https://postimg.cc/KKHNB4qW

(картиннка большая - вставить на прямую не вышло)
https://i.postimg.cc/nzHP8Dvn/20.png

У меня это в опенофисе (екселе). Могу его выложить. Но там пока нет ничего "ценного". Просто РАНДОМАЯ таблица (случайными числами запомлил. Сейчас немного "сместил" случайность в один бок усложнив формулу генерации случайных чтобы смещение на графике нагляднее было.

Сейчас учусть получать "среднее от того выше и ниже среднего" - пока не знаю зачем. Но в идеале это получится "жесткое" 50% (а хотелось бы "гибко менять" - от 30 - поближе к среднему, до 70 - пошире охват)

 Профиль  
                  
 
 Re: Вероятность по таблице
Сообщение18.11.2021, 03:13 
Заслуженный участник


09/05/12
25179
AndyJ в сообщении #1539640 писал(а):
Странно! У меня видно... Переложил на другой хостинг изображений
Да, теперь видно, но это никоим образом не распределение. Действительно давайте данные, что ли, быстрее будет. Только не случайные, само собой, а реальные, иначе смысла в этом никакого не будет.

 Профиль  
                  
 
 Re: Вероятность по таблице
Сообщение18.11.2021, 03:48 


04/08/20
19
Pphantom в сообщении #1539641 писал(а):
Действительно давайте данные, что ли, быстрее будет.

Я данные логов еще не парсил. Да и нет в них пока даже 100 записей для начала анализа. Поэтому учусь на чистом рандоме.

На картинке есть на нижнем графике красная кривая уходящая вниз-вправо.
Нужен алгоритм или формула, которая сможет по нему вычислить сколько точек на этом графике (в одой точке может быть несколько значений) составляют 70% от всех тех что слева.

Вроде "двумя проходами" ради 3х средних арифметических получил "входит в 50%".
В екселе даже на "белом шуме" цифры никогда точно не попадают на 25%, 50% и 75% от диапазона. (уже не плохо)

Но не могу придумать как сделать 70% или 30% от общей "суммы".
...пока что единственный подход что придумал - это "столбиками" считать количество попаданий, "расходящихся" от средне-арифметического.
Как только превышу нужные 70%, можно начать "уточнять столбик", разделив его на более узкие. Но как не хочется... Чуйка вопит что есть вариант попроще на чистых формулах в "одном проходе по таблице".

 Профиль  
                  
 
 Re: Вероятность по таблице
Сообщение18.11.2021, 03:55 
Заслуженный участник


09/05/12
25179
AndyJ в сообщении #1539642 писал(а):
Я данные логов еще не парсил. Да и нет в них пока даже 100 записей для начала анализа. Поэтому учусь на чистом рандоме.
А это совершенно бесполезно. То, что нужно делать, зависит от распределения, которое получается в реальности, так что его получение - первая задача.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 29 ]  На страницу 1, 2  След.

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group