Агрегирование
Финансовый эксперт с высшим экономическим образованием по специальности «Экономист-менеджер». Имею опыт работы в Сбербанке России. Более 7 лет консультирую читателей по финансовым вопросам.
Описание агрегирования простыми словами
Агрегирование в различных сферах
В первом случае под агрегированием понимается реализация определённой стратегии, которая направлена на количественное увеличение клиентской базы. Суть такой стратегии заключается в сосредоточивании внимания на потребностях населения, которые позиционируются в качестве универсальных. При этом последующие выводы делаются на основе того, что потребительская база на рынке в большинстве своём практически идентична, а, соответственно, и потребности у таких клиентов могут быть одинаковыми. Данная тенденция берётся за основу при последующем осуществлении торговой деятельности.
Касательно экономической сферы, то здесь агрегирование интерпретируется в двух значениях. В одном из них так называется улучшение экономических показателей, которое осуществляется при помощи поэтапного объединения отдельных элементов в одну единую группу. При осуществлении данного процесса определяются обобщённые синтетические измерители, объединённые в одно целое. Такие измерители называются агрегированными показателями.
Довольно характерным можно назвать пример, в котором показатель объёма производства на территории отдельно взятой страны является суммарным величиной объёма производства всех предприятий промышленного значения. Сюда же можно отнести сведение динамики ценовых показателей отдельно взятых товаров в общий показатель их индексации.
Процесс агрегирования определяется суммированием и группированием. В определённом понимании агрегирование является прямой противоположностью сегментации рынка. С точки зрения такого процесса рынок позиционируется в качестве однородной среды, где могут быть реализованы маркетинговые приёмы в единичной интерпретации.
В свою очередь полной противоположностью агрегирования является дезагрегирование. Такой процесс представляет из себя явление, обратное первоначально реализованному объединению элементов, существующих в полной независимости друг от друга.
Отчасти агрегирование может рассматриваться как поэтапный переход от микроэкономического взгляда на изучаемые явления экономического значения к макроэкономическому. При таком раскладе агрегирование будет позиционироваться в качестве жизненно необходимого элемента, что обусловлено фактом, по причине которого никакая из реализуемых моделей не имеет возможности вместить существующее разнообразие экономических ресурсов, связей и продуктов. Если брать во внимание данное утверждение, то даже самые крупные модели являются продуктов агрегирования в данный промежуток времени или станут таковыми по истечении определённого временного периода.
Управленческий процесс также неизбежно включает в себя элементы агрегирования. Так, при осуществлении перехода имеющиеся показатели подвергаются данному процессу с последующим уменьшением общего количества. Более того, наряду с потерей показателей, происходит снижение информативной ценности, что является проблемой глобального масштаба. Вследствие этого, проводимые расчёты осуществляются на основе статистических закономерностей, а полученные результаты довольно часто не являются истиной.
Для того, чтобы свести к минимуму возможные погрешности, рекомендуется предварительно сопоставлять выгоду от уменьшения расчётов с ущербом, который может быть нанесён вследствие потери определённой части информации.
Агрегирование
Агрегирование
Агрегирование в общем смысле — это объединение нескольких элементов в единое целое. Результат агрегирования называют агрегатом.
В программировании
В программировании под агрегированием (так же называемым композицией и включением) подразумевают методику создания нового класса из уже существующих классов. Об агрегировании также часто говорят как об «отношении принадлежности» по принципу «у машины есть корпус, колеса и двигатель».
Вложенные объекты нового класса обычно объявляются закрытыми, что делает их недоступными для прикладных программистов, работающих с классом. С другой стороны, создатель класса может изменять эти объекты, не нарушая работы существующего клиентского кода. Кроме того, замена вложенных объектов на стадии выполнения программы позволяет динамически изменять её поведение. Механизм наследования такой гибкостью не обладает, поскольку для производных классов устанавливаются ограничения, проверяемые на стадии компиляции.
На базе агрегирования реализуется методика делегирования, когда поставленная перед внешним объектом задача перепоручается внутреннему объекту, специализирующемуся на решении задач такого рода.
В Маркетинге
Агрегирование — маркетинговая стратегия, направленная на расширение базы потребителей; сосредоточивает внимание на универсальных потребностях населения и предполагает, что все потребители на конкретном рынке похожи друг на друга и испытывают одинаковые потребности.
В Экономике
Агрегирование — 1) укрупнение экономических показателей посредством их объединения в группу. Агрегированные показатели представляют обобщенные, синтетические измерители, объединяющие в одном общем показателе многие частные. Так, например, показатель объема промышленного производства в стране представляет суммарную величину объемов производства всех промышленных предприятий. Агрегирование осуществляется посредством суммирования, группировки или других способов сведения частных показателей в обобщенные; 2) действие, противоположное сегментации рынка, рассмотрение рынка как однородной среды, в которой используются единые маркетинговые приемы.
Полезное
Смотреть что такое «Агрегирование» в других словарях:
агрегирование — Объединение, суммирование экономических показателей по какому либо признаку для получения обобщенных совокупных показателей. При агрегировании необходим учет структуры объединяемых элементов, в ряде случаев требуется анализ возможности и… … Справочник технического переводчика
АГРЕГИРОВАНИЕ — (aggregation) Зависимость между поведением совокупных величин и их составляющих. Предположим, например, что есть N индивидов, i=1, 2. N. Объем потребления каждого i го индивида, Сi, определяется по формуле Сi=ai+ biYdi, где Ydi –… … Экономический словарь
Агрегирование — в корпоративном финансовом планировании суммирование малых инвестиционных предложений каждой из операционных единиц инвестиционной компании. По результатам агрегирования выявляются сводные отчетные позиции по фьючерсам, опционам и другим… … Финансовый словарь
Агрегирование — [aggregation, aggregation problem] объединение, укрупнение показателей по какому либо признаку для получения обобщенных, совокупных показателей — агрегатов. С математической точки зрения А. рассматривается как преобразование модели в модель … Экономико-математический словарь
Агрегирование — объединение, соединение однородных показателей (величин) для получения совокупных показателей. Словарь бизнес терминов. Академик.ру. 2001 … Словарь бизнес-терминов
агрегирование — сущ., кол во синонимов: 2 • агрегация (6) • объединение (94) Словарь синонимов ASIS. В.Н. Тришин. 2013 … Словарь синонимов
АГРЕГИРОВАНИЕ — англ. aggregation; нем. Aggregation. 1. Преобразование модели в модель с меньшим числом переменных или ограничений, т. е. агрегированную модель, дающую приближенное по сравнению с исходной описание изучаемого объекта или процесса. 2. В социологии … Энциклопедия социологии
АГРЕГИРОВАНИЕ — (aggregation) Переориентирование политических требований в альтернативные русла, что часто наблюдается в деятельности политических партий. Понятие агрегирования лежит в основе структурно функционального подхода к исследованию политики. Политика.… … Политология. Словарь.
агрегирование — 3.2 агрегирование (aggregation): Процесс или результат объединения конструкций языка моделирования и других компонентов модели в единое целое. Примечание Конструкции языка моделирования и другие компоненты модели могут быть агрегированы в более… … Словарь-справочник терминов нормативно-технической документации
агрегирование — укрупнение экономических показателей посредством их объединения в единую группу. Агрегированные показатели представляют обобщенные, синтетические измерители, объединяющие в одном общем показателе многие частные. Так, например, показатель… … Словарь экономических терминов
Агрегирование данных
«. Агрегирование данных (data aggregation): процесс сбора, обработки и представления информации в окончательном виде. Агрегирование данных в основном выполняется для формирования отчетов, выработки политики, управления здравоохранением, научных исследований, статистического анализа и изучения здоровья населения. «
Источник:
«ИНФОРМАТИЗАЦИЯ ЗДОРОВЬЯ. ТРЕБОВАНИЯ К АРХИТЕКТУРЕ ЭЛЕКТРОННОГО УЧЕТА ЗДОРОВЬЯ. ГОСТ Р ИСО/ТС 18308-2008»
(утв. Приказом Ростехрегулирования от 11.03.2008 N 44-ст)
Смотреть что такое «Агрегирование данных» в других словарях:
агрегирование данных — Процесс сбора, обработки и представления информации в окончательном виде. Агрегирование данных в основном выполняется для формирования отчетов, выработки политики, управления здравоохранением, научных исследований, статистического анализа и… … Справочник технического переводчика
агрегирование данных — (data aggregation): Процесс сбора, обработки и представления информации в окончательном виде. Агрегирование данных в основном выполняется для формирования отчетов, выработки политики, управления здравоохранением, научных исследований,… … Словарь-справочник терминов нормативно-технической документации
агрегирование — 3.2 агрегирование (aggregation): Процесс или результат объединения конструкций языка моделирования и других компонентов модели в единое целое. Примечание Конструкции языка моделирования и другие компоненты модели могут быть агрегированы в более… … Словарь-справочник терминов нормативно-технической документации
агрегирование — Объединение, суммирование экономических показателей по какому либо признаку для получения обобщенных совокупных показателей. При агрегировании необходим учет структуры объединяемых элементов, в ряде случаев требуется анализ возможности и… … Справочник технического переводчика
Агрегирование — [aggregation, aggregation problem] объединение, укрупнение показателей по какому либо признаку для получения обобщенных, совокупных показателей — агрегатов. С математической точки зрения А. рассматривается как преобразование модели в модель … Экономико-математический словарь
агрегирование информации — Преобразование детализированной информации в пакеты (агрегаты) данных, что позволяет анализировать экономику в терминах небольшого числа соответствующих агрегированных переменных, которые включают капитал, труд, товары (промежуточные и конечные) … Справочник технического переводчика
агрегирование каналов — Метод повышения пропускной способности за счет объединения нескольких параллельных каналов в один высокоскоростной поток данных. [Л.М. Невдяев. Телекоммуникационные технологии. Англо русский толковый словарь справочник. Под редакцией Ю.М.… … Справочник технического переводчика
АГРЕГИРОВАНИЕ — соединение отдельных единиц или данных в единый показатель. Например, все цены индивидуальных товаров и услуг образуют один общий уровень цен или все единицы продукции агрегируются в реальный чистый национальный продукт … Большой бухгалтерский словарь
АГРЕГИРОВАНИЕ ИНФОРМАЦИИ — преобразование детализированной информации в пакеты (агрегаты) данных, что позволяет анализировать экономику в терминах небольшого числа соответствующих агрегированных переменных, которые включают капитал, труд, товары (промежуточные и конечные) … Большой бухгалтерский словарь
АГРЕГИРОВАНИЕ — соединение отдельных единиц или данных в единый показатель. Например, все цены индивидуальных товаров и услуг образуют один общий уровень цен или все единицы продукции агрегируются в реальный чистый национальный продукт … Большой экономический словарь
Агрегирование
Агрегирование [aggregation, aggregation problem] — объединение, укрупнение показателей по какому-либо признаку для получения обобщенных, совокупных показателей — агрегатов. С математической точки зрения А. рассматривается как преобразование модели в модель с меньшим числом переменных и ограничений — агрегированную модель, дающую приближенное (по сравнению с исходным) описание изучаемого процесса или объекта. Его сущность — в соединении однородных элементов в более крупные.
Среди способов А.: сложение показателей, представление группы агрегируемых показателей через их среднюю, использование различных взвешивающих коэффициентов (см. Вес), баллов (см. Шкалы) и т.д.
Процесс, обратный к А., называется дезагрегированием, реже — разагрегированием, разукрупнением.
Некоторыми теоретиками термин «агрегирование» понимается также как переход от микроэкономического к макроэкономическому взгляду на изучаемые экономические явления.
В экономико—математических моделях А. необходимо потому, что ни одна модель не в состоянии вместить всего многообразия реально существующих в экономике продуктов, ресурсов, связей. Даже крупноразмерные модели, насчитывающие десятки тысяч показателей, и то неизбежно являются продуктом агрегирования.
В процессе управления при переходе от низшей ступени к высшей показатели агрегируются, а число их уменьшается. Но при этом часть информации «теряется» (при сведении воедино заказов на материалы, например, уже неизвестно, каких именно марок и размеров они нужны каждому заказчику) и приходится вести расчеты приближенно, на основании статистических закономерностей. Поэтому всегда надо сопоставлять выгоду (от сокращения расчетов) с ущербом, который наносится потерей части информации.
Особенно затруднено А. в динамических моделях, поскольку с течением времени меняется соотношение элементов, входящих в укрупненную группу (возникает «структурная неоднородность«).
Расхождение между результатами исходной задачи и результатами агрегированной задачи называется ошибкой А. Уменьшение ошибки А. — один из основных критериев, применяемых в теории оптимального агрегирования, разработанной Л.Гурвицем, Е.Малинво, У.Фишером и Дж.Чипмэном.
А. имеет большое значение в методе межотраслевого баланса (МОБ), где оно означает объединение различных производств в отрасли, продуктов — в обобщенные продукты и укрупнение таким путем показателей балансовых расчетов. МОБ обычно оперирует «чистыми отраслями«, т.е. условными отраслями, каждая из которых производит и передает другим отраслям один агрегированный продукт. Количество их ограничивается вычислительными возможностями и некоторыми обстоятельствами математического характера, однако, в принципе, чем больше детализация МОБ, тем лучше он отражает действительность, тем точнее расчеты по нему.
А. в МОБ возможно двух типов — вертикальное и горизонтальное. Первое означает объединение продукции по технологической цепочке. Например, в соответствии с этим принципом в одну группу могут быть объединены железная руда, чугун, сталь, прокат (тогда отрасль дает потребителям один продукт — прокат), в другую — пряжа, суровая ткань, готовая ткань, в третью — целлюлоза, бумажное производство. При этом все показатели, прежде всего затраты, относятся на избранную единицу агрегированного продукта (в данных примерах — это тонна готового проката, 1 млн. кв.м готовой ткани, тонна бумаги). Выбрать правильное объединение сложно, поскольку та же сталь может отпускаться потребителям (для литейных производств) не в виде проката, а в виде слитков, целлюлоза может поступать не только на бумажные комбинаты, но и на заводы искусственного волокна, где из нее делают вискозную пряжу, и т.д.
При горизонтальном А. в одну группу объединяются, например, продукты, сходные между собой либо по экономическому назначению (различные виды зерна, топлива), либо по техническим условиям производства. Это связано, однако, с дополнительными трудностями. Логично объединить в одну группу всю электроэнергию, но структура затрат на ее производство на тепловых и гидравлических станциях в корне различна. Любой сдвиг в соотношениях внутри такой объединенной отрасли резко скажется на ее показателях, необходимых для расчета. Наиболее рациональные способы А. отраслей и продуктов определяются путем экономико-математических расчетов. Основным инструментом агрегирования почти во всех экономических расчетах являются цены.
Наследование, композиция, агрегация
Нередко случается, что решив разобраться с какой-то новой темой, понятием, инструментом программирования, я читаю одну за другой статьи на различных сайтах в интернете. И, если тема сложная, то эти статьи могут не на шаг не приблизить меня к понимаю. И вдруг встречается статья, которая моментально дает озарение и все паззлы складываются воедино. Трудно определить, что отличает такую статью от других. Правильно подобранные слова, оптимальная логика изложения или же просто более релевантный пример. Я не претендую на то, что моя статься окажется новым словом в C# или же лучшей обучающей статьей. Но, возможно для кого-то она станет именно той, которая позволит разобраться, запомнить и начать правильно применять те понятия, о которых пойдет речь.
В объектно-ориентированных языках программирования существует три способа организации взаимодействия между классами. Наследование — это когда класс-наследник имеет все поля и методы родительского класса, и, как правило, добавляет какой-то новый функционал или/и поля. Наследование описывается словом «является». Легковой автомобиль является автомобилем. Вполне естественно, если он будет его наследником.
Ассоциация – это когда один класс включает в себя другой класс в качестве одного из полей. Ассоциация описывается словом «имеет». Автомобиль имеет двигатель. Вполне естественно, что он не будет являться наследником двигателя (хотя такая архитектура тоже возможна в некоторых ситуациях).
Выделяют два частных случая ассоциации: композицию и агрегацию.
Композиция – это когда двигатель не существует отдельно от автомобиля. Он создается при создании автомобиля и полностью управляется автомобилем. В типичном примере, экземпляр двигателя будет создаваться в конструкторе автомобиля.
Агрегация – это когда экземпляр двигателя создается где-то в другом месте кода, и передается в конструктор автомобиля в качестве параметра.
Хотя ведутся дискуссии о преимуществах того или иного способа организации взаимодействия между классами, какого-либо абстрактного правила не существует. Разработчик выбирает тот или иной путь основываясь на элементарной логике (“является” или “имеет”), но также принимает во внимание возможности и ограничения, которые дают и накладывают эти способы. Для того, чтобы увидеть эти возможности и ограничения, я попытался написать пример. Достаточно простой, чтобы код оставался компактным, но и достаточно развитый, чтобы в рамках одной программы можно было применить все три способа. И, главное, я попытался сделать этот пример как можно менее абстрактным – все объекты и экземпляры понятны и осязаемы.
Напишем простенькую игру – танковый бой. Играют два танка. Они поочередно стреляют и проигрывает тот, здоровье которого упало до нуля. В игре будут различные типы снарядов и брони. Для того, чтобы нанести урон необходимо во-первых, попасть по танку противника, во-вторых, пробить его броню. Если броня не пробита, урон не наносится. Логика игры построена на принципе «камень-ножницы-бумага»: то есть броня одного типа хорошо противостоит снарядам определенного типа, но плохо держит другие снаряды. Кроме того, снаряды, которые хорошо пробивают броню, наносят малый «заброневой» урон, и, напротив, наиболее «летальные» снаряды имеют меньше шансов пробить броню.
Создадим простенький класс для пушки. Он будет иметь два приватных поля: калибр и длину ствола. От калибра зависит урон, и, частично, способность к пробитию брони. От длины ствола – точность стрельбы.
Сделаем также конструктор для пушки:
Сделаем метод для получения калибра из других классов:
Помните, что для поражения цели должно произойти две вещи: попадание в цель и пробитие брони? Так вот, пушка будет отвечать за первую из них: попадание. Поэтому делаем булевый метод IsOnTarget, который принимает случайную величину (dice) и возвращает результат: попали или нет:
Целиком класс пушки выглядит следующим образом:
Здесь мы применили агрегацию. Где-то будет создана пушка. Потом к этой пушке будут создаваться снаряды, которые имеют указатель на пушку.
Теперь сделаем разные типы снарядов, которые будут наследовать абстрактный снаряд: фугасный, кумулятивный, подкалиберный. Фугасный наносит самый большой урон, кумулятивный – меньше, подкалиберный – еще меньше. Дочерние классы не имеют полей и вызывают конструктор базового снаряда, передавая ему пушку, и строковый тип. В дочернем классе переопределяется метод GetDamage() – вносятся коэффициенты, которые увеличат или уменьшат урон по сравнению с дефолтным.
Фугасный (дефолтный урон):
Кумулятивный (дефолтный урон х 0.6):
Подкалиберный (дефолтный урон х 0.3):
Обратите внимание, что в переопределенном методе GetDamage вызывается и метод базового класса. То есть, переопределив метод, мы также сохраняем возможность обратиться к дефолтному методу, использовав ключевое слово base).
Итак, для снарядов мы применили и агрегацию (пушка в базовом классе), и наследование.
Создадим теперь броню для танка. Здесь применим только наследование. Любая броня имеет толщину. Поэтому абстрактный класс брони будет иметь поле thickness, и строковое поле type, которое будет определятся при создании дочерних классов.
Броня будет в нашей игре определять пробита они или нет. Поэтому, у нее будет лишь один метод, который будет переопределяться в дочерних, в зависимости от типа брони.
Для того, чтобы конструктор танка остался более-менее компактным, сделаем два вспомогательных приватных метода, которые добавляют три типа брони соответствующей толщины, и наполняют боеукладку 10 снарядами каждого из трех типов:
Теперь конструктор танка выглядит вот таким образом:
Пользовательский интерфейс танка состоит из трех методов: выбрать броню, зарядить пушку, выстрелить.
Как я упомянул в начале, в этом примере я старался максимально уйти от абстрактных понятий, которые нужно все время держать в голове. Поэтому каждый экземпляр снаряда у нас равен физическому снаряду, который положили в боеукладку перед боем. Следовательно, снаряды могут закончится в самый неподходящий момент!
Этот интерфейс требует реализации метода Clone(). Вот она:
Теперь все супер реалистично: при выстреле генерируется dice, пушка рассчитывает попадание своим методом IsOnTarget, и, если попадание есть, то метод Shoot вернет экземпляр снаряда, а если промах – то вернет null.
Последний метод танка – его поведение при попадании вражеского снаряда:
Все готово. Остается только написать консольный (или неконсольный) вывод, в котором будет обеспечен пользовательский интерфейс и в цикле реализованы поочередные ходы игроков.
Подведем итоги. Мы написали программу, в которой использовали наследование, композицию и агрегацию, надеюсь, поняли и запомнили различия. Активно задействовали возможности полиморфизма, во-первых, когда любые экземпляры дочерних классов можно сложить в список, имеющий тип данных родительского, а во-вторых, создавая методы, которые принимают в качестве параметра родительский экземпляр, но внутри которых вызываются методы дочернего. По ходу текста я упоминал возможные альтернативные реализации – замену наследования на агрегацию, и, универсального рецепта тут нет. В нашей реализации наследование дало нам легкость добавления новых деталей в игру. Например, чтобы добавить новый тип снаряда нам нужно лишь:
Ниже – приведена диаграмма наших классов.
В финальном коде игры все «магические числа», которые использовались в тексте, вынесены в отдельный статический класс Config. К публичным полям статического класса мы можем обратиться из любого фрагмента нашего кода и его экземпляр не нужно (и невозможно) создавать. Вот так он выглядит:
