[ОТВЕТИТЬ]
29.12.2010 09:52
andrey_f
 
Ну что ж, как и обещал, выкладываю новую утилиту Inventor: кластерный анализ. Все как и раньше, берем массив, нажимаем кнопку, ждем, ждем, ждем... ))
В итоге получаем такого рода матрицу:



Вадим, заводи свой комп :D

Внимание: в данной утилите обнаружена ошибка. В одном из следующих сообщений размещена более новая версия без ошибки. от administrator 8 янв 2010
Вложения
Тип файла: rar Inventor_кластерный анализ.rar (123.0 Кб, 1200 просмотров)
30.12.2010 03:02
VVY
 
Цитата:
administrator Ну что ж, как и обещал, выкладываю новую утилиту Inventor: кластерный анализ. Все как и раньше, берем массив, нажимаем кнопку, ждем, ждем, ждем... ))
В итоге получаем такого рода матрицу:



Вадим, заводи свой комп :D
завел, ждем
720630 строк
ДО НГ МОЖЕТ УСПЕЮ.


P.S. КрасаФФФчик!
30.12.2010 22:30
magdalena195715
 
андрюша ,большое спасибо за программульку
31.12.2010 02:29
andrey_f
 
Цитата:
magdalena195715 андрюша ,большое спасибо за программульку
Даже так :D
Видно, она Вам очень пригодилась )
04.01.2011 08:23
andrey_f
 
Опытным путем установлено, что для кластерного анализа более менее приличного массива данных желательно иметь комп с 4Гб оперативной памяти. С 2Гб возможна ошибка "out of memory".
На моем компе (с 4Гб) анализ массива в 160 тыс. строк занял около 40 часов, что приблизительно в 5 раз больше, чем ушло на тотальный анализ совместных продаж.
Надеюсь, после НГ праздников Вадим протестирует массив большего размера и поведает нам что-нибудь интересное ;)
08.01.2011 17:04
andrey_f
 
Коллеги, в утилите Inventor: кластерный анализ обнаружена маленькая, но серьезная ошибка.
Выкладываю обновленную версию без ошибки. Надеюсь, теперь все будет работать как положено )

Внимание: в одном из следующих сообщений размещена более новая версия утилиты. от administrator 1 фев 2010
Вложения
Тип файла: rar Inventor_кластерный анализ_v2.rar (101.2 Кб, 1004 просмотров)
10.01.2011 18:04
KaPrAL
 
Цитата:
administrator Опытным путем установлено, что для кластерного анализа более менее приличного массива данных желательно иметь комп с 4Гб оперативной памяти. С 2Гб возможна ошибка "out of memory".
Excel сам по себе тяжеловесный, содержит множество объектов, которые грузят память, поэтому в коде макросов используют как можно меньше переменных и массивов, и их значения лучше удалять из памяти сразу после использования. Можно также создавать невидимый лист, и сохранять в нем промежуточные данные, на каждом цикле очищая кэш и сохраняя книгу.
11.01.2011 00:26
andrey_f
 
Цитата:
KaPrAL Excel сам по себе тяжеловесный, содержит множество объектов, которые грузят память, поэтому в коде макросов используют как можно меньше переменных и массивов, и их значения лучше удалять из памяти сразу после использования. Можно также создавать невидимый лист, и сохранять в нем промежуточные данные, на каждом цикле очищая кэш и сохраняя книгу.
Саша, привет.
Если считать не в массивах, то время выполнения увеличивается в десятки раз.
Удалить массивы из памяти удается только к концу программы, т.к. они все задействованы в расчетах.
Все переменные обозначены своими типами (по возможности не "вариант").
На каждом цикле очищать кэш - хорошая идея, вот только Excel матерится сразу после начала анализа, т.е. еще на первом цикле.
Да и не так уж много там массивов, я не ожидал, что Excel "раскорячится" :)
Единственное решение, которое я вижу - оптимизация размера массивов, т.к. во многих случаях приходится брать массив заведомо большего размера, чтобы туда влезли все данные, количество которых не известно до выполнения операций.
Использовать массив переменного размера дольше по времени.
Вот такая задача, если бы анализ по времени продолжался не долго, можно было бы пожертвовать временем в пользу памяти, а тут и так счет на сутки, поэтому главный ресурс - время. А компы пора апгрейдить :D
Спасибо!
23.01.2011 11:21
RazVal
 
