Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Макрос разбора массива данных на группы / 14 сообщений из 14, страница 1 из 1
10.11.2011, 17:07
    #37520474
gaint_re
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Макрос разбора массива данных на группы
Имеется массив данных (сумма заказа (руб) и клиент), их необходимо равномерно разделить на n групп. Возможно уже раньше это обсуждалось ( я правда не нашел). Помогите советом или ссылкой.
Заранее спасибо
...
Рейтинг: 0 / 0
10.11.2011, 17:42
    #37520560
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Макрос разбора массива данных на группы
На группы - это по суммам заказов? Чтобы общие суммы в группах были близки?
Похожую задачу мы решали здесь, но речь шла о _последовательности_.
Если же у вас заказы можно группировать не по порядку, а выборочно, то алгоритм можно сильно оптимизировать; либо, опять же, использовать статметоды...
...
Рейтинг: 0 / 0
11.11.2011, 07:53
    #37521224
gaint_re
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Макрос разбора массива данных на группы
AndreTM,

Группы должны быть близкими по характеристикам, как по сумме, так и по кол-ву.
...
Рейтинг: 0 / 0
11.11.2011, 12:40
    #37521772
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Макрос разбора массива данных на группы
Внятный пример данных и результата можете привести?
...
Рейтинг: 0 / 0
14.11.2011, 16:53
    #37525926
exp98
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Макрос разбора массива данных на группы
Что-то на тему многомерной или иерархической кластеризации ?
...
Рейтинг: 0 / 0
14.11.2011, 16:57
    #37525939
exp98
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Макрос разбора массива данных на группы
Может пригодится?

/topic/774671&hl=%ea%eb%e0%f1%f2%e5%f0%e8%e7%e0%f6%e8%ff
...
Рейтинг: 0 / 0
14.11.2011, 19:56
    #37526246
exp98
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Макрос разбора массива данных на группы
А может всё проще, АВС-анализ? Или наоборот посложнее, RFM-сегментация - это уже клиентов сортировать ...
...
Рейтинг: 0 / 0
15.11.2011, 12:04
    #37526999
gaint_re
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Макрос разбора массива данных на группы
AndreTM,

Исходная таблица:
Стоббец А - ID дела
Столбец Б - ID договор
Столбец С - ID клиента
Столбец Д - Сумма (договора к примеру в руб.)
...
Рейтинг: 0 / 0
15.11.2011, 12:13
    #37527023
gaint_re
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Макрос разбора массива данных на группы
"ID дела ""ID договор ""ID клиента ""Сумма "1"123-321"1150002"123-320"2150003"123-319"3200004"123-318"1250005"123-317"2100006"123-316"3150007"123-315"1150008"123-314"2150009"123-313"32000010"123-312"12500011"123-311"21000012"123-310"31500013"123-309"11500014"123-308"21500015"123-307"32000016"123-306"12500017"123-305"21000018"123-304"31500019"123-303"11000020"123-302"115000
...
Рейтинг: 0 / 0
15.11.2011, 12:37
    #37527066
ПЕНСИОНЕРКА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Макрос разбора массива данных на группы
gaint_re,

ID_клиентаSum - Сумма11450002750003105000

вопросы
группы внутри клиента

в одной группе разные клиенты

желательно один, но с добавками при необходимости
...
Рейтинг: 0 / 0
15.11.2011, 12:38
    #37527071
PlanB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Макрос разбора массива данных на группы
пример-то закончите! что на выходе должно быть?
...
Рейтинг: 0 / 0
15.11.2011, 12:41
    #37527077
PlanB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Макрос разбора массива данных на группы
в общем случае, функция СУММПРОИЗВ() в помощь
...
Рейтинг: 0 / 0
17.11.2011, 12:36
    #37531240
exp98
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Макрос разбора массива данных на группы
Темнит автор. Тем не менее есть нулевой вариант: одна строчка = одна группа. Вопрос к автору: Почему такой вариант не подходит?

Но будем практичней:
Например, имеем поток договоров на судебные иски.
Имеем некоторое кол-во адвокатов, которые курируют клиентов.
Требуется обеспечить более менее равномерную загрузку адвокатов. При необходимости можно уволить лишних либо призвать новеньких. Равномерность загрузки в некотором смысле по кол-ву договоров и общей сумме договоров на адвоката.

Какие ограничения на число адвокатов? Если их нет, то годится нулевой вариант из начала поста.
Какие ограничения на число договоров, курируемых одним адвокатом?
То же для сумм?
---------------
В подобной постановке - это типичная задача кластеризации. Методов много, одни из них для заданного заранее кол-ва кластеров, в других это не оговаривается. В данном случае кластер=кучка договоров одного адвоката.
Пока неизвестно адвокаты - постояное число или нет.
Только в случае продолжения задачи я рекомендую исходя из этого остановиться на конкретном методе,
и не зачем выдумывать что-то своё. Например два типовых метода: <=К-соседей (неопределённое число кластеров и точки неравномерно разбросаны) и динамических сгущений (число кластеров задаётся заранее, этот вариант у меня по ссылке, здесь также можно последовательно прогнать задачку для разного числа кластеров, а потом выбрать какой красивше). Затем метод моифицируется под задачу.

Независимо от метода для конкретной задачи придётся выбрать метрику для сравнения близости 2-х кластеров. Методы взвешенных сумм не очень подходят для данных, имеющих большой разброс значений, но даже если в группе будет по 5-7 агентов, всё равно можно формально предложить в качестве метрики ранговый метод сравнения.
...
Рейтинг: 0 / 0
17.11.2011, 13:10
    #37531352
exp98
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Макрос разбора массива данных на группы
Самое главное - не надо изобретать велосипед.
Вот пример ранга. Сведём 2-мерную задачу к одномерной.
Получили N групп. В каждой группе Ki договоров и Ci=срзнач(Суммы в группе i)
K1 ...Kn и C1 ... Cn

ЗАменяем суммы на безразмерные величины
р(С1)= (С1 - М(С)) / СКО(С)
где
М(С)) = срзнач(С1 ...Ск)
СКО(С) = стандотклон(С1 ...Сn) - не помню точно функцию, это там, где делится не на N, а на (N-1).

Аналогично вместо чисел K1 ...Kn используем их нормированные значения т(К).

Ранг группы= т(К) * вес1 + р(С) * вес2,
где вес1 и вес2 подбираются по вкусу, но чтоб вес1 + вес2=1.
Чем ближе ранги, тем можно считать "ближе" группы.

Одно из свойств такого ранга: одинаковые ранги могут иметь две группы, у одной из которых много мелких сумм, а у другой сумм мало, но они крупные. Но повторю, фактический разброс результатов будет регулироваться исходными ограничениями.
И ещё повторю, не стоит изобретать самодельные методы. Типовых много и для всех доказаны сходимость итераций и согласованность со здравым смыслом. Надо выбрать один метод и его модифицировать под задачу.
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Макрос разбора массива данных на группы / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]