Обновить
39.24

Визуализация данных *

Облекаем данные в красивую оболочку

Сначала показывать
Порог рейтинга
Уровень сложности

Сбор и визуализация метрик приложения в Graphite и Graph-Explorer

Время на прочтение9 мин
Охват и читатели75K
Зачастую возникает необходимость отслеживать различные параметры работы приложения/сервиса. Например, интерес представляет количество запросов в секунду, среднее время ответа сервера, количество ответов сервера с различным HTTP-статусом (технические метрики), количество регистраций пользователей в час, количество платежных транзакций в минуту (бизнес-метрики) и пр. Без системы сбора метрик разработка и сопровождение продукта происходит практически вслепую.



Данная статья является руководством по настройке системы сбора и анализа метрик приложения на базе Graphite и vimeo/graph-explorer.
Читать дальше →

Данные с Arduino в виде диаграмм и графиков

Время на прочтение10 мин
Охват и читатели66K
Иногда требуется, не считывая детальную информацию с множества датчиков, просто оценить текущее состояние системы и динамику изменения ее состояния за какой-то период. Вот и мне захотелось сделать устройство, показывающее изменения данных с датчиков в виде красивых картинок небольших диаграмм, которые можно просмотреть в окне браузера мобильных устройств или компьютера, подключенных в локальную сеть. При этом определяющим фактором была минимальная стоимость, и простота реализации.

После перебора различных вариантов решения этой задачи обратил внимание на микроконтроллеры Arduino. Плюсом данных устройств является простота получения необходимого «железного» функционала путем простого соединения элементов. Например, для получения возможности соединения с локальной сетью достаточно на основную плату надеть сверху плату сетевого адаптера. Главное, чтобы при этом совпали соответствующие разъемы.

image
Читать дальше →

Экран с бесконечным количеством пикселей

Время на прочтение9 мин
Охват и читатели55K
image

На прошлой неделе я обновил свои мониторы. Выбросил Apple Cinema Display и на их место взял 4К-мониторы от Dell. Как печатнику, мне понравился предыдущий апгрейд с чёрно-белых до grayscale-мониторов в 90-х годах. Но 4К – ещё лучше. Дисплеи высокого разрешения уже пришли на смартфоны и планшеты. Приятно, что они появляются и у ноутбуков и декстопов. Шрифты выглядят чудесно.

Хотя – хорошие шрифты выглядят чудесно. Плохие выглядят хуже – они уже не спрячутся за плохо различимыми гранями грубых пикселей. Если вы работаете с текстом – читаете, пишете, программируете, рисуете (а это охватывает чуть ли не все профессии), то апгрейд на 4К стоит того.

image

Но что есть «4К»? С лёгкой руки маркетологов, это экран размера 3840 на 2160 пикселей (3840 – это ну почти 4000). По каждой из сторон разрешение в два раза больше, чем у HDTV, то есть 1920х1080.

Спервоначалу люди говорили, что у 4К-экранов «в два раза больше пикселей». На самом деле, если вы удвоите количество пикселей линейно, это всё равно, что вы разрежете каждый пиксель как по вертикали и по горизонтали. То есть, на экране 4К в 4 раза больше пикселей, чем у HDTV.

И, что характерно, на этом останавливаться никто не собирается, на горизонте уже дисплеи 7680 х 4320, известные как 8К. С другой стороны, разрешение, воспринимаемое человеческим глазом, имеет границы. Переход на 4К заметен. На 8К – менее заметен. В какой-то момент нужно будет перестать делить пиксели.

Но что, если они не перестанут? Что, если они будут делить пиксели бесконечно? Сколько тогда пикселей будет на экране?

а) по количеству положительных целых чисел
б) меньше
в) больше

Если вам не интересна математика, тогда итог статьи такой: купите 4К-монитор. Не стоит благодарности.
Читать дальше →

Анализ журнала аудита Caché c помощью Caché (DeepSee)

Время на прочтение4 мин
Охват и читатели3.8K
В поставку СУБД Caché, кроме самого сервера базы данных, входит технология для «real-time» бизнес-аналитики DeepSee. Её использование – это наиболее быстрый способ добавить OLAP функциональность к вашему приложению на Caché.

Другим элементом установки является подсистема аудита с web-интерфейсом, возможностью расширения собственными типами событий и API для использования в прикладном коде.

Под катом – небольшой пример совместного использования этих подсистем, позволяющий ответить на вопросы — кто, что, когда делал в информационной системе?
кто, что, когда - в произвольной комбинации

DICOM Viewer изнутри. Функциональные возможности

Время на прочтение9 мин
Охват и читатели75K
Добрый день, хабрасообщество. Мне хотелось бы продолжить рассмотрение аспектов реализации DICOM Viewer'а, и сегодня речь пойдёт о функциональных возможностях.


Итак, поехали.
Читать дальше →

Граф жизни сайта, или визуализация связи между страницами

Время на прочтение4 мин
Охват и читатели14K
Когда я начал работать над виджетом рекомендаций aka «Читайте также», я даже не подозревал о том, что данные, полученные для формирования рекомендаций могут быть не менее полезны, чем сами рекомендации. Собственно, этими данными я и хочу сегодня с вами поделиться в топике. Из них вы можете почерпнуть интересные знания о специфике посещаемости разных сайтов. Под катом вас ждёт geek porn краткий экскурс с описанием, как эти данные формируются, разбор графов нескольких типовых подопытных, а также бонус 18+.

Для подогрева интереса вот вам картинка одного из подопытных:

Читать дальше →

Анализ данных погодной станции, основанной на Arduino

Время на прочтение10 мин
Охват и читатели30K
Создание собственной личной метеостанции стало намного проще, чем раньше. С учетом непостоянной погоды в Новой Англии, мы решили, что хотим создать нашу собственную метеостанцию и использовать MATLAB для анализа метеоданных.

В статье мы ответим на следующие вопросы:
  • В каком направлении дул ветер в течение последних 3-х часов?
  • Как изменялись температура и точка росы в течение последней недели?
  • На самом ли деле падает барометрическое давление при приближении грозы?

Понятно, что рассмотренные вопросы достаточно просты, но описанные приемы и команды помогут вам решать более сложные практические задачи.
Читать дальше →

Солнечные затмения: из прошлого в будущее, от Земли до Юпитера (исследование, проведённое с помощью Wolfram Language)

Время на прочтение9 мин
Охват и читатели11K

Скачать статью в виде CDF-файла.
Выражаю огромную благодарность Кириллу Гузенко за помощь в переводе.

Возможно, Вы слышали, что 20 марта было солнечное затмение. Будет видно солнечное затмение или нет зависит от того, в какой точке планеты Вы находитесь. Если солнечное затмение будет видно, об этом всегда можно будет узнать из средств массовой информации, которые обычно создают некоторую шумиху вокруг этого события — сообщаются погодные условия на момент затмения, прочие детали. Если в месте, в котором Вы находитесь, солнечное затмение не будет видно, скорее всего Вы о нём даже и не узнаете. Однако, зачастую люди из сообщества Wolfram Community со всех частей света — как опытные, так и начинающие разработчики, принимают участие в обсуждении подобных вещей. И очень здорово наблюдать, как знание предмета и технологий Wolfram передаются друг другу от людей со всех уголков Земли.

Не так давно в сообществе Wolfram Community было создано пять дискуссий, в которых обсуждалось последнее солнечное затмение. Ниже они представлены в том порядке, в котором они появлялись внутри сообщества. Посты содержат данные по наблюдениям недавнего затмения и их анализ, прогнозы будущих затмений и немного о том, как затмения проходят на других планетах.

Читать дальше →

Арбелос

Время на прочтение15 мин
Охват и читатели32K

Скачать статью в виде документа Mathematica (NB), CDF-файла или PDF.
Выражаю огромную благодарность Кириллу Гузенко за помощь в переводе.

В этой статье систематически проверяются некоторые свойства фигуры, известной с древних времён, называемой арбелос. Она включает в себя несколько новых открытий и обобщений, представленных автором данной работы.