Цитата:
administrator время выполнения увеличивается в десятки раз...
Сейчас пишу обещанную статью по кластерному анализу, и у меня появилась мысль по возможному ускорению: когда у тебя есть набор пар со своими показателями, и ты объединяешь пару, имеющую самый большой показатель, то пересчитывать остальные показатели - не нужно. Достаточно только пересчитать за 5 секунд все показатели с новообразовавшейся парой - вставить их в общий массив для выбора следующего самого большого показателя и дальше действовать по той же схеме. В результате, тебе не надо будет пересчитывать каждый раз весь массив, и по уму время общего расчёта должно сократиться...
23.01.2011 11:24
andrey_f
 
Цитата:
RazVal
Цитата:
administrator время выполнения увеличивается в десятки раз...
Сейчас пишу обещанную статью по кластерному анализу, и у меня появилась мысль по возможному ускорению: когда у тебя есть набор пар со своими показателями, и ты объединяешь пару, имеющую самый большой показатель, то пересчитывать остальные показатели - не нужно. Достаточно только пересчитать за 5 секунд все показатели с новообразовавшейся парой - вставить их в общий массив для выбора следующего самого большого показателя и дальше действовать по той же схеме. В результате, тебе не надо будет пересчитывать каждый раз весь массив, и по уму время общего расчёта должно сократиться...
Валера, извини, не могу разобрать о чем ты...
Перефразируй плиз и чуток поподробнее :)
23.01.2011 17:18
RazVal
 
Цитата:
administrator Валера, плиз чуток поподробнее
Ты объединяешь в одну группу позиции, у которых коэффициент совместимости продаж - больше всех остальных. После этого заново пересчитываешь эти коэффициенты для всех пар, а объединённые позиции воспринимаешь уже как одну. Однако коэффициенты нужно считать только для пар, в которых участвует эта новая объединённая позиция. Я предлагаю не пересчитывать заново все те коэффициенты, которые после пересчёта заведомо не изменятся, а пересчитывать только те, которые образовались после последнего объединения позиций в группу совместимости.
24.01.2011 09:57
andrey_f
 
Так, Валера, давай подумаем...

Цитата:
RazVal Ты объединяешь в одну группу позиции, у которых коэффициент совместимости продаж - больше всех остальных. После этого заново пересчитываешь эти коэффициенты для всех пар, а объединённые позиции воспринимаешь уже как одну.
Да, на каждом уровне кластеризации формируется список совместно продаваемых товаров и на основе этого списка выделяются кластеры. Дело в том, что все товары из этого списка объединяются в кластера, т.к. в этот список изначально попадают пары с характеристиками не ниже заданных (коэффициент совместности, количество продаж). Т.е. сначала формируются все кластеры одного уровня, а потом мы заменяем в исходном массиве старые названия номенклатуры на названия вновь образовавшихся кластеров. После этого из исходного массива удаляются одинаковые строки и анализ проводится только по уникальным строкам. Затем формируется список уникальной номенклатуры, которая встречается в исходном массиве. Для каждой позиции из списка уникальной номенклатуры проводится анализ совместных продаж, в анализе участвуют только те документы, в которых эта позиция продавалась.

Цитата:
RazVal Однако коэффициенты нужно считать только для пар, в которых участвует эта новая объединённая позиция. Я предлагаю не пересчитывать заново все те коэффициенты, которые после пересчёта заведомо не изменятся, а пересчитывать только те, которые образовались после последнего объединения позиций в группу совместимости.
Да, на следующем уровне кластеризации логично не проводить анализ по позициям уникальной номенклатуры из исходного массива, для которых не было изменений ни в одном документе продажи из тех, в которых они продавались (выделить эти документы тоже время). Вот только я думаю, что таких документов и позиций будет крайне мало, и это скорее всего те позиции, которые продавались единично в отдельных документах и по результату анализа не попали ни в один кластер. Единственный случай, когда это может дать существенную экономию времени, это когда пользователь изначально задал заведомо большие параметры (коэффициент совместности, количество продаж) и тогда часть документов реально можно отбросить, вот только первый наиболее длительный уровень кластеризации проводить необходимо всегда в полном объеме.
Валера, правильно ли я тебя понял и логичны ли мои рассуждения?
24.01.2011 11:36
RazVal
 
Цитата:
administrator ...
Валера, правильно ли я тебя понял и логичны ли мои рассуждения?
Да, Андрей - ты понял меня совершенно правильно. Жаль, что моя идея не позволит значительно сократить время работы алгоритма...
24.01.2011 12:34
andrey_f
 
Цитата:
RazVal Жаль, что моя идея не позволит значительно сократить время работы алгоритма...
Зато другие твои идеи послужили основой для его создания ;)
26.01.2011 14:03
Angl
 
Всем привет! А есть ли версия EXCEL2010?
26.01.2011 14:06
andrey_f
 
