Форум программистов, компьютерный форум, киберфорум
Статистика, теория вероятностей
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
3 / 3 / 2
Регистрация: 04.01.2013
Сообщений: 73

Выявить месяцы, в которых наблюдался рост продаж

30.11.2016, 18:34. Показов 732. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет. Есть статистика продаж конкретного товара за последние три года (2013, 2014, 2015). Она представлена в виде последовательности из 36 чисел, где первое число это количество проданных упаковок за Январь 2013-го, а последнее - за Декабрь 2015. Пример: [9,8,7,3,2,3,2,2,2,3,3,7, 8,9,7,2,2,2,3,3,2,2,3,8, 10,8,9,3,3,3,3,2,2,2,2,7]
Нужно установить, в какие месяцы наблюдается повышенный спрос на товар. В приведённом примере это Январь, Февраль, Март и Декабрь каждого года.

Для решения задачи в голову приходит следующее: для каждого года найти с помощью сплайн интерполяции функцию, описывающую статистику продаж за год. Найти максимум этой функции для каждого года, т.е. из примера это будут:
ymax=9 при х=1 (год 2013), ymax=9 при х=2 (год 2014), и ymax=10 при х=1 (год 2015). Где у - это количество проданных упаковок; x - порядковый номер месяца.
Затем сравнить эти игреки и иксы между собой, и если они лежат в пределах +-2, то можно говорить, что в этих месяцах (иксах) наблюдается рост продаж.
Такое решение не является удовлетворительным, потому что максимум функции оставляет "незамеченными" остальные месяцы, в которых тоже наблюдался рост продаж.

Второй вариант решения это попробовать использовать кластерный анализ и попытаться с его помощью сгруппировать "обычные" месяцы в одну категорию, а месяцы с повышенным спросом в другую.

Если сплайн интерполяция это для меня новая тема (к тому же её применение оказалось не достаточным), то о кластерном анализе я слышал только краем уха.
Возможно, кто-то сталкивался с подобной проблемой и знает более простые/корректные/типичные подходы к решению подобной задачи? Буду благодарен за любые наводки, идеи.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.11.2016, 18:34
Ответы с готовыми решениями:

Определить, есть ли такая фирма, у которой все 5 лет наблюдался рост производства и, если есть, то каков её номер
Имеется таблица с данными об объёме производства 10 фирм за 5 лет. Определить, есть ли такая фирма, у которой все 5 лет наблюдался рост...

Определить для каждого полугодия месяцы с наибольшим и наименьшими показателями объемом продаж
Имеются объемы продажи валюты банком в течении года по месяцам мес. 1 2 3 4 5 6 ...

Вывести на экран месяцы, в которых пятница выпадает на 13-е число
Доброго времени суток, аноны 0/ Требуется ваша крепкая рука. Вывести на экран месяца, в которых пятница приходит на 13-е числа и...

4
Эксперт по математике/физике
 Аватар для SSC
3390 / 1913 / 571
Регистрация: 09.04.2015
Сообщений: 5,365
02.12.2016, 12:46
Какие громкие слова и веские фразы ...
Цитата Сообщение от St@nton Посмотреть сообщение
найти с помощью сплайн интерполяции функцию
Цитата Сообщение от St@nton Посмотреть сообщение
использовать кластерный анализ
Вот это
Цитата Сообщение от St@nton Посмотреть сообщение
ymax=9 при х=1 (год 2013), ymax=9 при х=2 (год 2014), и ymax=10 при х=1 (год 2015).
конечно же получено с помощью
Цитата Сообщение от St@nton Посмотреть сообщение
сплайн интерполяции функцию
Да покажите Ваши данные продавщице из комка в Урюпинске (у жителей Урюпинска прошу прощения, но я стремился упомянуть только в положительном смысле) и она Вам без всякого кластерного анализа определит на глаз месяцы с повышенным спросом.
А если всерьез, - то нечего заглядывать на всякие сложные методы, способов применения которых не знаешь ( "Этот пацак всё время говорит на языках, продолжения которых не знает" - Кин-дза-дза). Используй простейшее.
Сосчитай средние продажи по месяцам за 3 года (это сгладит межгодовые разбросы). Отсортируй по возростанию или убыванию (хотя 12 месяцев и так все видно). Выбери медиану для деления на две группы ("повышенный спрос" и "обычные"). В качестве медианы можно использовать среднее значение полученное для 12-ти месяцев, можно взять 110 или 120% от среднего. Все месяцы где спрос выше медианы - "повышенный спрос", где меньше - "обычные".
0
 Аватар для Таланов
