Wie bringe ich Leute dazu, sich besser um Daten zu kümmern?


42

An meinem Arbeitsplatz arbeiten Mitarbeiter unterschiedlichster Disziplinen. Daher generieren wir Daten in vielen verschiedenen Formen. Folglich hat jedes Team ein eigenes System zum Speichern von Daten entwickelt. Einige verwenden Access- oder SQL-Datenbanken. Einige Teams sind (zu meinem Entsetzen) fast ausschließlich auf Excel-Tabellen angewiesen. Oft ändern sich die Datenformate von Projekt zu Projekt. In einigen Fällen ist es zu nett, es ein "System" zu nennen.

Die Probleme, die dies mit sich bringt, sind, dass ich neuen Code schreiben muss, um die Daten für jedes Projekt zu bereinigen, was teuer ist. Die manuelle Bearbeitung von Tabellenkalkulationen macht die Reproduzierbarkeit und Prüfung von Daten nahezu unmöglich. und noch schlimmer, es besteht die Möglichkeit, dass Daten verloren gehen oder falsch gemacht werden.

Ich hatte die Gelegenheit, diese Probleme mit einem Vorstandsmitglied des Unternehmens zu besprechen, und ich muss herausfinden, was ich ihm sagen soll. Ich glaube, ich habe ihn bereits davon überzeugt, dass wir ein Problem haben und dass es eine bessere Wissenschaft und Geldersparnis ermöglicht, wenn wir dies richtig machen. Die Frage ist: Was sollen wir anstreben und wie kommen wir dorthin?

Genauer:

Wie sollen wir Daten so speichern, dass wir sie von der Erstellung bis zur Veröffentlichung auf Papier verfolgen können? (Auf einem zentralen Server gespeicherte Datenbanken?)

Wie gehen Sie vor, um Datenbankformate zu standardisieren?

Gibt es gute Ressourcen, um Menschen darüber aufzuklären, wie sie mit Daten umgehen sollen? (In der Regel sind Arbeitshygieniker und Sprengstoffingenieure keine Daten-Nerds. Daher werden nicht-technische Inhalte bevorzugt.)


Die Titelfrage unterscheidet sich von der inhaltlichen Frage im Beitrag. Ersterer fragt, wie die Leute dazu gebracht werden sollen, sich um Daten zu kümmern, und letzterer fragt, wie sie am besten Daten speichern können. Welche Frage möchten Sie beantworten?
Setzen Sie Monica

Antworten:


16

Überlegungen aus der Software-Welt lohnen sich. Insbesondere sollten Sie Folgendes einrichten: ein Versionskontroll-Repository und einen zentralen Datenbankserver.

Die Versionskontrolle hilft Ihnen wahrscheinlich bei ansonsten frei schwebenden Dateien wie Excel- und Textdateien usw. Dies kann jedoch auch Dateien einschließen, die mit Daten wie R, SAS usw. verknüpft sind. Die Idee ist, dass es ein System gibt, das Änderungen nachverfolgt Ihre Dateien geben Ihnen Aufschluss darüber, was wann passiert ist, und führen bei Bedarf einen Rollback zu einem Zeitpunkt in der Vergangenheit durch.

Wenn Sie bereits über SQL-Datenbanken verfügen, können Sie am besten einen zentralen Server einrichten und einen fähigen DBA einstellen . Der DBA hat die Aufgabe, die Integrität der Daten sicherzustellen und zu wahren. Ein Teil der Jobbeschreibung beinhaltet Dinge wie Backups und Tuning. Ein anderer Teil ist hier jedoch relevanter: die Steuerung des Dateneingangs, die Sicherstellung, dass Einschränkungen eingehalten werden, Zugriffsrichtlinien, um Schäden an den Daten zu vermeiden, das Einrichten von Ansichten zum Anzeigen benutzerdefinierter oder vereinfachter Datenformate usw. Implementierung einer Methodik rund um den Datenprozess. Selbst wenn Sie keinen echten DBA einstellen (die guten sind sehr schwer zu rekrutieren), können Sie mit einem zentralen Server darüber nachdenken, eine Art Methodik für Daten einzuführen.


3
Über die Versionskontrolle absolut einverstanden. Ich benutze es; ebenso ein erheblicher Teil der Entwickler und Statistiker. (Ich würde gerne eine 100% ige Akzeptanz sehen, aber das ist ein weiterer Wunschtraum.) Das Schwierige ist, Nicht-Techniker dazu zu bringen, ihn zu nutzen. Irgendwelche Ideen geschätzt.
Richie Cotton

2
@Richie Cotton: Ich weiß nicht warum, aber die Versionskontrolle scheint für Nicht-Techniker ein schwieriges Konzept zu sein. Die Leute nehmen weiterhin nur einige Änderungen an einer Datei vor, benennen sie um und senden sie per E-Mail. Wie ich diese "PaperDraftCorrectedByJohnRevision3RewroteByLeslie-NewVersion3.doc" -Dateien hasse ...
nico

12

1
Hervorragende Links. Ich denke, zwei wichtige Botschaften, die ich weitergeben muss, sind: Wir brauchen eine stärker automatisierte Datenprüfung, und ich muss mit den Erläuterungen zur Trennung von Dateneingabe und Datenpräsentation beginnen.
Richie Cotton

6

Ich denke, man muss sich zuerst fragen: Warum verwenden die Leute Excel, um Aufgaben zu erledigen, für die Excel nicht gemacht wurde?

1) Sie wissen bereits, wie man es benutzt. 2) Es funktioniert. Vielleicht auf unbeholfene Weise, aber es funktioniert und das ist, was sie wollen

Ich kopiere eine Reihe von Zahlen ein, drücke einen Knopf und ich habe eine Handlung. So einfach ist das.

Machen Sie sie also mit den Vorteilen vertraut, die sie durch die Verwendung zentralisierter Datensätze, ordnungsgemäßer Datenbanken (beachten Sie, dass Access NICHT einer von diesen ist) usw. haben können. Beachten Sie jedoch die beiden oben genannten Punkte: Sie müssen ein funktionsfähiges und benutzerfreundliches System einrichten.

Ich habe zu oft schlecht gemachte Systeme gesehen, die mich dazu gebracht haben, nicht zu Excel, sondern zu Stift und Papier zurückzukehren!

Nur als Beispiel haben wir ein schreckliches Bestellsystem, in dem ich arbeite.

Früher mussten wir ein Bestellformular ausfüllen, das eine Excel-Tabelle war, in die Sie den Namen des Produkts, die Menge, die Kosten usw. eingaben. Es summierte sich alles auf, fügte TVA usw. hinzu usw. Sie druckten es aus und gaben es an die sekretärin, die die bestellung machen würde und das war es. Ineffizient, aber es hat funktioniert.

Jetzt haben wir ein Online-Bestellsystem mit einer zentralen Datenbank und allem. Es ist ein Horror. Es sollte nicht länger als 10 Minuten dauern, bis ich ein verdammtes Formular ausgefüllt habe, da es sich um eindeutige Tastaturkürzel und die verschiedenen Kuriositäten der Software handelt. Und beachten Sie, dass ich ziemlich informatikbegeistert bin. Stellen Sie sich also vor, was mit Leuten passiert, die Computer nicht mögen ...


Einverstanden, dass die Dinge benutzerfreundlich sein müssen. Da die Menschen ihre Arbeitspraktiken sehr schützen, müssen Änderungen das Leben der Menschen erleichtern, sonst scheitern sie.
Richie Cotton

5

Ich unterstreiche alle bereits gegebenen Antworten, aber nennen wir eine Katze eine Katze: In vielen Arbeitsbereichen ist es kaum unmöglich, das Management davon zu überzeugen, dass Investitionen in "exotische" Softwarewerkzeuge (die für sie exotisch sind) notwendig sind, geschweige denn, jemanden einzustellen, der es schaffen könnte es auf und pflegen es. Ich habe einigen Kunden gesagt, dass sie von der Einstellung eines Statistikers mit umfassendem Hintergrundwissen über Software und Datenbanken in hohem Maße profitieren würden, aber "no can do" lautet die allgemeine Antwort.

So lange das nicht passieren wird, gibt es einige einfache Dinge, die Sie mit Excel tun können, um das Leben leichter zu machen. Und das erste davon ist ohne Zweifel die Versionskontrolle. Weitere Informationen zur Versionskontrolle mit Excel finden Sie hier .

Einige Dinge über die Verwendung von Excel

Menschen, die EXCEL verwenden, mögen die Formelfunktionen von EXCEL sehr oft. Dies ist jedoch nach meiner Erfahrung die wichtigste Fehlerquelle in EXCEL-Tabellen und die Ursache für Probleme beim Einlesen von EXCEL-Dateien. Ich lehne es ab, mit Blättern zu arbeiten, die Formeln enthalten.

Ich zwinge auch jeden, mit dem ich zusammenarbeite, die EXCEL-Blätter in einem einfachen Format auszuliefern, was bedeutet, dass:

  • Die erste Zeile enthält die Namen der verschiedenen Variablen
  • Die Tabelle beginnt in Zelle A1
  • Alle Daten werden in Spalten ohne Unterbrechungen und ohne Formatierung abgelegt.
  • Nach Möglichkeit werden die Daten auch im CSV-Format gespeichert. Es ist nicht schwierig, ein VBA-Skript zu schreiben, mit dem die Daten extrahiert, neu formatiert und in eine CSV-Datei eingefügt werden. Dies ermöglicht auch eine bessere Versionskontrolle, da Sie jeden Tag einen CSV-Speicherauszug der Daten erstellen können.

Wenn die Daten immer eine allgemeine Struktur aufweisen, empfiehlt es sich möglicherweise, eine Vorlage mit zugrunde liegenden VB-Makros zu entwickeln, um Daten hinzuzufügen und den zu analysierenden Datensatz zu generieren. Dadurch wird im Allgemeinen vermieden, dass jeder Mitarbeiter auf ein eigenes "geniales" System zur Datenspeicherung zurückgreift, und Sie können Ihren Code in Abhängigkeit davon schreiben.

Wenn Sie jedoch alle davon überzeugen können, SQL (und ein Front-End für die Dateneingabe) zu verwenden, können Sie R direkt mit diesem verknüpfen. Dies erhöht die Leistung erheblich.

Datenstruktur und -verwaltung

In der Regel sollten die in Datenbanken (oder EXCEL-Tabellen, falls vorhanden) gespeicherten Daten das absolute Minimum sein. Das bedeutet, dass alle Variablen, die aus anderen Variablen berechnet werden können, nicht in der Datenbank enthalten sein sollten. Allerdings kann es manchmal nützlich sein, auch diese abgeleiteten oder transformierten Variablen zu speichern, wenn die Berechnungen mühsam sind und viel Zeit in Anspruch nehmen. Diese sollten jedoch in einer separaten Datenbank gespeichert werden, die gegebenenfalls mit der Originaldatenbank verknüpft ist.

Es sollte auch darüber nachgedacht werden, was als ein Fall (und damit als eine Zeile) angesehen wird. Beispielsweise neigen Menschen dazu, Zeitreihen zu erstellen, indem sie für jeden Zeitpunkt eine neue Variable erstellen. Während dies in einem EXCEL sinnvoll ist, erfordert das Einlesen dieser Daten ein ziemliches Umblättern der Datenmatrix. Gleiches gilt für den Vergleich von Gruppen: Es sollte einen Gruppenindikator und eine Antwortvariable geben, keine Antwortvariable für jede Gruppe. Auf diese Weise können auch Datenstrukturen standardisiert werden.

Ein letztes, auf das ich häufig stoße, ist die Verwendung verschiedener Metriken. Längen werden in Metern oder Zentimetern angegeben, Temperaturen in Celsius, Kelvin oder Fahrenheit, ... In jedem Frontend oder jeder Schablone sollte angegeben werden, in welcher Einheit die Variable gemessen wird.

Und selbst nach all diesen Dingen möchten Sie noch einen Datenkontrollschritt durchführen, bevor Sie tatsächlich mit der Analyse beginnen. Dies kann wiederum jedes Skript sein, das täglich (z. B. über Nacht) für neue Einträge ausgeführt wird und Probleme sofort kennzeichnet (außerhalb des Bereichs, falscher Typ, fehlende Felder, ...), damit sie so schnell wie möglich behoben werden können. Wenn Sie zu einem Eintrag zurückkehren müssen, der vor 2 Monaten erstellt wurde, um herauszufinden, was falsch ist und warum, sollten Sie einige gute "Sherlock-Fähigkeiten" erwerben, um diesen zu korrigieren.

meine 2 Cent


Einige sehr interessante Punkte hier. Menschen davon zu überzeugen, ihre Tabellen zu vereinfachen und zu standardisieren, ist wahrscheinlich erfolgreicher, als sie dazu zu bringen, sie aufzugeben. Ich hatte auch keine Ahnung, dass sich die Versionskontrolle in Excel integrieren lässt. Gut zu wissen.
Richie Cotton

2
In Bezug auf den Rat, keine redundanten Variablen zu speichern: Dies ist für RDBMS angemessen, aber ich möchte vorschlagen, dass das Gegenteil für Tabellenkalkulationen gefördert werden sollte. Letztere sind so fehleranfällig, dass Mechanismen zum Erkennen und Korrigieren von Fehlern von unschätzbarem Wert sind. Eine der besten besteht aus redundanten Informationen wie berechneten Feldern und statistischen Zusammenfassungen. Wenn beispielsweise Spalte C das Verhältnis der Spalten A und B ist, kann ein Fehler in einer einzelnen Spalte in einer bestimmten Zeile erkannt und normalerweise behoben werden.
Whuber

1
@whuber: Das überprüfen wir im Datenkontrollschritt. Sie können diese zusätzliche Spalte verwenden, um schnell zu prüfen, aber Sie sollten sie nicht im endgültigen Blatt behalten. Formeln in Tabellenkalkulationen sind Horror und je größer die Tabelle, desto schwieriger ist es, die Daten herauszuholen. Im Falle von Excel bekämpfen Sie außerdem die Unterschiede zwischen .xls und .xlsx. Stellen Sie sicher, dass die Entscheidung eines Managers, Microsoft Office zu aktualisieren, eine Menge Code sprengen kann, wenn Sie sich stark auf Excel-Dateien verlassen. Also: Als csv speichern und diese csv-Dateien so klein wie möglich halten.
Joris Meys

Nachdem ich in den letzten 24 Jahren meines Berufslebens einen erheblichen Teil der Zeit damit verbracht habe, mit in Tabellenkalkulationen übertragenen Daten umzugehen und umfangreiche Datenbanken zu verwalten, muss ich respektvoll widersprechen. Es gibt keine "Kontrolle" über Tabellenkalkulationen (.xls, .xlsx, .wks, .wb * usw.) oder sogar CSV-Dateien. Das Vorhandensein redundanter Informationen in solchen Dateien - auch wenn diese nur in gedruckter Form vorliegen - hat einige relativ große Datenbanken (über 100.000 Datensätze) oftmals wiederbelebt. In jedem Fall war ich (und meine Kunden) für die Entlassungen dankbar.
whuber

@whuber: Wir führen die Datenkontrolle mit zusätzlichen Skripten durch und suchen nach den unmöglichen Werten / Ausreißern / Sonderfällen. Das meine ich mit dem Datenkontrollschritt. Dies ist übrigens Industriestandard in Unternehmen wie SGS und anderen, die Analysen von klinischen Studien usw. durchführen. Die redundanten Informationen, die benötigt werden, werden in separaten Datenbanken aufbewahrt. Wenn einer von ihnen versagt, wird der andere für die Auferstehung benötigt. Falls Sie kein anständiges Backup-System haben, ist das ...
Joris Meys

3

VisTrails: Ein Python-basiertes wissenschaftliches Workflow- und Provenienzsystem . Dieser Vortrag auf der PyCon 2010 hat einige gute Ideen. Hörenswert, auch wenn Sie nicht an VisTrails oder Python interessiert sind. Letztendlich denke ich, wenn Sie verlangen könnten, dass es eine eindeutige dokumentarische Möglichkeit gibt, die Daten zu reproduzieren. Und erfordern eine Validierung, die sie können.

Zitat:

"In diesem Vortrag geben wir einen Überblick über VisTrails ( http://www.vistrails.org ), einen Open-Source-Workflow auf Python-Basis, der die Herkunft (dh die Herkunft) der Datenprodukte und die verwendeten Prozesse transparent erfasst Wir zeigen, wie VisTrails zur Optimierung der Datenexploration und -visualisierung verwendet werden kann, und zeigen anhand von Beispielen die wichtigsten Funktionen des Systems, einschließlich der Möglichkeit, Informationsverarbeitungs-Pipelines visuell zu erstellen, die mehrere Tools und Bibliotheken kombinieren, z VTK, Pylab und Matplotlib. Wir werden auch zeigen, wie VisTrails Herkunftsinformationen nutzt, um nicht nur die Reproduzierbarkeit der Ergebnisse zu unterstützen, sondern auch die Erstellung und Verfeinerung von Pipelines zu vereinfachen. "


Python ist in unserer Organisation nicht weit verbreitet, sieht aber nach einem interessanten Projekt aus. Ich werde sehen, ob ich einige Ideen dazu, wie Dinge zu tun sind, aus ihrer Dokumentation entnehmen kann.
Richie Cotton

2

Ich bin gerade auf diese Webseite gestoßen, die von ICPSR zu Datenverwaltungsplänen gehostet wird . Obwohl ich denke, dass die Ziele von ICPSR sich von denen Ihres Unternehmens unterscheiden werden (z. B. sind sie stark daran interessiert, dass die Daten ohne Verletzung der Vertraulichkeit ohne Weiteres verbreitet werden können), stelle ich mir vor, dass sie nützliche Informationen für Unternehmen enthalten. Insbesondere die Beratung zur Erstellung von Metadaten erscheint mir universell.


2

Bei viel kleineren Maßstäben habe ich die Verwendung von Dropbox zum Teilen / Synchronisieren einer Kopie der Datendateien (und Skripte und Ergebnisse) mit anderen Forschern / Mitarbeitern erlebt (ich habe hier darüber geschrieben ).

Das andere Tool, das ich verwendet habe, ist Google Docs zum Sammeln und Teilen von Daten (über das ich hier geschrieben habe )


0

Dropbox + Packrat ist gut für die gemeinsame Nutzung von Dateien mit Backup / Versionierung.

Anschließend laden Sie diese Dateien (nach automatisierter Kanonisierung / Massage) in eine Datenbank und führen die Analysen der bereinigten Daten durch. Stellen Sie die Skripte zur Automatisierung des Extract-Transform-Load-Zyklus unter Versionskontrolle (oder zumindest einen separaten Dropbox-Ordner mit der Option packrat ...).

Wenn Ihr Datenbankserver irgendwann abstürzt (oder beschädigt werden muss oder was auch immer), verfügen Sie über eine Pipeline, um Daten von benutzerfreundlichen (Excel, Webformulare usw.) zu analysefreundlichen (normalerweise normalisierten und eingeschränkten, immer bereinigten) zu verschieben.

Diese "ETL" -Phase stammt aus dem Data Warehousing. Und wenn Sie kein Online-Transaktionsverarbeitungssystem aufbauen, bauen Sie wahrscheinlich ein Data Warehouse auf. Nehmen Sie es an und nutzen Sie das, was die Menschen in den letzten 30 Jahren beim Bauen gelernt haben.

Habe Spaß.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.