Цитата:
Angl Всем привет! А есть ли версия EXCEL2010?
Привет.
2010 Excel ничем в данном случае не отличается от 2007, так что предлагаемый файл подходит и к 2010 версии без каких-либо ограничений.
01.02.2011 03:38
andrey_f
 
Цитата:
administrator
Цитата:
KaPrAL Excel сам по себе тяжеловесный, содержит множество объектов, которые грузят память, поэтому в коде макросов используют как можно меньше переменных и массивов, и их значения лучше удалять из памяти сразу после использования. Можно также создавать невидимый лист, и сохранять в нем промежуточные данные, на каждом цикле очищая кэш и сохраняя книгу.
...
Единственное решение, которое я вижу - оптимизация размера массивов, т.к. во многих случаях приходится брать массив заведомо большего размера, чтобы туда влезли все данные, количество которых не известно до выполнения операций.
...
Для уменьшения риска возникновения ошибки "out of memory" я оптимизировал размер массивов.
Насколько эффективно данное решение - покажет тест на выходных, по результатам напишу.
Последняя версия утилиты Inventor: кластерный анализ во вложении.
Вложения
Тип файла: rar Inventor_кластерный анализ_V3.rar (122.0 Кб, 664 просмотров)
01.02.2011 22:56
RazVal
 
Цитата:
administrator Последняя версия утилиты Inventor: кластерный анализ во вложении.
А, если всё будет хорошо, то ты заменишь ей модуль кластерного анализа в основном Inventor-е? Спрашиваю, для указания, корректной ссылки. ;)
01.02.2011 23:46
andrey_f
 
Цитата:
RazVal
Цитата:
administrator Последняя версия утилиты Inventor: кластерный анализ во вложении.
А, если всё будет хорошо, то ты заменишь ей модуль кластерного анализа в основном Inventor-е? Спрашиваю, для указания, корректной ссылки. ;)
Нет, Валера, в основную надстройку этот модуль вводить не буду. Причина проста: пользоваться им будут раз в год и далеко не все (поэтому нет проблем с удобством из-за отдельного модуля), а вот надстройка станет тяжелее и количество кнопок на панели инструментов ограничено размером 1024 пикселя (мониторы с данным разрешением все еще активно используются, судя по данным метрики).
Для ссылки вполне может подойти эта страница. Думаю, для человека, который первый раз попадает на данный сайт это нормальный вариант.
08.02.2011 02:08
andrey_f
 
Цитата:
administrator Для уменьшения риска возникновения ошибки "out of memory" я оптимизировал размер массивов.
Насколько эффективно данное решение - покажет тест на выходных, по результатам напишу.
Ну что ж: время анализа не изменилось (собственно, это и не ожидалось, т.к. алгоритм и количество операций не менялись), а вот риск возникновения ошибки "out of memory" уменьшен. По крайней мере, на тестируемом компьютере данная ошибка не повторилась.
Так же результат теста натолкнул меня на следующую гипотезу: при занижении параметров кластеризации мы повышаем риск ошибки "out of memory", т.к. получаем слишком большое количество уровней кластеризации. Например, при тесте я поставил слишком маленькие параметры и в результате получил 122 уровня кластеризации. Это хорошо, конечно, когда весь ассортимент в результате образует один большой кластер, но это не самоцель. Кластера нужно выделять по адекватным характеристикам, а не по заниженным, пусть даже часть ассортимента при этом окажется вне кластеров.
Думаю, что предварительно оценить какие параметры кластеризации нужно выставить, поможет анализ совместных продаж, как по отдельным позициям, так и тотальный. Эти функции есть в модуле кластерного анализа.
08.02.2011 02:17
VVY
 
Цитата:
administrator Ну что ж: время анализа не изменилось (собственно, это и не ожидалось, т.к. алгоритм и количество операций не менялись), а вот риск возникновения ошибки "out of memory" уменьшен. По крайней мере, на тестируемом компьютере данная ошибка не повторилась.
Так же результат теста натолкнул меня на следующую гипотезу: при занижении параметров кластеризации мы повышаем риск ошибки "out of memory", т.к. получаем слишком большое количество уровней кластеризации. Например, при тесте я поставил слишком маленькие параметры и в результате получил 122 уровня кластеризации. Это хорошо, конечно, когда весь ассортимент в результате образует один большой кластер, но это не самоцель. Кластера нужно выделять по адекватным характеристикам, а не по заниженным, пусть даже часть ассортимента при этом окажется вне кластеров.
Андрей, привет.
Спасибо, будем пробывать на данных. "out of memory" в прошлые разы просто "убивало".
21.02.2011 10:39
mazuriks@yandex.ru
 
