Ergebnis Zeitreihe

Aggregation von Prognoseergebnissen

Zeitreihe - Aggregiere eine Folge von Dateien wählbaren Typs (GEM, STRB, FRUC, ...) nach pro Dimension (Jahr, Gebietskennzeichen (GKZ), Bevölkerungsgruppe (BG), Geschlechtsgruppe (GG), Altersgruppe (AG)) anzugebender Abbildungsfunktion und einer wählbaren Aggregationsfunktion (Summe, Mittelwert, ...).

ARBEITSWEISE

Das Verständnis der Arbeitsweise des Programms ist nutzlich, wenn man seine Funktionalität ausschöpfen möchte. Das Programm arbeitet in folgenden Schritten:

1 Aufbereiten Eingabezeile

Die Eingabezeile wird in Spalten zerlegt. Wenn nötig wird die Jahresinformation aus dem Dateinamen als erste Spalte hinzugefugt.

2 Runden Eingabe

Je nach Option wird der Eingabewert gerundet.

3 Aggregation

Aggregation bedeutet die Abbildung des n-dimensionalen Eingaberaum in einen n-dimensionalen Ausgaberaum. Dazu wird auf jede Dimension die definierte Abbildungsfunktion angewandt. Auf den resultierenden Zielindex im Ausgaberaum wird die festgelegte Aggregationsfunktion (Summe, Mittelwert, ...) angewandt.

4 Nachbereitung Aggregation

Bei den Aggreagtionsfunktionen Mittelwert, Median und Standardabweichnung muss der Ergebnisraum nochmal durchlaufen werden, um das Ergebnis zu berechnen.

Beispiel: Beim Mittelwert wird bei der Aggregation pro Zelle die Summe und die Anzahl berechnet. Der Mittelwert ergibt sich in der Nachbereitung als Summe/Anzahl.

5 Ausgabe

Der n-dimensionale Ausgaberaum wird in die Ausgabedatei geschrieben.

BESCHREIBUNG DER PARAMETER

OPTIONEN

EINGABEDATEITYP

Der Eingabedateityp legt die Struktur der Eingabedatei (Anzahl Spalten, ist Spalte 1 Kontrollzahl (Jahreszahl), ist letzte Spalte Anzahl, Rate oder Quote) und den Namen (z.B. gem), nach dem im Eingabeverzeichnis gesucht werden soll, fest.

Falls Sie Dateien aggregieren möchten, die keinem der vorgegebenen Eingabedateitypen entspricht, so können Sie selbst einen Typ definieren, in dem Sie eine Datei zeitreihe.pl im Eingabedateiverzeichnis erstellen

 # zeitreihe.pl
 # Beispiel für die Erweiterung der Dateitypen für Ergebnis - Zeitreihe
 {
     ggwr => { # Geschlechtsgruppenwechselrate
         anzahl   => 3, # Anzahl Schlüsselspalten
         yyyy     => 1, # Jahreszahl in Dateiname
         spalten  => [qw(Quellgeschlecht Zielgeschlecht Altersgruppe)],
         wert     => 'Rate', # Wertetyp
         konzahl  => 0  # keine Jahresspalten in Datei
     },
 }

ZEITREIHENPARAMETER

Aggregation uber

Für alle Merkmale der Eingabdateien (bei GEM-Dateien sind dies ) können folgende Abbildungsfunktionen gewählt werden:
FunktionWirkung
keineüber das Merkmal wird nicht aggregiert
2 stelligüber das Merkmal wird nicht aggregiert und 2-stellig mit führender Null ausgegeben. Diese Option dient dazu Altersgruppen und evtl. Gebietskennzeichen, die in den Eingabedateien nicht DUVA-gerecht sind (z.B. Altersgruppe "7") dennoch DUVA-gerecht auszugeben (z.B. Altersgruppe "07")
alle Ausprägungenwerden auf den Wert 1 abgebildet
entferne Merkmalalle Ausprägungen werden auf den Wert 1 abgebildet
Das Merkmal wird in der Ausgabedatei entfernt
reftyp 1 3 in einer Referenzdatei "reftyp.csv" muss Spalte 1 alle Ausprägungen des zu aggregierenden Merkmals enthalten,
Spalte 3 den Wert auf den die jeweilige Ausprägung abzubilden ist, bzw. -1 wenn Wert aus Spalte 1 ausgefiltert werden soll
Damit lassen sich z.B. Gebietskennzeichen auf Typen oder räumliche Einheiten aggregieren, oder
die Altersgruppen 0 bis 99 auf z.B. jung (0..19), erwerbstätig (20..64) und alt (65..99)

Benutzer mit Programmierkenntnissen (siehe Befehle können zusätzlich folgende Abbildungsfunktionen verwenden:

FunktionSynonymWirkung
$ikeinekeine Aggregation (identische Abbildung)
sprintf('%02d',$i)2 stelligkeine Aggregation, Ausgabeformat 2 Stellen mit führender 0
int($i/5)Abbildung (z.B. AG) [0,1,2,3,4] -> [0], [5,6,7,8,9] -> [1], ...
int(($i+1)/2)Abbildung (z.B. GG) [1,2] -> [1]
($i==2002)?$i:-1Auswahl eines einzigen Wertes (2002)
min($i,99)Belasse AG unter 100, ab 100 Abbildung auf 99
($i~~[07,42,99])?1:-1Aggregation der Altergruppen 01, 42, 99 auf die Altersklasse 1, ignorieren der restlichen Altersgruppen
1alle AusprägungenAbbildung aller Werte auf 1
substr($i,2,3)Abbildung (z.B. GKZ) auf Teilstring der Länge 2 ab Position 3. Beispiel: 100234 -> 23
substr($i,0,-4)Schneide die letzten 4 Stellen ab. Beispiel: 123456 -> 12
entspricht int($i/10000)
reftyp 1 0Abbildung GKZ auf laufende Nummer (ab 1). (Spalte 0 bedeutet Satznummer)
$col->[0]Bezug auf andere Spaltennummer (ab 0) in der Eingabedatei.
($col->[0] ist immer Jahr, $col->[1] und $col->[2] je nach Eingabedatei, $col->[3] ist BG, $col->[4] ist GG, $col->[5] ist AG). Damit kann man z.B. Spalten vertauschen.
 entferne MerkmalEin leeres Feld führt dazu, dass die Spalte in der Ausgabedatei entfällt.

Indices, die auf negative Werte abgebildet werden (z.B. -1), werden nicht in die Ausgabe übernommen, d.h. sie werden ausgefiltert.

DATEIAUSWAHL

Es können entweder alle Ein- und Ausgabedateien der Prognose, nur die Ausgabedateien (z.B. für die Aggregation der gem-Ausgabedateien für eine folgende Haushalteprognose) oder eine manuell eine Teilemange ausgewählt werden.

AGGREGATIONSFUNKTION

Für die Aggregation kann zwischen folgenden Funktionen gewählt werden. (In Klammern jeweils die EXCEL-Funktion zur Überprüfung der Ergebnisse)
  1. Summe (SUMME(F1:F100))
    geeignet für Dateien, die Anzahlen (nicht Quoten oder Raten) enthalten.
  2. Anzahl (ANZAHL(F1:F100))
    zählt die Eingabedaten
  3. Mittelwert = Summe / Anzahl (MITTELWERT(F1:F100))
    evtl. für Raten geeignet.
  4. Median (MEDIAN(F1:F100))
    Dei Werte werden nach Größe sortiert. Bei gerader Anzahl wird das arithmetische Mittel der beiden mittleren Werte, bei ungerader Anzahl der mittlere Wert genommen.
  5. Maximum (MAX(F1:F100))
  6. Minimum (MIN(F1:F100))
  7. Standardabweichung (STABWN(F1:F100))
    Wurzel aus mittlerer quadratischen Abweichung vom Mittelwert.
  8. Durchschnittsalter [VOGEL1996]
    Summe(Wert*(Alter+0,5))/Summe(Wert)
    Beachte: Aggregieren Sie alle alle Ausprägungen der Altersgruppen; aggregieren Sie die übrigen Merkmale so wie sie die Differenzierung des Durchschnittsalters wünschen. Wenn die Klassenbreite (NKB) der Altergruppen größer als 1 ist, dann müssen sie das Ergebnis noch mit NKB multiplizieren.
  9. Medianalter
    Lebensalter, das die Population in zwei gleich große Gruppen teilt: 50% der Bevölkerung sind jünger und 50% sind älter als dieser Wert. Dieser Wert muss bei Alterklassenbreite NKB > 1 mit NKB multipliziert werden.
  10. Modalaltersklasse
    Die am stärksten besetzte Altersklasse. Wenn zwei oder mehr Altersklassen den gleichen größten Wert enthalten, so ist der Modus undefiniert (wird als -1 angezeigt).
  11. Standardabweichung Altersindex
    Als Kenngröße z.B. für das Alter der Mutter bei der Geburt (Aggregation Datei gebam.csv) interessant, wenn man annimmt, dass die Verteilung der Altersindices annähernd eine Gauß'sche Normalverteilung mit den Parametern Erwartungswert und Varianz darstellt.
  12. Sexualproportion σ und σ* [VOGEL1996]
    σ = 1000 * M / F
    σ* = 1000 * F / M
    Beachte: Das Merkmal Geschlecht muss nach der Aggregation die Ausprägungen 1=männlich, 2=weiblich haben und die nachfolgenden Altersgruppen müssen alle auf den Wert 1 aggregiert sein. Die übrigen Merkmale aggregieren Sie so, wie Sie die Differenzierung des Ergebnisses wünschen.
Bei Befehle kann der Mittelwert mit aggFunc => 2 ausgewählt werden.

RUNDEN DER EINGABEDATEN

Die Eingabedaten können auf verschiedene Arten gerundet werden:
  1. keine Rundung
  2. Rundung nach Methode Willman
  3. Rundung Altersgruppe: Abschneiden ( Wert + 0,5 )
  4. Rundung GG/BG/GKZ/Jahr:
    asymetrisch mit minimalem Fehler so runden, dass gerundete Summe der Werte gleich Summe der asymetrisch gerundeten Werte ist.
Bei Befehle kann die Rundung nach Methode Willmann mit runden => 1 ausgewählt werden.

Es folgt eine Zusammenstellung von Analysen zum Thema summentreues Runden:
Fur summentreues Runden der GEM-Dateien stehen die Methoden Willman oder 2 Methoden Tullmann/Braunschober zur Auswahl

  1. Die Willman Methode:
    d=0
    for i (0 .. 99)
      r[i] = int(v[i] + d + 0.5)
      d = v[i] - r[i] + d
    Vorteil: Erhält die Summe immer!
    Nachteil: neigt lokal zum "Schwingen":
    
    1;1,49 -> 1
    2;1,01 -> 2
    3;1,99 -> 1
    4;1,01 -> 2
    5;1,99 -> 1
    
    Die Willman-Rundung ist fur die Eingabedatei aber nicht fur Untergruppen summentreu:
    Beispiel:
    
    Ausgangs Gruppen   Willman   Gruppen
    Daten    Summe     Rundung   Summe
    1;1,3                 1
    1;1,3      2,6        2        3    
    2;1,3                 1
    2;1,3      2,6        1        2
    -----                --
      5,2
      5                   5
    
  2. Asymetrische Runden durch Bisektion:
    Verfahren: Suche durch Bisektion einen anderen Schwellwert als 0.5 ab dem aufgerundet wird.
    Vorteil: macht lokal sehr kleine Fehler
    Nachteil: findet manchmal keine Lösung, z.B.
    
    1;1,7
    1;1,7
    1;1,7
    
  3. Asymetrische Runden mit minimalem Fehler:
    Verfahren:
    1. Runde probehalber korrekt (int(x+0.5))
    2. D = gerundete Summe - Summe gerundete Werte
    3. Wenn D = 0 dann Ende
    4. Wenn D < 0 dann
      sortiere die aufgerundeten Werte nach Aufrundungsdifferenz
      und runde D größten Aufrundungsdifferenzen ab
    5. Wenn D > 0 dann
      sortiere die aufgerundeten Werte nach Abrundungsdifferenz
      und runde D größten Abrundungsdifferenzen auf

Ausgabe

Wenn Sie für die Option [ ]-te Spalte nebeneinander eine Spalte wählen, dann werden die Werte dieser Spalte in der Ausgabedatei nebeneinander statt wie üblich nacheinander ausgegeben. Damit kann man z.B. bei der Aggregation von GEM-Dateien und Auswahl 5-te Spalte nebeneinander die 100 Altersgruppen in der Ausgabedatei nebeneinander anordnen, was zu einer kompakteren Ausgabedatei führt. Allerdings erschwert dies die Weiterverarbeitung der Ausgabedatei mit den übrigen Werkzeugen wie Glätten und Visualisierung.

Bei Befehle kann die 5. Spalte nebeneinander columnCross => 5 ausgewählt werden.

Runden der Ausgabedaten

Hauptmaske/Optionen/Systemenstellungen/CSV
[ %.0f ] Gleitkomma-Ausgabeformat

Referenz

VOGEL1996
Vogel, Grünewald, Kleines Lexikon der Bevölkerungs- und Sozialstatistik, R. Oldenbourg Verlag, 1996, ISBN 3-486-21680-5