Введение


Будучи мотивирован вычислительными преимуществами, которыми обладает Mathematica, некоторое время назад я решил приступить к исследованию свойств арбелоса — весьма интересной геометрической фигуры. С тех пор я был впечатлен большим количеством удивительных открытий и вычислительных проблем, которые возникали из-за всё расширяющегося объёма литературы, касающейся этого примечательного объекта. Я вспоминаю его сходство с нижней частью культового велосипеда пенни-фартинг из The Prisoner (телесериал 1960-х), шутовской шапкой Панча (знаменитых Punch and Judy) и символом инь-ян с одной перевёрнутой дугой; см. рис. 1. В настоящее время существует специализированный каталог архимедовых кругов (круги, содержащиеся в арбелосе) [1] и важные применения свойств арбелоса, которые лежат вне поля математики и вычислительных наук [2].

Многие известные исследователи занимались этой темой, в том числе Архимед (убитый римским солдатом в 212 г. до н.э.), Папп (320 г. н.э.), Кристиан О. Мор (1835-1918), Виктор Тебо (1882-1960), Леон Банкофф (1908-1997), Мартин Гарднер (1914-2010). С недавних пор свойствами арбелоса занимаются Клейтон Додж, Питер Ай. Ву, Томас Шох, Хироши Окумура, Масаюки Ватанабе и прочие.

Леон Банкофф — человек, который привлекал всеобщее внимание к арбелосу в последние 30 лет. Шох привлёк внимание Бэнкоффа к арбелосу в 1979 году, открыв несколько новых архимедовых кругов. Он послал 20-страничную рукописную работу Мартину Гарднеру, который направил её Бэнкоффу, который затем отправил 10-страничный фрагмент копии рукописи Доджу в 1996 году. Из-за смерти Бэнкоффа запланированная совместная работа была прервана, пока Додж не сообщил о некоторых новых открытиях [3]. В 1999 году Додж сказал, что ему потребуется от пяти до десяти лет, чтобы отсортировать весь материал, которым он располагает, разложив всё это дело по стопкам. В настоящее время эта работа все ещё продолжается. Не удивительно, что в четвертом томе The Art of Computer Programming, сказано о том, что важная работа требует большого количества времени.


Рис. 1. Велосипед пенни-фартинг, куклы Панч и Джуди, физический арбелос.

Арбелос (“нож сапожника” в греческом языке) назван так из-за своего сходства с лезвием ножа, использующегося сапожниками (Рис. 1). Арбелос — плоская область, ограниченная тремя полуокружностями и общей базовой линией (рис. 2). Архимед, вероятно, был первым, кто начал изучать математические свойства арбелоса. Эти свойства описаны в теоремах с 4-ой по 8-ую его книги Liber assumptorum (или Книги лемм). Возможно, эту работу написал не Архимед. Сомнения появились после перевода с арабского Книги лемм, в которой Архимед упоминается неоднократно, но ничего не сказано о его авторстве (однако, существует мнение, что эта книга — подделка [4]). Книга Лемм так же содержит знаменитую архимедову Problema Bovinum [5].

Эта статья направлена на систематическое изложение некоторых свойств арбелоса и не носит исчерпывающий характер. Наша цель состоит в том, чтобы выработать единую вычислительную методологию для того, чтобы преподнести данные свойства в формате обучающей статьи. Все свойства выстроены в рамках определённой последовательности и представлены с доказательствами. Эти доказательства были реализованы посредством тестирования эквивалентных вычисляемых утверждений. В ходе выполнения данной работы автором было совершено несколько открытий и сделано несколько обобщений.
Читать дальше →

Детальный анализ Хабрахабра с помощью языка Wolfram Language (Mathematica)

Время на прочтение8 мин
Охват и читатели54K

Скачать пост в виде документа Mathematica, который содержит весь код использованный в статье, вместе с дополнительными файлами, можно здесь.

