RU2813110C1 - Method and system for automatic visualization of large data arrays using search and isolation of their construction patterns - Google Patents
Method and system for automatic visualization of large data arrays using search and isolation of their construction patterns Download PDFInfo
- Publication number
- RU2813110C1 RU2813110C1 RU2023126040A RU2023126040A RU2813110C1 RU 2813110 C1 RU2813110 C1 RU 2813110C1 RU 2023126040 A RU2023126040 A RU 2023126040A RU 2023126040 A RU2023126040 A RU 2023126040A RU 2813110 C1 RU2813110 C1 RU 2813110C1
- Authority
- RU
- Russia
- Prior art keywords
- metafiles
- visualization
- store
- data
- visualization parameters
- Prior art date
Links
Abstract
Description
ОБЛАСТЬ ТЕХНИКИTECHNICAL FIELD
[1] Настоящее техническое решение, в общем, относится к области вычислительной техники, а именно к способу автоматической визуализации больших массивов данных с помощью поиска и выделения их паттернов построения.[1] This technical solution, in general, relates to the field of computer technology, namely to a method for automatically visualizing large amounts of data by searching and highlighting their construction patterns.
УРОВЕНЬ ТЕХНИКИBACKGROUND OF THE ART
[2] В настоящее время информационные системы, предлагающие пользователю возможность визуализации при анализе данных, т.е. функционал создания графиков, описывающих данные, содержат в себе ограниченный набор типов графиков, например: круговая диаграмма, временной график, сводная таблица, воронка и т.д. Далее пользователь самостоятельно выбирает наиболее информативный с его точки зрения тип графика. Данная работа требует высокой квалификации, результат всегда субъективен, и работа может занять продолжительное время.[2] Currently, information systems that offer the user the ability to visualize when analyzing data, i.e. The functionality for creating graphs that describe data contains a limited set of graph types, for example: pie chart, time graph, pivot table, funnel, etc. Next, the user independently selects the most informative type of chart from his point of view. This work requires high qualifications, the result is always subjective, and the work can take a long time.
[3] При этом в существующих подходах к визуализации результатов анализа данных в известных BI-системах график, как правило, настраивается для комбинации фильтров, что ограничивает возможности автоматизации процесса визуализации.[3] At the same time, in existing approaches to visualizing the results of data analysis in well-known BI systems, the graph, as a rule, is configured for a combination of filters, which limits the possibilities of automating the visualization process.
[4] Из уровня техники известно техническое решение, описанное в RU 2386172 «ПРАВКА ТЕКСТА ПРОИЗВОЛЬНОЙ ГРАФИКИ ПОСРЕДСТВОМ ИЕРАРХИЧЕСКОГО СПИСКА», 29.06.2005, МАЙКРОСОФТ КОРПОРЕЙШН (US): «способ программного обеспечения графики, который автоматически создает графическое содержание, когда пользователь вводит или модифицирует иерархический список данных содержания и выбирает один из множества вариантов выбора графических определений графических элементов. Кроме того, настоящее изобретение включает в себя пользовательский интерфейс с тремя разными отображениями. Первое отображение представляет пользователю одну или более галерей, включая галерею с множеством графических определений. Второе отображение представляет собой область ввода содержания. И последнее отображение представляет собой полотно для рисования». Описывается инструмент выбора типа и настройки графика человеком, речь об автоматизации не идет.[4] A technical solution is known from the prior art, described in RU 2386172 “EDITING TEXT OF ARBITRARY GRAPHICS THROUGH A HIERARCHICAL LIST”, 06/29/2005, MICROSOFT CORPORATION (US): “a method of graphics software that automatically creates graphic content when the user enters or modifies the hierarchical list of content data and selects one of a variety of selections of graphical definitions of graphical elements. In addition, the present invention includes a user interface with three different views. The first display presents the user with one or more galleries, including a gallery with multiple graphic definitions. The second display is the content input area. And the final display is a canvas to paint on.” A tool for selecting the type and setting up a chart by a person is described; there is no talk about automation.
[5] Из уровня техники известно техническое решение, описанное в RU 2488159 «РАНЖИРОВАНИЕ ТИПОВ ВИЗУАЛИЗАЦИИ НА ОСНОВАНИИ ПРИГОДНОСТИ ДЛЯ ВИЗУАЛИЗАЦИИ НАБОРА ДАННЫХ», 30.03.2009, МАЙКРОСОФТ КОРПОРЕЙШН (US): «Генерируют метаданные визуализации для каждого из множества различных типов визуализации, причем метаданные визуализации содержат данные, описывающие один или более атрибутов типа визуализации, конкретные оси и конкретную последовательность данных для каждого конкретного типа визуализации. Генерируют метаданные набора данных для набора данных, причем метаданные набора данных содержат данные, описывающие один или более атрибутов упомянутого набора данных. Вычисляют оценки пригодности для каждого из множества различных типов визуализации на основании метаданных визуализации и метаданных набора данных, при ранжировании множества различных типов визуализации на основании вычисленных оценок пригодности. Определяют превышает ли каждая из вычисленных оценок пригодности порог. Отображают на интерфейсе пользователя визуальные представления каждого из множества различных типов визуализации, когда вычисленная оценка пригодности превышает порог. Принимают выбор одного из отображенных визуальных представлений и представляют набор данных, используя типы визуализации, соответствующие выбранному визуальному представлению».[5] A technical solution is known from the prior art, described in RU 2488159 “RANKING VISUALIZATION TYPES BASED ON SUITABILITY FOR VISUALIZATION OF A DATA SET”, 03.30.2009, MICROSOFT CORPORATION (US): “Visualization metadata is generated for each of many different visualization types, and Visualization metadata contains data describing one or more attributes of a visualization type, specific axes, and a specific data sequence for each specific visualization type. Data set metadata is generated for the data set, wherein the data set metadata contains data describing one or more attributes of said data set. Suitability scores are computed for each of the plurality of different visualization types based on the visualization metadata and the dataset metadata, ranking the plurality of different visualization types based on the computed suitability scores. It is determined whether each of the calculated fitness scores exceeds a threshold. Display visual representations of each of the plurality of different types of visualizations on the user interface when the calculated fitness score exceeds a threshold. "Accept a selection of one of the displayed visual representations and present the data set using visualization types corresponding to the selected visual representation."
При этом в данном решении проводится анализ графиков из ограниченного множества и анализируются их метаданные, что ограничивает возможности автоматизации.At the same time, this solution analyzes graphs from a limited set and analyzes their metadata, which limits the possibilities of automation.
[6] Из уровня техники известна также библиотека Python AutoViz: выполняет визуализацию в виде диаграмм из плоского текстового файла. На вход библиотеке подается файл (Excel, CSV, txt или json), и AutoViz визуализирует его диаграммами и графиками. Своего интеракивного графического интерфейса не имеет. Взаимодействие с библиотекой происходит программно, через входные параметры.[6] The Python AutoViz library is also known from the prior art: it performs visualization in the form of diagrams from a flat text file. The library receives a file (Excel, CSV, txt or json) as input, and AutoViz visualizes it with charts and graphs. It does not have its own interactive graphical interface. Interaction with the library occurs programmatically, through input parameters.
[7] Недостатками данных решений являются специфические условия для автоматизации процесса визуализации результатов анализа больших массивов данных, либо отсутствие автоматизации, кроме этого существующие решения производят визуализацию недостаточно точно, с существенными искажениями.[7] The disadvantages of these solutions are the specific conditions for automating the process of visualizing the results of analyzing large amounts of data, or the lack of automation; in addition, existing solutions do not visualize accurately enough, with significant distortions.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯDISCLOSURE OF INVENTION
[8] Данное техническое решение направлено на устранение недостатков, присущих существующим решениям, известным из уровня техники.[8] This technical solution is aimed at eliminating the disadvantages inherent in existing solutions known from the prior art.
[9] Решаемой технической проблемой в данном техническом решении является обеспечение возможности автоматической визуализации больших массивов данных с помощью поиска и выделения их паттернов построения.[9] The technical problem solved in this technical solution is to provide the ability to automatically visualize large amounts of data by searching and highlighting their construction patterns.
[10] Основным техническим результатом, проявляющимся при решении вышеуказанной проблемы, является расширение арсенала технических средств путем обеспечения возможности автоматической визуализации больших массивов данных с помощью поиска и выделения их паттернов построения. Дополнительным техническим результатом является повышение точности визуализации результатов анализа больших массивов данных.[10] The main technical result that appears when solving the above problem is the expansion of the arsenal of technical means by providing the ability to automatically visualize large amounts of data by searching and highlighting their construction patterns. An additional technical result is to increase the accuracy of visualization of the results of analyzing large amounts of data.
[11] Указанные технические результаты достигаются благодаря осуществлению способа автоматической визуализации больших массивов данных с помощью поиска и выделения их паттернов построения, реализуемого с помощью процессора и устройства хранения данных, включающего следующие шаги:[11] The specified technical results are achieved thanks to the implementation of a method for automatically visualizing large amounts of data by searching and highlighting their construction patterns, implemented using a processor and a data storage device, including the following steps:
• получают датасеты и аппроксимируют их, выделяя упрощенное представление исходных данных и получая цифровые маски, хранящие паттерны их построения;• receive datasets and approximate them, highlighting a simplified representation of the source data and obtaining digital masks that store the patterns of their construction;
• по представленным датасетам строится визуализация и формируются метафайлы с соответствующими параметрами визуализации;• based on the presented datasets, a visualization is built and metafiles with the corresponding visualization parameters are generated;
• сформированные на предыдущем шаге метафайлы связываются с ранее полученными цифровыми масками;• metafiles generated at the previous step are associated with previously obtained digital masks;
• при получении нового датасета для построения визуализации его аппроксимируют и получают цифровую маску;• when receiving a new dataset for visualization, it is approximated and a digital mask is obtained;
• полученную цифровую маску сравнивают с ранее сформированными цифровым масками и при нахождении совпадения привязывают соответствующие метафайлы с параметрами визуализации;• the resulting digital mask is compared with previously generated digital masks and, if a match is found, the corresponding metafiles with visualization parameters are linked;
• формируют визуализацию нового датасета с помощью привязанных на предыдущем шаге метафайлов.• create a visualization of a new dataset using the metafiles linked in the previous step.
[12] В одном из частных примеров осуществления способа метафайлы хранят параметры визуализации с исключением пиковых значений.[12] In one of the particular examples of the method, metafiles store visualization parameters excluding peak values.
[13] В другом частном примере осуществления способа метафайлы хранят параметры визуализации с транспонированием.[13] In another particular example of the method, metafiles store rendering parameters with transposition.
[14] В другом частном примере осуществления способа метафайлы хранят параметры визуализации с дополнением тренда характеристиками интенсивности изменения.[14] In another particular example of the method, metafiles store visualization parameters with the addition of a trend with characteristics of the intensity of change.
[15] В другом частном примере осуществления способа метафайлы хранят параметры визуализации с совмещением периодов.[15] In another particular example of the method, metafiles store visualization parameters with a combination of periods.
[16] В другом частном примере осуществления способа метафайлы хранят параметры визуализации с подбором типа шкалы по осям.[16] In another particular example of the method, metafiles store visualization parameters with selection of the scale type along the axes.
[17] В другом частном примере осуществления способа метафайлы хранят параметры визуализации с установкой минимальных и максимальных ограничений по осям.[17] In another particular example of the method, metafiles store visualization parameters with the installation of minimum and maximum restrictions on the axes.
[18] Кроме того, заявленные технические результаты достигаются за счет системы автоматической визуализации больших массивов данных с помощью поиска и выделения их паттернов построения, содержащей:[18] In addition, the stated technical results are achieved through a system for automatically visualizing large amounts of data by searching and highlighting their construction patterns, containing:
• по меньшей мере одно устройство обработки данных;• at least one data processing device;
• по меньшей мере одно устройство хранения данных;• at least one data storage device;
• по меньшей мере одну программу, где одна или более программ хранятся на одном или более устройствах хранения данных и исполняются на одном и более устройствах обработки данных, причем одна или более программ обеспечивает выполнение следующих шагов:• at least one program, wherein the one or more programs are stored on one or more storage devices and executed on one or more processing devices, the one or more programs performing the following steps:
• получают датасеты и аппроксимируют их, выделяя упрощенное представление исходных данных и получая цифровые маски, хранящие паттерны их построения;• receive datasets and approximate them, highlighting a simplified representation of the source data and obtaining digital masks that store the patterns of their construction;
• по представленным датасетам строится визуализация и формируются метафайлы с соответствующими параметрами визуализации;• based on the presented datasets, a visualization is built and metafiles with the corresponding visualization parameters are generated;
• сформированные на предыдущем шаге метафайлы связываются с ранее полученными цифровыми масками;• metafiles generated at the previous step are associated with previously obtained digital masks;
• при получении нового датасета для построения визуализации его аппроксимируют и получают цифровую маску;• when receiving a new dataset for visualization, it is approximated and a digital mask is obtained;
• полученную цифровую маску сравнивают с ранее сформированными цифровым масками и при нахождении совпадения привязывают соответствующие метафайлы с параметрами визуализации;• the resulting digital mask is compared with previously generated digital masks and, if a match is found, the corresponding metafiles with visualization parameters are linked;
• формируют визуализацию нового датасета с помощью привязанных на предыдущем шаге метафайлов.• create a visualization of a new dataset using the metafiles linked in the previous step.
[19] В одном из частных примеров осуществления системы метафайлы хранят параметры визуализации с исключением пиковых значений.[19] In one of the particular examples of the implementation of the system, metafiles store visualization parameters with the exception of peak values.
[20] В другом частном примере осуществления системы метафайлы хранят параметры визуализации с транспонированием.[20] In another particular embodiment of the system, metafiles store transposed rendering parameters.
[21] В другом частном примере осуществления системы метафайлы хранят параметры визуализации с дополнением тренда характеристиками интенсивности изменения.[21] In another particular example of the implementation of the system, metafiles store visualization parameters with the addition of a trend with characteristics of the intensity of change.
[22] В другом частном примере осуществления системы метафайлы хранят параметры визуализации с совмещением периодов.[22] In another particular example of the implementation of the system, metafiles store visualization parameters with a combination of periods.
[23] В другом частном примере осуществления системы метафайлы хранят параметры визуализации с подбором типа шкалы по осям.[23] In another particular example of the implementation of the system, metafiles store visualization parameters with selection of the scale type along the axes.
[24] В другом частном примере осуществления системы метафайлы хранят параметры визуализации с установкой минимальных и максимальных ограничений по осям.[24] In another particular example of the implementation of the system, metafiles store visualization parameters with the installation of minimum and maximum restrictions on the axes.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙBRIEF DESCRIPTION OF THE DRAWINGS
[25] Признаки и преимущества настоящего технического решения станут очевидными из приводимого ниже подробного описания и прилагаемых чертежей, на которых:[25] The features and advantages of the present technical solution will become apparent from the following detailed description and the accompanying drawings, in which:
Фиг. 1 иллюстрирует блок-схему выполнения заявленного способа.Fig. 1 illustrates a block diagram of the claimed method.
Фиг. 2 иллюстрирует пример упрощенного представления графика.Fig. Figure 2 illustrates an example of a simplified graph representation.
Фиг. 3 иллюстрирует пример построения цифровой маски на основе датасета.Fig. Figure 3 illustrates an example of constructing a digital mask based on a dataset.
Фиг. 4 иллюстрирует пример аппроксимации датасета.Fig. Figure 4 illustrates an example of dataset approximation.
Фиг. 5 иллюстрирует пример упрощенной маски датасета.Fig. Figure 5 illustrates an example of a simplified dataset mask.
Фиг. 6 иллюстрирует примеры графика с пиктограммами, показывающими интенсивность изменения (роста или падения) показателя.Fig. 6 illustrates examples of a graph with icons showing the intensity of change (growth or fall) of the indicator.
Фиг. 7 иллюстрирует помесячную историю некоторого показателя в течение 2 лет.Fig. 7 illustrates the monthly history of some indicator over 2 years.
Фиг. 8 иллюстрирует пример совмещенной визуализации.Fig. 8 illustrates an example of fusion imaging.
Фиг. 9 иллюстрирует систему для реализации заявленного способа.Fig. 9 illustrates a system for implementing the claimed method.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯIMPLEMENTATION OF THE INVENTION
[26] Ниже будут описаны термины и понятия, необходимые для реализации настоящего технического решения.[26] The terms and concepts necessary for the implementation of this technical solution will be described below.
[27] Датасет или набор данных (data set или dataset) - это коллекция данных. В случае с табличными данными набор данных соответствует одной или нескольким таблицам баз данных, где каждый столбец таблицы соответствует отдельной переменной, и каждая строка соответствует записи в наборе данных. Наборы данных хранят значения для каждой переменной, например высоту и вес объекта, для каждого члена набора данных. Наборы данных могут также состоять из коллекции документов или файлов.[27] A data set or dataset is a collection of data. In the case of tabular data, a data set corresponds to one or more database tables, where each table column corresponds to a different variable, and each row corresponds to a record in the data set. Datasets store values for each variable, such as the height and weight of an object, for each member of the dataset. Datasets can also consist of a collection of documents or files.
[28] Заявленное техническое решение может выполняться, например системой, машиночитаемым носителем, сервером и т.д. В данном техническом решении под системой подразумевается в том числе компьютерная система, ЭВМ (электронно-вычислительная машина), ЧПУ (числовое программное управление), ПЛК (программируемый логический контроллер), компьютеризированные системы управления и любые другие устройства, способные выполнять заданную, четко определенную последовательность операций (действий, инструкций).[28] The claimed technical solution can be implemented, for example, by a system, machine-readable medium, server, etc. In this technical solution, a system means, inter alia, a computer system, a computer (electronic computer), CNC (computer numerical control), PLC (programmable logic controller), computerized control systems and any other devices capable of executing a given, clearly defined sequence operations (actions, instructions).
[29] Под устройством обработки команд подразумевается электронный блок либо интегральная схема (микропроцессор), исполняющая машинные инструкции (программы).[29] A command processing device means an electronic unit or an integrated circuit (microprocessor) that executes machine instructions (programs).
[30] Устройство обработки команд считывает и выполняет машинные инструкции (программы) с одного или более устройства хранения данных, например таких устройств как оперативно запоминающие устройства (ОЗУ) и/или постоянные запоминающие устройства (ПЗУ). В качестве ПЗУ могут выступать, включая, но не ограничиваясь, жесткие диски (HDD), флеш-память, твердотельные накопители (SSD), оптические носители данных (CD, DVD, BD, MD и т.п.) и др.[30] An instruction processing device reads and executes machine instructions (programs) from one or more storage devices, such as devices such as random access memory (RAM) and/or read only memory (ROM). ROM can be, including, but not limited to, hard drives (HDD), flash memory, solid-state drives (SSD), optical storage media (CD, DVD, BD, MD, etc.), etc.
[31] Программа - последовательность инструкций, предназначенных для исполнения устройством управления вычислительной машины или устройством обработки команд.[31] Program - a sequence of instructions intended for execution by a computer control device or a command processing device.
[32] Термин «инструкции», используемый в этой заявке, может относиться, в общем, к программным инструкциям или программным командам, которые написаны на заданном языке программирования для осуществления конкретной функции, такой как, например, получение и обработка данных, формирование профиля пользователя, прием и передача сигналов, анализ принятых данных, идентификация пользователя и т.п.Инструкции могут быть осуществлены множеством способов, включающих в себя, например, объектно-ориентированные методы. Например, инструкции могут быть реализованы, посредством языка программирования С++, Java, Python, различных библиотек (например, Microsoft Foundation Classes) и т.д. Инструкции, осуществляющие процессы, описанные в этом решении, могут передаваться как по проводным, так и по беспроводным каналам передачи данных, например, Wi-Fi, Bluetooth, USB, WLAN, LAN и т.п.[32] The term "instructions" as used in this application may refer generally to software instructions or software commands that are written in a given programming language to perform a specific function, such as, for example, retrieving and processing data, generating a user profile , reception and transmission of signals, analysis of received data, user identification, etc. Instructions can be implemented in a variety of ways, including, for example, object-oriented methods. For example, instructions can be implemented using the programming language C++, Java, Python, various libraries (for example, Microsoft Foundation Classes), etc. Instructions that carry out the processes described in this solution can be transmitted over both wired and wireless data channels, for example, Wi-Fi, Bluetooth, USB, WLAN, LAN, etc.
[33] Представленный способ автоматической визуализации больших массивов данных с помощью поиска и выделения их паттернов построения (на Фиг. 1 представлена схема способа) решает задачи обеспечения возможности автоматической визуализации больших массивов данных с помощью поиска и выделения их паттернов построения и повышения точности визуализации результатов анализа больших массивов данных за счет последовательного выполнения следующих шагов:[33] The presented method for automatic visualization of large amounts of data by searching and highlighting their construction patterns (Fig. 1 shows a diagram of the method) solves the problem of providing the ability to automatically visualize large amounts of data by searching and highlighting their construction patterns and increasing the accuracy of visualization of analysis results large amounts of data by sequentially performing the following steps:
• получают датасеты и аппроксимируют их, выделяя упрощенное представление исходных данных и получая цифровые маски, хранящие паттерны их построения;• receive datasets and approximate them, highlighting a simplified representation of the source data and obtaining digital masks that store the patterns of their construction;
• по представленным датасетам строится визуализация и формируются метафайлы с соответствующими параметрами визуализации;• based on the presented datasets, a visualization is built and metafiles with the corresponding visualization parameters are generated;
• сформированные на предыдущем шаге метафайлы связываются с ранее полученными цифровыми масками;• metafiles generated at the previous step are associated with previously obtained digital masks;
• при получении нового датасета для построения визуализации его аппроксимируют и получают цифровую маску;• when receiving a new dataset for visualization, it is approximated and a digital mask is obtained;
• полученную цифровую маску сравнивают с ранее сформированными цифровым масками и при нахождении совпадения привязывают соответствующие метафайлы с параметрами визуализации;• the resulting digital mask is compared with previously generated digital masks and, if a match is found, the corresponding metafiles with visualization parameters are linked;
• формируют визуализацию нового датасета с помощью привязанных на предыдущем шаге метафайлов.• create a visualization of a new dataset using the metafiles linked in the previous step.
[34] На первом этапе способа датасет «упрощается» и это упрощенное представление графика является ключом настройки (в паре «ключ настройки - значение настройки»). Упрощение происходит на основе методик и алгоритмов аппроксимации данных. Выбор конкретного способа аппроксимации исходного датасета не важен для описываемого технического решения. Аппроксимация датасета необходима для получения упрощенного представления исходных данных с тем, чтобы на основе такого представления автоматизировать повторное использование оптимальных настроек графического представления данных. Автоматизация достигается за счет того, что аппроксимированные данные становятся цифровой маской исходных данных и обладают следующими свойствами:[34] At the first stage of the method, the dataset is “simplified” and this simplified representation of the graph is the setting key (in the pair “setting key - setting value”). Simplification occurs on the basis of data approximation techniques and algorithms. The choice of a specific method for approximating the original dataset is not important for the described technical solution. Dataset approximation is necessary to obtain a simplified representation of the source data in order to automate the reuse of optimal settings for the graphical representation of data based on such a representation. Automation is achieved due to the fact that the approximated data becomes a digital mask of the original data and has the following properties:
• построены на основе исходных данных;• built on the basis of initial data;
• отражают характерные особенности исходных данных;• reflect the characteristic features of the source data;
• имеют малый размер для удобства хранения и построения связи с настройками визуализации.• have a small size for easy storage and connection with visualization settings.
[35] Полученная именно таким образом, цифровая маска будет являться ключом настройки. При этом непосредственное применение функций свертки (хеш-функций) к исходным данным, без аппроксимации, даст уникальный отпечаток именно этих данных и не позволит проводить сравнение датасетов, с целью выявить подобие.[35] The digital mask obtained in this way will be the configuration key. At the same time, direct application of convolution functions (hash functions) to the original data, without approximation, will give a unique fingerprint of this particular data and will not allow comparison of datasets in order to identify similarity.
[36] В описываемом решении искомый ключ настройки, с одной стороны, является непосредственным образом аппроксимированного датасета, сохраняет сведения о его характерных особенностях, а с другой стороны, не является строгим идентификатором исходного датасета. Нахождение подобия по полученным таким образом идентификаторам позволяет распознавать данные, имеющие схожие по картине распределения значения, наличию периодической цикличности, другие характерные особенности и автоматически применять для визуализации ранее подобранные оптимальные настройки. Например, упрощенному представлению графика на Фиг. 2 соответствует цифровая маска:[36] In the described solution, the required configuration key, on the one hand, is a direct image of the approximated dataset, stores information about its characteristic features, and on the other hand, is not a strict identifier of the original dataset. Finding similarity using the identifiers obtained in this way allows you to recognize data that has a similar value distribution pattern, the presence of periodic cyclicity, and other characteristic features, and automatically apply previously selected optimal settings for visualization. For example, a simplified representation of the graph in FIG. 2 corresponds to a digital mask:
Это значение приблизительно отражает состав исходных данных, при этом оно достаточно компактно, что позволяет использовать его в качестве ключа для построения связи с набором настроек визуализации.This value approximately reflects the composition of the source data, and it is quite compact, which allows it to be used as a key to build a connection with a set of visualization settings.
Например, на Фиг. 2, шкалы X и Y разбиваются на N частей и строится «пиксельное» представление графика - если график попадает в квадрат, то значение квадрата становится равным 1. Таким образом, в этом примере датасет «упрощается» до двумерного массива N*N и от этого упрощенного представления легко и быстро посчитать хэш-значение. В примере на Фиг. 2 проиллюстрировано загрубленное (пикселизированное) представление графика функции синус. Или, например, от графика берется производная, значение которой может быть, всегда положительно. Или, например, от графика можно взять минимальные и максимальные значения шкал. Изначально, когда для анализируемого датасета нет (или не найдено) метаданных настройки, визуализация происходит по исходным данным «как есть» без применения каких-либо настроек. Далее, ознакомившись с таким первоначальным графиком, пользователь может воспользоваться системой поиска более оптимального (удобного для анализа) отображения графика данных, включая:For example, in FIG. 2, the X and Y scales are divided into N parts and a “pixel” representation of the graph is built - if the graph falls into a square, then the value of the square becomes equal to 1. Thus, in this example, the dataset is “simplified” to a two-dimensional N * N array and from there simplified representation, it is easy and quick to calculate the hash value. In the example in FIG. Figure 2 illustrates a coarsened (pixelated) representation of the graph of the sine function. Or, for example, a derivative is taken from the graph, the value of which can always be positive. Or, for example, you can take the minimum and maximum scale values from the graph. Initially, when there is no (or not found) configuration metadata for the analyzed dataset, visualization occurs based on the original data “as is” without applying any settings. Next, having become familiar with this initial graph, the user can use the system to search for a more optimal (convenient for analysis) display of the data graph, including:
- исключение пиковых значений;- exclusion of peak values;
- транспонирование;- transposition;
- дополнение тренда характеристиками интенсивности изменения;- supplementing the trend with characteristics of the intensity of change;
- совмещение периодов;- combination of periods;
- подбор типа шкалы по осям;- selection of scale type along the axes;
- установка min/max-ограничений по осям.- setting min/max limits on axes.
Полученные на данном этапе настройки визуализации сохраняются, ключом поиска для их повторного использования становится цифровая маска исходного датасета:The visualization settings obtained at this stage are saved, and the search key for their reuse becomes the digital mask of the original dataset:
[цифровая маска] => [набор настроек][digital mask] => [set of settings]
Например: см. таблицу ниже (связь Маска ->Настройка)For example: see the table below (link Mask -> Settings)
Рассмотрим пример построения цифровой маски на основе датасета, представленного на Фиг. 3.Let's consider an example of constructing a digital mask based on the dataset presented in Fig. 3.
Аппроксимируем данный датасет с шагом 4 по осям X и Y (на Фиг. 4).We approximate this dataset with a step of 4 along the X and Y axes (in Fig. 4).
Таким образом, мы получим упрощенную маску исходного датасета, удовлетворяющую нашим требованиям - близкую к исходному, но более простую: представлено на Фиг. 5.Thus, we will obtain a simplified mask of the original dataset that meets our requirements - close to the original one, but simpler: shown in Fig. 5.
Если размер исходного датасета достаточно велик, так, что за одну итерацию аппроксимации с выбранным шагом получается более 1000 точек, операцию следует повторять до получения маски менее 1000 точек.If the size of the original dataset is large enough that one iteration of approximation with the selected step produces more than 1000 points, the operation should be repeated until a mask of less than 1000 points is obtained.
[37] Получение цифровых масок датасетов происходит на основе известных методик и алгоритмов аппроксимации данных, возможно использование готовых библиотек, реализующих необходимый функционал аппроксимации. Функционал поиска и связи реализован на уровне баз данных в языке SQL.[37] Obtaining digital masks of datasets is based on well-known data approximation techniques and algorithms; it is possible to use ready-made libraries that implement the necessary approximation functionality. The search and communication functionality is implemented at the database level in the SQL language.
[38] В качестве дополнительного примера практического применения приведем исключение из анализа точек с пиковыми значениями. В ручном режиме исключение точек реализовано через интерактивное взаимодействие пользователя с точками/узлами графика. В автоматическом режиме, с исрпользованием описанного технического решения выявляются точки со значительно отличающимися значениями от основного массива значений. Затем устанавливают порядок размерности отличия: в 10 раз, в 100 раз, и т.д. Если такие точки/узлы находятся, они исключаются (либо предлагаются к исключению) из визуализации графика.[38] As an additional example of practical application, we present the exclusion of points with peak values from the analysis. In manual mode, point exclusion is implemented through user interaction with the points/nodes of the graph. In automatic mode, using the described technical solution, points with significantly different values from the main array of values are identified. Then the order of the dimension of the difference is established: 10 times, 100 times, etc. If such points/nodes are found, they are excluded (or proposed for exclusion) from the graph visualization.
[39] Для выявления точек с пиковыми значениями сначала рассчитывается среднее значение исследуемого показателя в представленных для анализа календарных границах. Затем происходит оценка порядка отклонения значений от среднего по набору данных в целом. Оценка происходит последовательно от большего порядка к меньшему. Если найдены значения больше/меньше среднего в 1000 раз - они исключаются (или предлагаются к исключению) при визуализации. Если такого порядка отклонений нет, происходит поиск значении с меньшим порядком в 100 раз/10 раз и т.д. При этом у пользователя есть возможность управлять шагом порядка отклонения или остановить работу алгоритма на произвольном шаге.[39] To identify points with peak values, the average value of the indicator under study is first calculated within the calendar boundaries presented for analysis. Then the order of deviation of values from the average for the data set as a whole is assessed. The evaluation occurs sequentially from higher to lower order. If values are found that are 1000 times greater/less than the average, they are excluded (or suggested for exclusion) during visualization. If there is no such order of deviations, a search is made for a value with a lower order of 100 times/10 times, etc. In this case, the user has the opportunity to control the deviation order step or stop the algorithm at an arbitrary step.
[40] В рамках данной задачи, для оценки отклонений допустимо применение готовых библиотек, реализующих распространенные статистические методики. Новизна применения достигается за счет применения данного инструмента уже во время визуализации с возможностью ручной настройки процесса пользователем для поиска наиболее подходящего способа графического представления данных.[40] Within the framework of this task, to assess deviations, it is permissible to use ready-made libraries that implement common statistical techniques. The novelty of the application is achieved through the use of this tool already during visualization with the ability to manually configure the process by the user to find the most suitable way to graphically represent data.
[41] В качестве еще одного дополнительного примера практического применения приведем выявление и обозначение на тренде графика характеристик интенсивности изменения.[41] As another additional example of practical application, we present the identification and designation of a graph of characteristics of the intensity of change on a trend.
Выявляются участки графика, имеющие:Sections of the graph are identified that have:
• неизменное значение производной (участок с равномерным изменением показателя);• constant value of the derivative (section with a uniform change in the indicator);
• монотонное изменение производной первого порядка и производная второго порядка неизменна (участок монотонного ускорения/замедления изменения показателя);• monotonic change of the first-order derivative and the second-order derivative is unchanged (section of monotonic acceleration/deceleration of the change in the indicator);
• монотонное изменение производной второго порядка и производная третьего порядка неизменна (участок интенсивного ускорения/замедления изменения показателя). Затем, в соответствии с выявленными участками на графике располагаются пиктограммы, иллюстрирующие интенсивность изменения (роста или падения) показателя (на Фиг. 6).• monotonic change of the second-order derivative and the third-order derivative is unchanged (a section of intensive acceleration/deceleration of changes in the indicator). Then, in accordance with the identified areas, pictograms are placed on the graph, illustrating the intensity of change (growth or fall) of the indicator (in Fig. 6).
[42] В качестве дополнительного примера практического применения приведем совмещение сегментов периодических (календарных) трендов для выявления цикличности изменений (либо отклонений цикличности). Например, на Фиг. 7 последовательно показана помесячная история некоторого показателя в течении 2 лет.[42] As an additional example of practical application, we present the combination of segments of periodic (calendar) trends to identify the cyclical nature of changes (or deviations of cyclicality). For example, in FIG. Figure 7 consistently shows the monthly history of a certain indicator for 2 years.
Используя описанное техническое решение автоматически выявляется наличие полной ежемесячной истории за 2-летний период и предлагается вариант совмещенной визуализации, см. на Фиг. 8.Using the described technical solution, the presence of a complete monthly history for a 2-year period is automatically detected and a combined visualization option is offered, see Fig. 8.
Совмещенная визуализация, таким образом, позволит наглядно оценить динамику показателя в сравнении период-к-периоду.The combined visualization will thus make it possible to clearly assess the dynamics of the indicator in a period-to-period comparison.
[43] В общем виде (см. Фиг. 9) система автоматической визуализации больших массивов данных с помощью поиска и выделения их паттернов построения (900) содержит объединенные общей шиной информационного обмена один или несколько процессоров (901), средства памяти, такие как ОЗУ (902) и ПЗУ (903) и интерфейсы ввода/вывода (904).[43] In general (see Fig. 9), a system for automatically visualizing large amounts of data by searching and highlighting their construction patterns (900) contains one or more processors (901) united by a common information exchange bus, memory devices such as RAM (902) and ROM (903) and input/output interfaces (904).
[44] Процессор (901) (или несколько процессоров, многоядерный процессор и т.п.) может выбираться из ассортимента устройств, широко применяемых в настоящее время, например, таких производителей, как: Intel™, AMD™, Apple™, Samsung Exynos™, MediaTEK™, Qualcomm Snapdragon™ и т.п. Под процессором или одним из используемых процессоров в системе (900) также необходимо учитывать графический процессор, например, GPU NVIDIA с программной моделью, совместимой с CUDA, или Graphcore, тип которых также является пригодным для полного или частичного выполнения способа, а также может применяться для обучения и применения моделей машинного обучения в различных информационных системах.[44] The processor (901) (or multiple processors, multi-core processor, etc.) may be selected from a variety of devices commonly used today, such as from manufacturers such as: Intel™, AMD™, Apple™, Samsung Exynos ™, MediaTEK™, Qualcomm Snapdragon™, etc. The processor or one of the processors used in the system (900) must also include a graphics processor, for example an NVIDIA GPU with a CUDA-compatible programming model or Graphcore, the type of which is also suitable for carrying out the method in whole or in part, and can also be used for training and application of machine learning models in various information systems.
[45] ОЗУ (902) представляет собой оперативную память и предназначено для хранения исполняемых процессором (901) машиночитаемых инструкций для выполнения необходимых операций по логической обработке данных. ОЗУ (902), как правило, содержит исполняемые инструкции операционной системы и соответствующих программных компонент (приложения, программные модули и т.п.). При этом, в качестве ОЗУ (902) может выступать доступный объем памяти графической карты или графического процессора.[45] RAM (902) is a random access memory and is designed to store machine-readable instructions executable by the processor (901) to perform the necessary logical data processing operations. RAM (902) typically contains executable operating system instructions and associated software components (applications, program modules, etc.). In this case, the available memory capacity of the graphics card or graphics processor can act as RAM (902).
[46] ПЗУ (903) представляет собой одно или более устройств постоянного хранения данных, например, жесткий диск (HDD), твердотельный накопитель данных (SSD), флэш-память (EEPROM, NAND и т.п.), оптические носители информации (CD-R/RW, DVD-R/RW, BlueRay Disc, MD) и др.[46] A ROM (903) is one or more permanent storage devices, such as a hard disk drive (HDD), a solid state drive (SSD), flash memory (EEPROM, NAND, etc.), optical storage media ( CD-R/RW, DVD-R/RW, BlueRay Disc, MD), etc.
[47] Для организации работы компонентов устройства (900) и организации работы внешних подключаемых устройств применяются различные виды интерфейсов В/В (904). Выбор соответствующих интерфейсов зависит от конкретного исполнения вычислительного устройства, которые могут представлять собой, не ограничиваясь: PCI, AGP, PS/2, IrDa, FireWire, LPT, COM, SATA, IDE, Lightning, USB (2.0, 3.0, 3.1, micro, mini, type C), TRS/Audio jack (2.5, 3.5, 6.35), HDMI, DVI, VGA, Display Port, RJ45, RS232 и т.п.[47] To organize the operation of device components (900) and organize the operation of external connected devices, various types of I/O interfaces (904) are used. The choice of appropriate interfaces depends on the specific design of the computing device, which can be, but is not limited to: PCI, AGP, PS/2, IrDa, FireWire, LPT, COM, SATA, IDE, Lightning, USB (2.0, 3.0, 3.1, micro, mini, type C), TRS/Audio jack (2.5, 3.5, 6.35), HDMI, DVI, VGA, Display Port, RJ45, RS232, etc.
[48] Для обеспечения взаимодействия пользователя с устройством (900) применяются различные средства (905) В/В информации, например, клавиатура, дисплей (монитор), сенсорный дисплей, тач-пад, джойстик, манипулятор мышь, световое перо, стилус, сенсорная панель, трекбол, динамики, микрофон, средства дополненной реальности, оптические сенсоры, планшет, световые индикаторы, проектор, камера, средства биометрической идентификации (сканер сетчатки глаза, сканер отпечатков пальцев, модуль распознавания голоса) и т.п.[48] To ensure user interaction with the device (900), various means (905) of I/O information are used, for example, keyboard, display (monitor), touch display, touch pad, joystick, mouse, light pen, stylus, touch panel, trackball, speakers, microphone, augmented reality tools, optical sensors, tablet, light indicators, projector, camera, biometric identification tools (retina scanner, fingerprint scanner, voice recognition module), etc.
[49] Средство сетевого взаимодействия (906) обеспечивает передачу данных посредством внутренней или внешней вычислительной сети, например, Интранет, Интернет, ЛВС и т.п.В качестве одного или более средств (906) может использоваться, но не ограничиваться: Ethernet карта, GSM модем, GPRS модем, LTE модем, 5G модем, модуль спутниковой связи, NFC модуль, Bluetooth и/или BLE модуль, Wi-Fi модуль и др.[49] The network communication means (906) provides data transmission via an internal or external computer network, for example, Intranet, Internet, LAN, etc. One or more means (906) can be used, but not limited to: an Ethernet card, GSM modem, GPRS modem, LTE modem, 5G modem, satellite communication module, NFC module, Bluetooth and/or BLE module, Wi-Fi module, etc.
[50] Конкретный выбор элементов устройства (900) для реализации различных программно-аппаратных архитектурных решений может варьироваться с сохранением обеспечиваемого требуемого функционала. В частности, подобная реализация может быть выполнена с помощью электронных компонент, используемых для создания цифровых интегральных схем. Не ограничиваясь, могут быть использоваться микросхемы, логика работы которых определяется при изготовлении, или программируемые логические интегральные схемы (ПЛИС), логика работы которых задается посредством программирования. Для программирования используются программаторы и отладочные среды, позволяющие задать желаемую структуру цифрового устройства в виде принципиальной электрической схемы или программы на специальных языках описания аппаратуры: Verilog, VHDL, AHDL и др. Альтернативой ПЛИС являются: программируемые логические контроллеры (ПЛК), базовые матричные кристаллы (БМК), требующие заводского производственного процесса для программирования; ASIC - специализированные заказные большие интегральные схемы (БИС), которые при мелкосерийном и единичном производстве существенно дороже. Таким образом, реализация может быть достигнута стандартными средствами, базирующимися на классических принципах реализации основ вычислительной техники.[50] The specific selection of device elements (900) for implementing various software and hardware architectural solutions can vary while maintaining the required functionality provided. In particular, such an implementation can be performed using electronic components used to create digital integrated circuits. Without limitation, microcircuits can be used, the logic of which is determined during manufacture, or programmable logic integrated circuits (FPGAs), the logic of which is specified by programming. For programming, programmers and debugging environments are used to set the desired structure of a digital device in the form of a circuit diagram or program in special hardware description languages: Verilog, VHDL, AHDL, etc. An alternative to FPGAs are: programmable logic controllers (PLCs), basic matrix crystals ( BMK) requiring a factory production process for programming; ASICs are specialized custom large-scale integrated circuits (LSIs), which are significantly more expensive for small-scale and single-piece production. Thus, implementation can be achieved by standard means based on the classical principles of implementing the fundamentals of computer technology.
[51] Представленные материалы заявки раскрывают предпочтительные примеры реализации технического решения и не должны трактоваться как ограничивающие иные, частные примеры его воплощения, не выходящие за пределы испрашиваемой правовой охраны, которые являются очевидными для специалистов соответствующей области техники.[51] The submitted application materials disclose preferred examples of implementation of a technical solution and should not be interpreted as limiting other, particular examples of its implementation that do not go beyond the scope of the requested legal protection, which are obvious to specialists in the relevant field of technology.
Claims (29)
Publications (1)
Publication Number | Publication Date |
---|---|
RU2813110C1 true RU2813110C1 (en) | 2024-02-06 |
Family
ID=
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090016641A1 (en) * | 2007-06-19 | 2009-01-15 | Gianluca Paladini | Method and apparatus for efficient client-server visualization of multi-dimensional data |
RU2488159C2 (en) * | 2008-05-13 | 2013-07-20 | Майкрософт Корпорейшн | Ranging of visualisation types based on data set suitability for visualisation |
WO2017111197A1 (en) * | 2015-12-24 | 2017-06-29 | 한국교육학술정보원 | Big data visualisation system and method in learning analysis |
US20180225416A1 (en) * | 2017-02-08 | 2018-08-09 | 10X Genomics, Inc. | Systems and methods for visualizing a pattern in a dataset |
RU2017102380A (en) * | 2017-02-28 | 2019-08-19 | Общество с ограниченной ответственностью "Кибердинамика" | Method for visual display of data structure in the form of a graph of data clusters and interactive analysis of anomalies of multiple data sources, system and device for implementing the method |
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090016641A1 (en) * | 2007-06-19 | 2009-01-15 | Gianluca Paladini | Method and apparatus for efficient client-server visualization of multi-dimensional data |
RU2488159C2 (en) * | 2008-05-13 | 2013-07-20 | Майкрософт Корпорейшн | Ranging of visualisation types based on data set suitability for visualisation |
WO2017111197A1 (en) * | 2015-12-24 | 2017-06-29 | 한국교육학술정보원 | Big data visualisation system and method in learning analysis |
US20180225416A1 (en) * | 2017-02-08 | 2018-08-09 | 10X Genomics, Inc. | Systems and methods for visualizing a pattern in a dataset |
RU2017102380A (en) * | 2017-02-28 | 2019-08-19 | Общество с ограниченной ответственностью "Кибердинамика" | Method for visual display of data structure in the form of a graph of data clusters and interactive analysis of anomalies of multiple data sources, system and device for implementing the method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3580653B1 (en) | Automated interface design | |
US10970431B2 (en) | Automated model development process | |
US12112102B2 (en) | Techniques for applying generative design to the configuration of mechanical assemblies | |
EP2827240A1 (en) | Method for generating control-code by a control-code-diagram | |
US7552032B2 (en) | Method and system for automated design | |
JP2006318448A (en) | Method for automating software manufacturing process based on user interface form design, and computer readable medium recording computer executable instruction for performing the same | |
CN111553485A (en) | View display method, device, device and medium based on federated learning model | |
CN111723426A (en) | Building design method and system based on BIM | |
US10423416B2 (en) | Automatic creation of macro-services | |
CN110956261A (en) | Method and system for determining evaluation index | |
CN109376153A (en) | A system and method for writing data to graph database based on NiFi | |
RU2813110C1 (en) | Method and system for automatic visualization of large data arrays using search and isolation of their construction patterns | |
CN111985014A (en) | Modeling method and system based on standard atlas | |
US20240054385A1 (en) | Experiment point recommendation device, experiment point recommendation method, and semiconductor device manufacturing device | |
CN110414142A (en) | The parametric modeling method of concentrator | |
WO2021062113A1 (en) | Architectural design software incorporating intelligent data-driven user guidance | |
JPWO2006100712A1 (en) | Design support device, design support method, design support program | |
CN114066110A (en) | System for providing machine learning service for user | |
RU2724799C1 (en) | Information processing method for filling data model library and device for its implementation | |
RU2805382C1 (en) | Method and system for integrating date of information systems for their subsequent visualization | |
Cibulski et al. | Super-ensembler: Interactive visual analysis of data surface sets | |
EP4182830A1 (en) | Subdivision-based surface editor | |
WO2024225933A1 (en) | Aggregating data from information systems for visualization | |
RU2830595C2 (en) | Method of creating new version of single information object containing at least one additional information element | |
WO2024158312A2 (en) | Method and system for processing data with the aid of hashing for subsequent extraction and use of the data |