3  Richtlinien zur Gestaltung der Auswertungsprogramme

Um die Datenschutzprüfung durchführen zu können, muss es den in einem täglich rotierenden Verfahren wechselnden prüfenden FDZ-Mitarbeitenden möglich sein, sich auch ohne Kenntnisse über den Projektinhalt in den Programmen zurecht zu finden. Aus diesem Grund ist eine ausreichende Kommentierung der Do-Files notwendig. Beispiele zum Aufbau der Do-Files finden Sie in den FDZ templates auf unserer Homepage.

Folgende allgemeine Kriterien müssen bei der Generierung von Auswertungsprogrammen beachtet werden, damit ein Auswertungsprogramm den Richtlinien des FDZ1 entspricht.

3.1 Die Master-Datei

Die Master-Datei muss folgendermaßen gestaltet sein:

  • Alle im Verlauf des Projektes verwendeten Programme sind von einer übergeordneten Master-Datei aufzurufen. Sie muss immer master.do heißen. Die Datei master.do do in den FDZ-Templates veranschaulicht ihren Aufbau.
  • Benutzen Sie zum Zugriff auf Dateien immer die Stata-Globals $orig, $prog, $data und $log. Sie stehen sowohl bei der Datenfernverarbeitung mit JoSuA als auch bei Gastaufenthalten und dem Remote Desktop Zugang automatisch zur Verfügung und verweisen auf den korrekten Speicherort. Die Globals dürfen nicht überschrieben werden.
  • Nutzen Sie keine cd-Befehle oder relative Pfadangaben.
  • Verwenden Sie niemals die Anweisung set max_memory.
  • Nicht erlaubte Befehle werden durch JoSuA zensiert. In diesen Fällen sehen Sie die Zeile auskommentiert mit *** CENSORED ***.
  • Die Master-Datei muss alle im Projektverlauf relevanten Auswertungsprogramme enthalten. Es ist wichtig, dass in der Master-Datei hinter jedem Programmaufruf eine kurze Beschreibung der Inhalte des jeweiligen Unterprogramms erfolgt. Verzichten Sie auf die Option nostop.
  • Die Auswertungsprogramme sind in der Reihenfolge des Programmablaufs zu nummerieren. Arbeiten mehrere Nutzende zusammen an einem Projekt, so können ihre Programme durch Kürzel im Dateinamen unterschieden werden, z.B. jd02_describe.do. Dies gilt nicht für master.do.
  • Alle von Ihnen erzeugten Dateien (Ergebnisdateien, Analysedatensätze, usw.) müssen anhand Ihrer Programme und der Originaldaten replizierbar sein.
  • Bereits ausgeführte Programmschritte, die seit der letzten Einsendung über JoSuA nicht verändert wurden, sind im Projektverlauf in master.do auszukommentieren. Über JoSuA besteht der Zugriff auf gespeicherte Datensätze in den Verzeichnissen orig und data. Lediglich Do- und Log-Files aus JoSuA-Jobs werden auf separaten Servern gespeichert.
  • Für JoSuA empfehlen wir, im Internal Use Modus die Zeilenlänge mit dem Befehl set linesize auf 120 zu setzen, da dies der Breite des Output-Fensters in JoSuA entspricht.

3.2 Auswertungsprogramme

  • Ergebnisdateien (auch Grafiken) müssen den gleichen Dateinamen tragen wie das Programm, mit dem diese Dateien generiert werden. Beispielsweise erzeugt jd02_describe.do die Ergebnisdatei jd02_describe.log. Die zwei in jd05_graphs.do erzeugte Grafiken könnten z.B. jd05_graphs_02_boxplot1.gph und jd05_graphs_02_boxplot2.gph heißen.
  • Die Programme müssen für die Datenschutzprüfung in deutscher oder englischer Sprache dokumentiert sein (siehe FDZ templates). Achten Sie dabei darauf:
    • in jedem Do-File immer zuerst ein Log-File zu öffnen (vor jeder weiteren Anweisung und vor der inhaltlichen Beschreibung des Do-Files),
    • an den Anfang jedes Do-Files zentrale Informationen (z.B. Autor*in, verwendeter Datensatz) zu schreiben (siehe auch Beispiel in jd02_describe.do),
    • Zwischenüberschriften zu verwenden (z. B. “Aufbereitung der Variablen X”, “Aggregation auf Betriebsebene”),
    • die Inhalte und Funktion von Schleifen zu beschreiben und Tabellenbeschreibungen in Schleifen zu programmieren (z. B. mit dem display Befehl),
    • für alle wichtigen Variablen, die neu gebildet wurden, Variablenlabels und ggf. Wertelabels zu vergeben,
    • möglichst sprechende Variablennamen zu verwenden,
    • selbst generierte Variablen direkt vor Auszählungen kurz zu beschreiben und
    • o den Inhalt einer jeden Abbildung und komplexer Tabellen zu beschreiben (siehe Beispiele in den FDZ templates).
  • Ergebnistabellen und Grafiken, die im Presentation / Publication Modus ausgegeben werden, müssen sorgfältig dokumentiert werden (siehe auch Beispiele in jd02_describe.do und jd05_graphs.do):
    • Jede Tabelle/Grafik muss eine Überschrift mit einer fortlaufenden Nummer innerhalb eines Do-Files haben.
    • Jede Tabelle/Grafik benötigt eine Beschreibung mit dem Namen und dem Inhalt der ausgewiesenen Variablen, den relevanten Auswahlkriterien und dem Verwendungszweck der Tabelle/Grafik.
    • Alle anderen Befehle für Ergebnisse, die nur im Internal Use Modus, Remote Desktop Zugang oder im Gastaufenthalt relevant sind, müssen gelöscht oder auskommentiert werden.
  • Für die Ausgabe von Regressionsergebnissen empfehlen wir folgendes Vorgehen (siehe Beispiele in jd03_analyses.do):
    • Fassen Sie – sofern möglich - mehrere Regressionen in einer Tabelle zusammen (z. B. mit estimates table, estout, usw.). Lassen Sie sich diese Ergebnisse möglichst nicht zweimal ausgeben! Hierfür können Sie “quietly” vor dem Regressionsbefehl verwenden.
    • Wenn Sie nur eine Teilmenge der Regressionskoeffizienten für Ihre Veröffentlichung benötigen, lassen Sie bitte nur diese ausgeben, umfangreichere Ergebnisse können Sie sich zur Prüfung im Internal Use Modus ausgeben lassen.
    • Beschreiben Sie bitte die Besonderheiten, die für die Überprüfung des Datenschutzes relevant sein könnten (vollständig interagierendes Modell, Regressand ist Dummy, usw.). Aus der Kopfzeile der Regressionstabelle muss klar hervorgehen, um welche Ergebnisse es sich handelt (falls es mehrere gibt).
    • o Wir akzeptieren Regressionstabellen, die als TeX-Code ausgegeben werden, aber nur, wenn sie leicht lesbar sind; stellen Sie sicher, dass die Spalten feste Breiten haben.
  • Auswertungsprogramme (wie auch eingeschickte Ado-Files) dürfen grundsätzlich keine Daten oder Fallzahlen enthalten. Externe aggregierte Datensätze müssen separat als Stata-Dateien eingeschickt werden. Ausgenommen hiervon sind Klassifikationen und Umrechnungsfaktoren (z. B. Beitragsbemessungsgrenzen, Euro-Umrechnung, BIP-Deflatoren, Verbraucherpreisindizes, Umschlüsselung von Wirtschaftszweigen, Kreisen oder Arbeitsagenturbezirken). Bitte kommentieren Sie, welche Klassifikationen und Umrechnungsfaktoren Sie in Ihrer Programmierung verwenden. Beachten Sie hierbei bitte unsere Anleitungen zum Import aggregierter Datensätze in Abschnitt 2.2.2.

3.3 Datensparsamkeit

  • Verwenden Sie den Speicherplatz in Ihrem Verzeichnis data sparsam. Wird das Maximum von 30 GB überschritten, können keine weiteren Jobs eingeschickt werden (ausgenommen Löschprogramme, siehe jd07_cleanup.do), bis der Speicherbedarf reduziert wurde.
  • Speichern Sie nur dann Zwischendatensätze ab, wenn es für die weitere Analyse erforderlich ist. Datensätze sollten mithilfe Ihrer Do-Files jederzeit reproduzierbar sein. Löschen Sie zwischenzeitlich generierte Datensätze, wenn diese nicht länger benötigt werden (siehe jd07_cleanup.do).
  • Schränken Sie Ihren Datensatz auf diejenigen Variablen und Beobachtungen ein, die Sie für Ihre Analysen tatsächlich benötigen (siehe jd01_dataprep.do und jd04_mergebhp.do).
  • Zur Entwicklung Ihrer Programme kann es sinnvoll sein, die Lauffähigkeit zunächst an einer Stichprobe zu testen (siehe jd00_subsample.do).
  • Nutzen Sie den Befehl compress mindestens vor dem Speichern von Datensätzen.
  • Achten Sie bei der Erstellung von Variablen darauf, sie im sparsamsten Format zu erzeugen (z.B. generate byte oder generate int).
  • Der verfügbare Arbeitsspeicher ist beschränkt auf 30 GB per person and project.

  1. Weitere Informationen finden Sie in den Anleitungen↩︎