Анализ социальных сетей и всевозможных медиа-ресурсов является сейчас довольно популярным направлением и тем удивительнее для меня было обнаружить, что на Хабрахабре, по сути, нет статей, которые содержали бы анализ большого количества информации (постов, ключевых слов, комментариев и пр.), накопленного на нем за довольно большой период работы.

Надеюсь, что этот пост сможет заинтересовать многих участников Хабрахабра. Я буду рад предложениям и идеям возможных дальнейших направлений развития этого поста, а также любым замечаниям и рекомендациям.

В посте будут рассматриваться статьи, относящиеся к хабам, всего в анализе участвовало 62000 статей из 264 хабов. Статьи, написанные только для корпоративных блогов компаний в посте не рассматривались, а также не рассматривались посты, не попавшие в группу «интересные».

Ввиду того, что база данных, построенная в посте, формировалась за некоторое время до публикации, а именно 26 апреля 2015 г., посты, опубликованные на Хабрахабре после этой даты (а также, возможно, новые хабы) в данном посте не рассматривались.
Читать дальше →

Алгоритм Quickhull для нахождения выпуклой оболочки

Время на прочтение20 мин
Охват и читатели27K
Как гласит определение, выпуклая оболочка некоторого множества — это наименьшее выпуклое множество , содержащее в себе множество . Выпуклой оболочкой конечного множества попарно различных точек является многогранник.
Для реализации одномерного случая алгоритма Quickhull годится функция std::minmax_element. В сети можно найти множество реализаций алгоритма Quickhull для плоского случая. Однако, для случая произвольной размерности сходу находится лишь одна тяжёловесная реализация с сайта qhull.org.
Читать дальше →

DataTalks #2: Визуализация данных

Время на прочтение2 мин
Охват и читатели21K
Вторая встреча сообщества DataTalks была посвящена визуализации данных – одному из самых важных и сильных инструментов в руках аналитиков. Ведь именно от того, как представлены результаты исследовательской работы, зависят решения и выводы заказчика. Помимо этого, визуализация помогает проводить предварительный анализ данных и быстро находить новые взаимосвязи.
Под катом вы найдете записи выступлений представителей компаний Wargaming, Ambitious Suits Consulting, Targetprocess, А2 Консалтинг и интернет-портала TUT.BY. Докладчики поделились опытом наглядного и информативного представления данных.
Сама встреча традиционно прошла «под танком», в главном офисе компании СООО «Гейм Стрим», минского офиса разработки Wargaming.
image
Читать дальше →

Новое в Wolfram Language: функция TimelinePlot для создания временной шкалы

Время на прочтение2 мин
Охват и читатели10K
Несколько лет назад мы создали сайт, посвященный хронологии возникновения и развития различных систематизированных данных и вычисляемых знаний, которые вы можете посмотреть онлайн. Я написал код, который размещает события вдоль временной шкалы, а затем наши дизайнеры провели серьёзную работу касательно дизайна получаемого материала (шрифты, заголовки, цвета и тому подобное) и довели качество до коммерческого уровня.



В общем, в прошлом году мы добавили функцию NumberLinePlot в Wolfram Language для визуализации точек, областей и неравенств. Как только пользователи начали работать с NumberLinePlot, мы начали получать просьбы о введении подобной функции, но с датами и временем, поэтому мы решили, что пришло время для TimelinePlot.
Читать дальше →

Ближайшие события

Создание полноценных приложений на Max 7. Часть 1 — Постановка задачи, визуальное программирование

Время на прочтение17 мин
Охват и читатели29K
При решении задач визуализации информации, очевидно, возникает вопрос о практической реализации задуманного. Данный цикл статей посвящен процессу проектирования приложений с помощью визуального программирования в Max 7 от компании Cycling '74. Начнем изучение вопроса, от простого к сложному. Пройдем путь от любительской заготовки до полноценного «однофайлового» приложения (standalone .exe).

Уровень: легкий
Читать дальше →

Имитационная модель логистического центра

Время на прочтение7 мин
Охват и читатели15K
Предлагаю вниманию хабрапользователей небольшую статью, описывающую практическую сторону применения такой области, как имитационное моделирование.