Интересная тема на форуме. Читаю и не могу понять - большая часть темы никак не относится к закупкам. а если и относится то опосредствено. это работа маркетолога, мерчендайзера, менеджера по продажам, менеджера по рекламе. насчет нет понимания выкладки не согласен - а как же правило "золотого треугольника", "уровень руки", "уровень глаз" и тп. анализ среднего чека, посещаемости, конверсии, количество товара в корзине, связь товара группы А товарами группы С - это анализы которые маркетинговые анализы. запрашивайте информацию у этого отдела. он должен вам предоставить. или все у нас делается по принципу - и швец, и жнец и на дуде игрец. а кто такие маркетологи и что они дорлжны делать можно почитать на форуме
Самого наилучшего Сергей Мазурик - директор по маркетингу
21.02.2011 11:36
andrey_f
 
Цитата:
mazuriks@yandex.ru Интересная тема на форуме. Читаю и не могу понять - большая часть темы никак не относится к закупкам. а если и относится то опосредствено. это работа маркетолога, мерчендайзера, менеджера по продажам, менеджера по рекламе. насчет нет понимания выкладки не согласен - а как же правило "золотого треугольника", "уровень руки", "уровень глаз" и тп. анализ среднего чека, посещаемости, конверсии, количество товара в корзине, связь товара группы А товарами группы С - это анализы которые маркетинговые анализы. запрашивайте информацию у этого отдела. он должен вам предоставить. или все у нас делается по принципу - и швец, и жнец и на дуде игрец.
Самого наилучшего Сергей Мазурик - директор по маркетингу
Сергей, добрый день.
Очень рад, что на нашем форуме присутствуют специалисты из разных областей. Лично я считаю, что маркетинг и логистика (управление товаром, закупки, управление запасами) очень тесно связаны. Нельзя быть хорошим закупщиком, не понимая принципов маркетинга. Так же нельзя заниматься маркетингом, не зная товар. Именно поэтому сегодня категорийный менеджмент настолько эффективен и популярен. И мы на данном форуме стараемся обсуждать задачи в рамках категорийного менеджемента, а не просто в рамках закупок - привез на склад и пускай себе лежит, хоть трава не расти.
Вы удивляетесь зачем нам анализировать совместные продажи, выделять кластеры товаров. Проведу параллельный пример, на одном из семинаров один из закупщиков сказал мне потрясающую фразу: "А зачем я буду делать АВС-анализ... у нас его маркетологи делают!". Правильно ли это? Конечно, нет! Каждый из отделов, применяя тот или иной инструмент, решает свою задачу.
21.02.2011 13:24
VVY
 
Сергей, добрый день!

Цитата:
mazuriks@yandex.ru Интересная тема на форуме. Читаю и не могу понять - большая часть темы никак не относится к закупкам. а если и относится то опосредствено.
1. Этот вопрос больше относится к категорийному менеджменту, как правильно заметил Андрей. Но этот же вопрос можно рассматривать и с позиции закупщика - проводя анализ товара можно сделать ошибку, не оценив влияние продаж 1 товара на продажи другого и удалив его из ассортимента, закупщик заинтересован в быстром начале продаж "Новинок", а этого можно добиться "связью" товара в учетной системе и т.д. Конечно же, что многое будет зависеть от мотивации, но это уже другой вопрос.

Цитата:
mazuriks@yandex.ru это работа маркетолога, мерчендайзера, менеджера по продажам, менеджера по рекламе.
2. К сожалению, практически не видел маркетолога способного провести многофакторный анализ.

Цитата:
mazuriks@yandex.ru насчет нет понимания выкладки не согласен - а как же правило "золотого треугольника", "уровень руки", "уровень глаз" и тп. анализ среднего чека, посещаемости, конверсии, количество товара в корзине, связь товара группы А товарами группы С - это анализы которые маркетинговые анализы.
3. Также не соглашусь с Вами в этом вопросе, так как мало компаний используют "маркетинг" как концепцию "управления макетингом" и больше используют как "концепцию сбыта" исключительно в части: стимулирования сбыта, рекламы и PR. Порой, не оценивая даже проведенные маркетинговые активности.
Если у Вас есть какие-либо наработки в направлении "Анализа розничного магазина", то прошу поделиться опытом здесь.

Цитата:
mazuriks@yandex.ru запрашивайте информацию у этого отдела. он должен вам предоставить. или все у нас делается по принципу - и швец, и жнец и на дуде игрец.
Самого наилучшего Сергей Мазурик - директор по маркетингу
4. Не у всех компаний есть отдел, который занимается подобного рода функционалом.
Спасибо за сайт.
21.02.2011 16:50
KaPrAL
 
Цитата:
mazuriks@yandex.ru ... запрашивайте информацию у этого отдела. он должен вам предоставить. или все у нас делается по принципу - и швец, и жнец и на дуде игрец.
Сергей, в подавляющем большинстве компаний закупщики находятся в более привилегированном положении, чем маркетинг, а значит и скорость, и качество, и оперативность получения и обработки информации у закупщиков в разы выше, поэтому к тому моменту, когда маркетинг предоставляет данные, они обычно становятся сильно неактуальными.
22.02.2011 07:03
petrnsk
 
Цитата:
mazuriks@yandex.ru запрашивайте информацию у отдела маркетинга. он должен вам предоставить.
Добрый день.
Очень забавно. У нас в компании люди, называющие себя маркетологами, занимаются только тем, что "осваивают" рекламные бюджеты, причем даже это делается через одно место. Я бы и рад у них что-то запросить, но в ответ лишь тупое недоумение... А вот деньги транжирить - это всегда пожалуйста. На форумах маркетологов не смог найти нечего интересного, их общение сводится к темам: "обсуждение рекламного щита на перекрестке улицы такой-то с проспектом таким-то", "помогите придумать слоган", "зацените логотип"... крайне редко может проскакивать интересное название темы, но чаще всего это на названии и заканчивается. А вообще маркетологи на свете существуют, я в это верю, только не в России (исключения возможны).
15.05.2011 15:56
Закупщик56199
 
Цитата:
petrnsk
Цитата:
mazuriks@yandex.ru запрашивайте информацию у отдела маркетинга. он должен вам предоставить.
Очень забавно. У нас в компании люди, называющие себя маркетологами, занимаются только тем, что "осваивают" рекламные бюджеты, причем даже это делается через одно место. Я бы и рад у них что-то запросить, но в ответ лишь тупое недоумение... А вот деньги транжирить - это всегда пожалуйста.
Просто золотые слова, добавить нечего :D
23.08.2011 19:31
Ferd
 
спасибо за возможность проводить кластерный анализ! сделал на 140тыс. строках - заняло 7 часов..

теперь ломаю голову с какой стороны подойти к написанию аналитической записки получившегося :-/
может стоит начать с "наиверхнего" кластера - где выдало единички: это как понимать - соотв.товары чаще всего продавались в какими-либо ещё товарами из выборки? а для самых "нижних" (в моём результате это значения 56) - что они крайне редко идут по счетам совместно с какими-то ещё товарами? помогите, пожалуйста, разобраться: и мне и руководству нашего ритейл-холдинга, который будет читать соотв.аналитическую записку
24.08.2011 01:49
andrey_f
 
Цитата:
Ferd может стоит начать с "наиверхнего" кластера - где выдало единички: это как понимать - соотв.товары чаще всего продавались в какими-либо ещё товарами из выборки? а для самых "нижних" (в моём результате это значения 56) - что они крайне редко идут по счетам совместно с какими-то ещё товарами?
Приветствую.
Номер кластера не имеет значения, т.е. что 1 что 56 кластер равноценны в анализе.
Товарные позиции внутри одного кластера (не важен его номер) чаще всего продаются вместе в одном чеке. Например, выше уже давался очень хороший пример про пельмени с майонезом (один кластер) и шоколад с коньяком (другой кластер). Понятно, что эти товары продаются попарно и дорогой коньяк вряд ли будут покупать с майонезом. Оценив кластеры вы можете выявить неочевидные связи и скорректировать под это позиционирование, ассортиментную политику, ценообразование, выкладку в торговом зале, закупки и т.д.
30.08.2011 15:20
Ferd
 
Цитата:
administrator ... Товарные позиции внутри одного кластера (не важен его номер) чаще всего продаются вместе в одном чеке.... Оценив кластеры...
спсибо за ответ!
у меня осталось три вопроса:
:? что понимать под "одним кластером"? - это заполнение одним цветом соседних ячеек и/или это соответствие(совпадение по цветам) колонок: в моём случае их выдало (я указывал коэф. 0,7) 9 и все называются "кластер". Зачем 9 а не одна колонка?
:? связанный с первым вопросом, - как понимать короткие и длинные цветные фигуры?..
:? как трактовать то, что, например, для двух рядом расположеных товаров в первой справа от них колонке стоит 'no', а со второй по девятую колонки идут расскрашенные прямоугольники захватывающие в частности и эти два товара?


Опции темы


Часовой пояс GMT +3, время: 16:38.

 

Форум сделан на основе vBulletin®
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.