|
|
|
Макрос разбора массива данных на группы
|
|||
|---|---|---|---|
|
#18+
Имеется массив данных (сумма заказа (руб) и клиент), их необходимо равномерно разделить на n групп. Возможно уже раньше это обсуждалось ( я правда не нашел). Помогите советом или ссылкой. Заранее спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2011, 17:07 |
|
||
|
Макрос разбора массива данных на группы
|
|||
|---|---|---|---|
|
#18+
На группы - это по суммам заказов? Чтобы общие суммы в группах были близки? Похожую задачу мы решали здесь, но речь шла о _последовательности_. Если же у вас заказы можно группировать не по порядку, а выборочно, то алгоритм можно сильно оптимизировать; либо, опять же, использовать статметоды... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2011, 17:42 |
|
||
|
Макрос разбора массива данных на группы
|
|||
|---|---|---|---|
|
#18+
AndreTM, Группы должны быть близкими по характеристикам, как по сумме, так и по кол-ву. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2011, 07:53 |
|
||
|
Макрос разбора массива данных на группы
|
|||
|---|---|---|---|
|
#18+
Внятный пример данных и результата можете привести? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2011, 12:40 |
|
||
|
Макрос разбора массива данных на группы
|
|||
|---|---|---|---|
|
#18+
Что-то на тему многомерной или иерархической кластеризации ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2011, 16:53 |
|
||
|
Макрос разбора массива данных на группы
|
|||
|---|---|---|---|
|
#18+
Может пригодится? /topic/774671&hl=%ea%eb%e0%f1%f2%e5%f0%e8%e7%e0%f6%e8%ff ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2011, 16:57 |
|
||
|
Макрос разбора массива данных на группы
|
|||
|---|---|---|---|
|
#18+
А может всё проще, АВС-анализ? Или наоборот посложнее, RFM-сегментация - это уже клиентов сортировать ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2011, 19:56 |
|
||
|
Макрос разбора массива данных на группы
|
|||
|---|---|---|---|
|
#18+
AndreTM, Исходная таблица: Стоббец А - ID дела Столбец Б - ID договор Столбец С - ID клиента Столбец Д - Сумма (договора к примеру в руб.) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2011, 12:04 |
|
||
|
Макрос разбора массива данных на группы
|
|||
|---|---|---|---|
|
#18+
"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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2011, 12:13 |
|
||
|
Макрос разбора массива данных на группы
|
|||
|---|---|---|---|
|
#18+
gaint_re, ID_клиентаSum - Сумма11450002750003105000 вопросы группы внутри клиента в одной группе разные клиенты желательно один, но с добавками при необходимости ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2011, 12:37 |
|
||
|
Макрос разбора массива данных на группы
|
|||
|---|---|---|---|
|
#18+
пример-то закончите! что на выходе должно быть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2011, 12:38 |
|
||
|
Макрос разбора массива данных на группы
|
|||
|---|---|---|---|
|
#18+
в общем случае, функция СУММПРОИЗВ() в помощь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2011, 12:41 |
|
||
|
Макрос разбора массива данных на группы
|
|||
|---|---|---|---|
|
#18+
Темнит автор. Тем не менее есть нулевой вариант: одна строчка = одна группа. Вопрос к автору: Почему такой вариант не подходит? Но будем практичней: Например, имеем поток договоров на судебные иски. Имеем некоторое кол-во адвокатов, которые курируют клиентов. Требуется обеспечить более менее равномерную загрузку адвокатов. При необходимости можно уволить лишних либо призвать новеньких. Равномерность загрузки в некотором смысле по кол-ву договоров и общей сумме договоров на адвоката. Какие ограничения на число адвокатов? Если их нет, то годится нулевой вариант из начала поста. Какие ограничения на число договоров, курируемых одним адвокатом? То же для сумм? --------------- В подобной постановке - это типичная задача кластеризации. Методов много, одни из них для заданного заранее кол-ва кластеров, в других это не оговаривается. В данном случае кластер=кучка договоров одного адвоката. Пока неизвестно адвокаты - постояное число или нет. Только в случае продолжения задачи я рекомендую исходя из этого остановиться на конкретном методе, и не зачем выдумывать что-то своё. Например два типовых метода: <=К-соседей (неопределённое число кластеров и точки неравномерно разбросаны) и динамических сгущений (число кластеров задаётся заранее, этот вариант у меня по ссылке, здесь также можно последовательно прогнать задачку для разного числа кластеров, а потом выбрать какой красивше). Затем метод моифицируется под задачу. Независимо от метода для конкретной задачи придётся выбрать метрику для сравнения близости 2-х кластеров. Методы взвешенных сумм не очень подходят для данных, имеющих большой разброс значений, но даже если в группе будет по 5-7 агентов, всё равно можно формально предложить в качестве метрики ранговый метод сравнения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2011, 12:36 |
|
||
|
Макрос разбора массива данных на группы
|
|||
|---|---|---|---|
|
#18+
Самое главное - не надо изобретать велосипед. Вот пример ранга. Сведём 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. Чем ближе ранги, тем можно считать "ближе" группы. Одно из свойств такого ранга: одинаковые ранги могут иметь две группы, у одной из которых много мелких сумм, а у другой сумм мало, но они крупные. Но повторю, фактический разброс результатов будет регулироваться исходными ограничениями. И ещё повторю, не стоит изобретать самодельные методы. Типовых много и для всех доказаны сходимость итераций и согласованность со здравым смыслом. Надо выбрать один метод и его модифицировать под задачу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2011, 13:10 |
|
||
|
|

start [/forum/topic.php?fid=61&tid=2176272]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
168ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 250ms |
| total: | 510ms |

| 0 / 0 |