Постановка задачи (описание процесса)


В логистический центр по согласованному с поставщиком календарю поставок прибывает известное количество товаров одного типа. При переполнении склада заявка на поставку товаров заведомо отменяется. Товар поступает, хранится и передается в розничную точку продаж в упаковках по 8 шт. По прибытию машину встречает сотрудник центра (кладовщик), проверяет наличие необходимой сопроводительной документации, актов соответствия/качества, первичной бухгалтерской документации и сопровождает машину в зону разгрузки.

В зоне разгрузки кладовщик в присутствии экспедитора и при помощи погрузочного оборудования (электрический погрузчик) проводит прием и визуальный осмотр товара. Далее перемещает его в зону входного контроля. Специалист по качеству (контроллер) проводит входной контроль товара. При допуске, товары, при помощи специалиста по качеству, перемещаются в зону ожидания для дальнейшего размещения на стеллажах участка хранения. При обнаружении товара не соответствующего входным параметрам перемещает его в изолятор брака для осуществления дальнейшего возврата поставщику.

Комплектовщики при помощи погрузочного оборудования (электрический погрузчик) комплектуют в зоне отгрузки поставку в розничную точку продаж. Комплектация проводится при достижении остатка товара в розничной точке продаж точки восполнения запаса (точки перезаказа).

После комплектации стандартной партии отгрузки товар передается в точку розничных продаж для реализации.
Необходимо разработать модель представленного процесса для дальнейшего проведения оптимизационных экспериментов (например, определения точки перезаказа при условии отсутствия нулевого остатка в розничной точке продаж).
Читать дальше →

Поиск взаимосвязей на примере Нефть-Рубль

Время на прочтение2 мин
Охват и читатели137K
Одна из базовых задач анализа данных — поиск взаимосвязи двух величин. Здесь я хочу показать пример поиска связи между ценой нефти и курсом рубля.

image

Во-первых надо определить, имеет ли вообще задача смысл. Почему нефть и рубль должны/могут быть взаимосвязаны? Вкратце, модель такая: экспортёры продают нефть за доллары, а затем продают доллары, чтобы получить рубли для расчётов внутри страны. Механизм крайне упрощён, надо учитывать объёмы добычи-продажи, что эскортируют не только нефть, не всегда экспортёры продают доллары, на курс валют влияет ЦБ интервенциями и т.д. И тем не менее, будем считать, что модель более-менее рабочая, то есть, что существуют фундаментальные причины для взаимосвязи цены нефти и курса рубля.
Читать дальше →

3D-системы — подборка отличных способов накосячить с контентом

Время на прочтение7 мин
Охват и читатели19K


3D-системы используются для визуализации инженерных решений (типа обучения операторов АЭС, мониторинга там же), в нефтегазовой геологоразведке (туда идут самые дорогие иммерсионные системы), для демонстрации различных товаров (от кастомных дизайнов салонов автомобилей до типа укладки товара в грузовиках), для обучения ремонтников (можно разобрать двигатель Боинга), в медицине для обучения, а также для отработки эвакуаций и ЧС на разных ответственных объектах.

Главная проблема подготовки контента — это то, что на рынке много компаний, которые говорят «Мы умеем это делать», но не имеют своего железа по факту. Без двухнедельного тестирования, без чёткого понимания ограничений железа и просто знания особенных грабель — это не «умеем и можем», а «хотим, но не получится».
Читать дальше →

Интерактивная карта торгового центра на HTML5 canvas

Время на прочтение11 мин
Охват и читатели37K

Введение


Заказчиком была поставлена следующая задача – показывать на картах торговых центров статистику по посещаемости магазинов, использованию эскалаторов, лифтов и коридоров. Карту нужно уметь размечать — указывать точки, где показывать статистику и какую конкретно статистику. И, естественно, показывать эту статистику для выбранного периода времени и фильтров. Откуда берутся и где хранятся данные – отдельная большая тема, за скобками данной статьи.

