На моем рабочем месте работают сотрудники из самых разных дисциплин, поэтому мы генерируем данные в самых разных формах. Следовательно, каждая команда разработала свою собственную систему хранения данных. Некоторые используют базы данных Access или SQL; некоторые команды (к моему ужасу) почти полностью зависят от электронных таблиц Excel. Часто форматы данных меняются от проекта к проекту. В некоторых случаях называть это «системой» слишком любезно.
Проблемы, которые это влечет за собой, состоят в том, что мне приходится писать новый код для очистки данных для каждого проекта, что дорого; люди, редактирующие электронные таблицы вручную, делают практически невозможным воспроизводимость и аудит данных; и что еще хуже, существует вероятность того, что данные будут потеряны или сделаны неверными.
Мне дали возможность обсудить эти проблемы с членом совета директоров компании, и мне нужно решить, что ему сказать. Я думаю, что я уже убедил его, что у нас есть проблема и что правильное решение этой проблемы позволит улучшить науку и сэкономить деньги. Вопрос в том, к чему мы должны стремиться и как туда добраться?
Более конкретно:
Как мы должны хранить данные таким образом, чтобы мы могли отслеживать их от создания до публикации на бумаге? (Базы данных хранятся на центральном сервере?)
Как вы относитесь к стандартизации форматов баз данных?
Есть ли хорошие ресурсы для обучения людей тому, как заботиться о данных? (Как правило, специалисты по гигиене труда и взрывчатке не являются любителями данных; поэтому предпочтение отдается нетехническому контенту.)
источник
Ответы:
Стоит рассмотреть идеи из мира программного обеспечения. В частности, вы можете подумать о настройке: хранилища управления версиями и центрального сервера баз данных.
Контроль версий, вероятно, поможет вам с другими свободно плавающими файлами, такими как Excel и текстовые файлы и т. Д. Но это может также включать файлы, связанные с данными, такими как R, SAS и т. Д. Идея состоит в том, что существует система, которая отслеживает изменения в ваши файлы, позволяющие вам знать, что произошло, и откатиться к точке в прошлом, если это необходимо.
Там, где у вас уже есть базы данных SQL, лучшее, что вы можете сделать, - это настроить центральный сервер и нанять подходящего администратора баз данных . Администратор базы данных - это человек, которому поручено обеспечивать и поддерживать целостность данных. Часть описания работы включает в себя такие вещи, как резервное копирование и настройка. Но здесь важнее другая часть - контроль за поступлением данных в систему, обеспечение соблюдения ограничений, наличие политик доступа для предотвращения повреждения данных, настройка представлений для представления пользовательских или упрощенных форматов данных и т. Д. Короче говоря, внедрение методологии вокруг процесса обработки данных. Даже если вы не нанимаете настоящих администраторов баз данных (хороших из них очень сложно набрать), наличие центрального сервера все еще позволяет вам начать думать о внедрении какой-то методологии вокруг данных.
источник
Одним из бесплатных онлайн-ресурсов является набор Статистических руководящих принципов надлежащей практики из Центра статистических услуг Университета Рединга .
Особенно:
источник
Я думаю, прежде всего, вы должны спросить себя: почему люди используют Excel для выполнения задач, для которых Excel не был создан?
1) Они уже знают, как его использовать. 2) Это работает. Может быть, неуклюже, но это работает, и это то, что они хотят
Я копирую ряд чисел, нажимаю кнопку, и у меня есть сюжет. Это так просто.
Итак, дайте им понять, какие преимущества они могут иметь, используя централизованные наборы данных, надлежащие базы данных (обратите внимание, что Access не является одним из них) и так далее. Но помните о двух пунктах выше: вам нужно настроить систему, которая работает и проста в использовании.
Я много раз видел плохо сделанные системы, которые заставляли меня хотеть вернуться не в Excel, а в ручку и бумагу!
Например, у нас ужасная система заказов, где я работаю.
Раньше нам приходилось заполнять бланк заказа, который представлял собой электронную таблицу Excel, в которую вы вводили название продукта, количество, стоимость и т. Д. Это все складывалось, добавлялось TVA и т. Д., Вы печатали его, передавали его секретарь, который сделает заказ, и это было все. Неэффективно, но это сработало.
Теперь у нас есть система онлайн-заказов, с централизованной базой данных и всем остальным. Это ужас Мне не понадобится 10 минут, чтобы заполнить эту чертову форму из-за неинтересных сочетаний клавиш и различных странностей программного обеспечения. И обратите внимание, что я достаточно разбираюсь в информатике, так что представьте, что происходит с людьми, которые не любят компьютеры ...
источник
Я подчеркиваю все ответы, данные уже, но давайте назовем кошку кошкой: во многих рабочих пространствах вряд ли можно убедить руководство в том, что инвестиции в «экзотические» программные инструменты (то есть экзотические для них) необходимы, не говоря уже о найме кого-то, кто мог бы установить это и поддерживать его. Я говорил довольно многим клиентам, что им было бы очень полезно нанять статистика с глубоким опытом работы с программным обеспечением и базами данных, но «не может сделать» - это общий ответ.
Поэтому до тех пор, пока этого не произойдет, есть несколько простых вещей, которые вы можете сделать с помощью Excel, которые облегчат жизнь. И первым из них, без сомнения, является контроль версий. Более подробную информацию об управлении версиями с помощью Excel можно найти здесь .
Некоторые вещи об использовании Excel
Людям, использующим EXCEL, очень часто нравятся особенности формул EXCEL. Тем не менее, это самый важный источник ошибок в листах EXCEL и проблем при попытке прочитать файлы EXCEL, насколько мне известно. Я отказываюсь работать с листами, содержащими формулы.
Я также заставляю всех, с кем я работаю, доставлять листы EXCEL в простом формате, что означает:
Если у данных есть общая структура, то может быть полезно разработать шаблон с базовыми макросами VB для добавления данных и создания набора данных для анализа. Это в целом позволит избежать того, что каждый сотрудник придумает свою собственную «гениальную» систему хранения данных, и это позволит вам написать свой код в зависимости от этого.
При этом, если вы можете убедить всех использовать SQL (и интерфейс для ввода данных), вы можете связать R непосредственно с этим. Это значительно повысит производительность.
Структура данных и управление
Как правило, данные, хранящиеся в базах данных (или на листах EXCEL, если они настаивают), должны быть абсолютным минимумом, означающим, что любая переменная, которая может быть рассчитана из некоторых других переменных, не должна содержаться в базе данных. Имейте в виду, иногда может быть полезно хранить и эти производные или преобразованные переменные, если вычисления утомительны и занимают много времени. Но они должны храниться в отдельной базе данных, при необходимости связанной с исходной.
Следует также подумать о том, что рассматривается как один случай (и, следовательно, один ряд). Как пример, люди, как правило, создают временные ряды, создавая новую переменную для каждой временной точки. Хотя это имеет смысл в EXCEL, чтение этих данных требует некоторого переворачивания матрицы данных. То же самое для сравнения групп: должен быть один индикатор группы и одна переменная ответа, а не переменная ответа для каждой группы. Таким образом, структуры данных также могут быть стандартизированы.
Последнее, с чем я часто сталкиваюсь, это использование разных метрик. Длина дана в метрах или сантиметрах, температура в градусах Цельсия, Кельвина или Фаренгейта, ... В любом внешнем интерфейсе или любом шаблоне следует указать, в каких единицах измерения измеряется переменная.
И даже после всего этого вам все равно нужно выполнить этап контроля данных, прежде чем вы начнете анализ. Опять же, это может быть любой скрипт, который запускается ежедневно (например, ночью) для новых записей, и который немедленно отмечает проблемы (вне диапазона, неправильного типа, пропущенных полей и т. Д.), Поэтому их можно исправить как можно быстрее. Если вам нужно вернуться к записи, которая была сделана 2 месяца назад, чтобы выяснить, что не так и почему, вам лучше воспользоваться хорошими «навыками Шерлока», чтобы исправить это.
мои 2 цента
источник
VisTrails: научный рабочий процесс и система Provenance на основе Python . В этом выступлении на PyCon 2010 есть несколько хороших идей. Стоит послушать, даже если вы не заинтересованы в использовании VisTrails или Python. В конце я думаю, что если бы вы могли требовать, чтобы существовал четкий документальный способ воспроизведения данных. И требуют подтверждения, что они могут.
Цитирование:
источник
Я только что наткнулся на эту веб-страницу, организованную ICPSR, о планах управления данными . Хотя я думаю, что цели ICPSR будут несколько отличаться от вашего бизнеса (например, они очень заинтересованы в том, чтобы данные могли легко распространяться без нарушения конфиденциальности), я полагаю, что у них есть полезная информация для бизнеса. В частности, советы по созданию метаданных кажутся мне универсальными.
источник
В случае гораздо меньших масштабов я столкнулся с использованием Dropbox для совместного использования / синхронизации копии файлов данных (а также сценариев и результатов) с другими исследователями / сотрудниками (я писал об этом здесь ).
Другой инструмент, который я использовал, это Google Docs для сбора и обмена данными (о которых я писал здесь )
источник
Dropbox + packrat хорош для обмена файлами с резервным копированием / контролем версий.
Затем вы загружаете эти файлы (после автоматической канонизации / массажа) в базу данных и выполняете анализ очищенных данных. Поместите сценарии для автоматизации цикла Extract-Transform-Load под управлением версиями (или, по крайней мере, в отдельную папку dropbox с опцией packrat ...).
Когда ваш сервер базы данных в конечном итоге дает сбой (или его необходимо защитить или что-то в этом роде), у вас есть конвейер для перемещения данных из дружественных людям (Excel, веб-форм и т. Д.) В удобные для анализа (обычно нормализованные и ограниченные, всегда очищенные).
Эта фаза "ETL" происходит из хранилища данных. И если вы не строите систему обработки транзакций в Интернете, вы, вероятно, создаете хранилище данных. Так что примите это и воспользуйтесь тем, чему люди научились, создавая их за последние 30 лет.
Повеселись.
источник