Тема: Як описати математичну функцію

В минулій темі я говорив про "Пошук оптимальних параметрів для блекбоксу", а тут буду про схоже говорити, тільки на цей раз замість блекбоксу є дещо інша ситуація.

Програма в реальному часі показує графік ціни на товар "А". За допомогою двох вісь Х та У в декартовій системі координат показано:
Х - час
У - ціна (діапазон завжди додатній, наприклад від 256 до 698 за останніх 30 днів)
Звісно що графік формується з попиту споживача, тобто в якомусь сенсі випадково, тому що наперед не можна здогадатися що буде з ціною.

У програми є режим автоматичного продажу / купівлі, але для цього потрібно ввести параметри.
Наприклад:
Кількість змін ціни для аналізу
Допустима втрата для товару
Кількість товару яку "зараз" можна продавати (тобто на який ризик можна піти)
і т.д.

Потрібно так розставити параметри щоб програма найбільш ефективніше відпрацювала за місць. Алгоритм не відомий, я можу тільки орієнтуватися по результату наскільки я вдало розставив параметри. Тобто є вхідні параметри А, Б, С, Д ... Н, і результат - це прибуток.

За останній місяць є всі коливання цін, на основі цих даних потрібно підібрати оптимальні параметри. Оскільки я знаю що на продаж / купівлю товару не впливає сезон / свята / економічне положення в країні і т.д., я можу припустити що покупка в цьому місяці буде приблизно така сама як в минулому (мені потрібно так розставити параметри щоб минулий місяць приніс теоретично найбільше прибутків).

В мене є багато вхідних параметрів які я можу налаштовувати самостійно,
Дані по коливанням цін протягом всього минулого місяця,
Алгоритм не відомий, але будемо вважати що він вже оптимізований.
Потрібно отримати оптимальний результат.

Питання: Чи можна описати мат. функцію на основі даних за минулий місяць для того щоб вирішити задачу оптимізації ?

Вибачте якщо я щось говорю абсурдне, але я вже остаточно заплутався в цій задачі.

2

Re: Як описати математичну функцію

Betterthanyou написав:

Чи можна описати мат. функцію на основі даних за минулий місяць для того щоб вирішити задачу оптимізації ?

Так.
Чи буде вона працювати на реальних даних? Можливо іноді, поки ніхто з конкурентів не зрозуміє, якою функцією ви послуговуєтеся.
Події, що призводять до змін ціни, погано прогнозуються; і взагалі не прогнозуються, якщо їхнє джерело - конкурент, що знає про вашу поведінку.

Подякували: Betterthanyou, leofun012

3

Re: Як описати математичну функцію

У випадку, коли ви не знаєте усіх причин, які призводять до коливання ціни, точно щось визначити не вдасться. Можна, як ви й збираєтеся, визначити більш-менш оптимальні параметри для минулого періоду.
Дуже добре, коли ви можете перебрати усі комбінації параметрів у заданих діапазонах, і обрати оптимальний варіант. Інколи можна спочатку пройтися по діапазонам з великим кроком, а в районі оптимального варіанту зменшити крок. І так кілька разів. Якщо якісь параметри майже не змінюються, то їх можна замінити константами.
Якщо обчислення кожної точки займає надто багато часу, то діють дещо інакше: починають з точки, яка вам найбільше подобається, потім по черзі змінюють по одному параметру і кожного разу обчислюють нову точку. На наступному колі для кожного параметра буде приблизно зрозуміло в яку сторону слід рухатися, й як швидко. Але загалом краще не плодити зайві параметри, щоб обчислення кожної точки не займало надто багато часу.
Жоден зі способів не гарантує, що ви знайдете оптимальне рішення, але якщо ви не знаєте усіх причин зміни ціни, то це вам і так не світить.

Подякували: Betterthanyou, leofun012

4 Востаннє редагувалося Torbins (10.04.2021 23:56:59)

Re: Як описати математичну функцію

Якщо у вас проблеми зі складанням формули, то можна використати нейронну мережу - вона сама побудує формулу всередині себе.
І постарайтеся усе таки дізнатися хоча б частину причин коливання ціни. Наприклад якщо ціна в Україні, а товар імпортний, то на неї впливатиме курс валют. Відповідно, варто перевести ціну в долари, щоб нівелювати цей вплив.

Подякували: Betterthanyou1