Раз плюнуть, скажете вы – берём векторную карту торгового центра в svg и дополняем её данными. Красиво, современно, быстро. Даже есть готовые решения типа jVectorMap.

Только вот векторных карт нужных торговых центров нет, есть только те картинки, что предоставлены владельцами центров. Абсолютно разные по стилистике и наполнению. А большое количество центров (порядка 300) не позволяет перерисовать их в вектора быстро и дёшево. Да и добавление новых торговых центров потребует дополнительной работы.

Поэтому было решено использовать HTML5 canvas и для разметки карты, и для показа данных.

Выбор фреймворка


Работать напрямую с canvas API не очень удобно, но уже понапридумана куча инструментов для облегчения работы. Требования к фреймворку в нашем случае:
  1. Объектная модель поверх canvas API.
  2. Способность отрисовывать и масштабировать картинку.
  3. Интерактивность:
    • возможность манипуляции объектами на этапе разметки карты,
    • возможность масштабирования и перемещения по карте.
  4. Возможность экспорта/импорта размеченных объектов.
  5. Наличие детализированных событий.
  6. Высокая скорость отрисовки.

Под рассмотрение попали fabric.js, EaselJS, Raphaël, Paper.js и Processing.js.
Всем требованиям удовлетворяет fabric.js. Учитывая имеющийся небольшой опыт работы с ним, было решено взять его за основу. Далее в примерах использовалась версия 1.4.4.

Читать дальше →

Визуальная линейная аппроксимация с помощью Gnuplot

Время на прочтение2 мин
Охват и читатели17K
Говорят, что нелинейная аппроксимация — это искусство, но и с обычной линейной дело, бывает, обстоит не просто.

image

Многие, наверно, помнят, что самый простой и довольно точный метод построения прямых МНК — это «прозрачной линейкой на глазок». Раньше, когда считали на калькуляторах, этот метод позволял экономить многие часы монотонных вычислений, но сейчас для заведомо линейных процессов это уже не актуально, аппроксимацию умеет мгновенно считать и рисовать даже Excel.

Однако при решении реальных задач часто приходится иметь дело с процессами, у которых модель неизвестна. В таких случаях бывает разумно строить кусочно-линейные аппроксимации. И вот тут, когда точных критериев построения просто не существует — метод «прозрачной линейки», основанный на «искусстве аппроксимации» (по простому — чуйке), опять становится актуальным.
Читать дальше →

Машинное обучение — 2. Нелинейная регрессия и численная оптимизация

Время на прочтение4 мин
Охват и читатели26K
Прошел месяц с появления моей первой статьи на Хабре и 20 дней с момента появления второй статьи про линейную регрессию. Статистика по просмотрам и целевым действиям аудитории копится, и именно она послужила отправной точкой для данной статьи. В ней мы коротко рассмотрим пример нелинейной регрессии (а именно, экспоненциальной) и с ее помощью построим модель конверсии, выделив среди пользователей две группы.

Когда известно, что случайная величина y зависит от чего-то (например, от времени или от другой случайной величины x) линейно, т.е. по закону y(x)= Ax+b, то применяется линейная регрессия (так в прошлой статье мы строили зависимость числа регистраций от числа просмотров). Для линейной регрессии коэффициенты A и b вычисляются по известным формулам. В случае регрессии другого вида, например, экспоненциальной, для того чтобы определить неизвестные параметры, необходимо решить соответствующую оптимизационную задачу: а именно, в рамках метода наименьших квадратов (МНК) задачу нахождения минимума суммы квадратов (y(xi) — yi)2.

Итак, вот данные, которые будем использовать в качестве примера. Пики посещаемости (ряд Views, красный пунктир) приходятся на моменты выхода статей. Второй ряд данных (Regs, с множителем 100) показывает число читателей, выполнивших после прочтения определенное действие (регистрацию и скачивание Mathcad Express – с его помощью, к слову, вы сможете повторить все расчеты этой и предыдущих статей). Все картинки — это скриншоты Mathcad Express, а файл с расчетами вы можете взять здесь.


Читать дальше →