1965 / 1073 / 163
Регистрация: 06.12.2012
Сообщений: 4,695
02.12.2016, 13:54
Цитата Сообщение от St@nton Посмотреть сообщение
Нужно установить, в какие месяцы наблюдается повышенный спрос на товар. В приведённом примере это Январь, Февраль, Март и Декабрь каждого года.
Нужно ещё долго и нудно доказывать что это статистически значимые максимумы.
0
832 / 679 / 101
Регистрация: 11.11.2012
Сообщений: 1,800
04.12.2016, 23:57
а кластерный анализ уж точно не стоит.. для временных то данных.. Не для этого оно.

Я бы тоже сравнивала со средним, медианой или квантилем каким-нибудь...
0
3 / 3 / 2
Регистрация: 04.01.2013
Сообщений: 73
06.12.2016, 22:14  [ТС]
Попробовал я предложенный способ разделения на группы с помощью медианы и с помощью, описанного на хабре, кластерного анализа.
Метод с медианой отличается своей простотой, но иногда вовлекает так же "обычные" месяцы в группу с месяцами с повышенным спросом. Не самый сложный и не самый точный способ кластеризации с помощью k-means показал лучшие результаты. Внизу сравнение обоих способов для одного года. lowerHalf/Cluster1 и higherHalf/Cluster2 это группы для "обычных" и "необычных" месяцев соответственно.

Сравнение

////////////////////////////////////////////////////////////////////////////////////////////////////////
SeparationByMedian

Sales [16.00, 1.00, 1.00, 3.00, 3.00, 3.00, 4.00, 18.00, 4.00, 3.00, 3.00, 2.00]
sorted [1.00, 1.00, 2.00, 3.00, 3.00, 3.00, 3.00, 3.00, 4.00, 4.00, 16.00, 18.00]
median 3.00

Results
lowerHalf : 8 [2, 3, 4, 5, 6, 10, 11, 12]
higherHalf: 4 [1, 7, 8, 9]

////////////////////////////////////////////////////////////////////////////////////////////////////////
ClusterAnalysis

Sales [16.00, 1.00, 1.00, 3.00, 3.00, 3.00, 4.00, 18.00, 4.00, 3.00, 3.00, 2.00]

Results
Cluster1: 8 [2, 3, 4, 5, 6, 7, 9, 10, 11, 12]
Cluster2: 4 [1, 8]

////////////////////////////////////////////////////////////////////////////////////////////////////////
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.12.2016, 22:14
Помогаю со студенческими работами здесь

Определить все месяцы 2000 года, в которых 13 число было пятницей
Компьютерный вирус "Пятница, 13" может повредить информацию только в те дни, когда 13 число попадает на пятницу. Определить все месяцы 2000...

Массив. Выявить элементы, значения которых кратные 3.
препод выдал задания и пропал, выкручиваться надо:( Задание, собственно: выявить в целочисленном массиве из 50 элементов, элементы,...

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

УТ 10.3. Отобрать клиентов, у которых не было продаж в течении года
Всем доброго времени суток. Подскажите, пожалуйста, возможно ли в запросе отобрать клиентов, у которых интервал между продажами больше...

рост которых выше среднего
Файл f содержит записи следующей структуры: - имя студента; - пол; - рост; - оценки по трем экзаменам. Написать процедуру ,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru