Berechnen Eingabedaten

Berechnen von SIKURS-Eingabdaten aus Statistikdatensatz Bestand/Bewegung, Makrodaten und weiterer Quellen

Übersicht über die Dateien Statitikdatensatz, Makrodateien, SIKURS-Dateien, Haushalteprognose

Makrodateien aus Statistikdatensatz Bestand/Bewegung

Ein Eingabeverzeichnis enthält eine oder mehrere Statistikdatensätze Bestand und Bewegung als Datei oder Verknüpfung mit folgenden Namenskonventionen:
dstbest*.txt[.lnk] -- Statistikdatensatz Bestand
dstbew*.txt[.lnk]  -- Statistikdatensatz Bewegung
Enhält der Dateiname eine 4-stellige Zahl, so wird diese als Referenzjahr für die Ausgabedateien statt der Merkmale Z02/Z01 verwendet.
(bei Z02=20150117 ist anzunehmen, dass 2014 das richtige Referenzjahr ist)
Wenn das Referenzjahr aus dem Dateinamen stammt, dann werden auch Sätze verarbeitet, die laut Z01/Z02 aus einem anderen Jahr stammen.
Wenn das Referenzjahr aus Z01/Z01 des ersten Datensatzes stammt, dann werden alle Sätze mit einem andern Jahr bezüglich Z01/Z01 ignoriert.
Das Eingabeverzeichnis wird nach dessen Auswahl zur Prüfung der Referenzjahre angelistet:
F:/sikurs/statistikdatensatz:
  2011 Z02:20111231 dstbest_2011.csv.lnk
! 2012 Z02:20130117 dstbest_2012.csv.lnk
? 2013 Z02:20151231 dstbest_2013.csv
  2011 Z01:20111231 dstbew_alt.csv.lnk
  2012 Z01:20121231 dstbew_neu.csv.lnk
! eine möglicherweise richtige Korrektur der Referenzjahrs
? eine wahrscheinlich falsche Korrektur des Referenzjahres

Die Makrodateien werden in ein Unterverzeichnis makro geschrieben.

Eingabemaske
Auswahlfilter R01 (1+2)Möglichkeit eine Basisgemeinde auszuwählen
Abbildung R02/R02U2/ANSTI/ANSTE (RQZ/RQZU2) (1+2)Aggregationsstufe für die Ausgabedateien
Abbildung Gebiet GEM in Teilgebiet REFTYP (1+2)Vom Gebietsschlüssel in GEM wird die gegebnen Anzahl Stellen von hinten gestrichen, um auf den Schlüssel von REFTYP zuzugreifen.
Beispiel:
3     Abbildung GEM -> REFTYP
12345 Gebietsschlüssel GEM
12    Gebiets(aggregat)schlüssel REFTYP
Diese Aggregation reduziert bei sehr feinkörnigen Gebieten (z.B. Haushalte) die Größe von REFTYP wesentlich.
Anzahl signifikante Stellen Außentyp W40/W41 (2)
0 reftya.csv:
0;2

Es wird immer der Außentyp 2 vergeben.
fehlt reftya, wird Außentyp 1 vergeben
3 Stellen W40 werden über die Referenzdatei reftya auf eine Außentypnummer abgebildet.
Wenn die Datei reftya oder der Schlüssel in reftya fehlt, dann wird Außentypnummer 1 vergeben und in reftya_roh wird ein Eintrag aufgenommen
-5 3 Stellen W40 + 2 Stellen W41 werden über die Referenzdatei reftya auf eine Außentypnummer abgebildet.
Fehlt reftya oder der Schlüssel in reftya, dann werden die 5 Stellen W40/W41 als Außentypnummer vergeben.
Dann ist es notwendig bei der Berechnung der SIKURS-Eingabedateien aus den Makrodateien den Außentypschlüssel über eine Referenzdatei reftya auf eine Außentypnummer abzubilden.
Ableitung Demografische Sondergruppen (1)0: nein, 1: ANSTI≠1, 2: ANSTE≠1
Ableitung Erstbezug Neubauten (2)0: nein, 1: übernehme Feld NEUB in Datei neubaubezug.csv
Ableitung Nettobewegungen (2)0: nein, 1: Ausschluss der Statistikdatensätze Bewegung mit Feld ANST (267/1) = 2 (Adresse ist Anstalt / Pflegeheim)
mit Wirkung aus Statistikdatensatz ():
  1. Bevölkerungsbestand
  2. Bevölkerungsbewegung

Für Verarbeitung von Statistikdatensatz Bestand und Bewegung gelten folgende Details:

Makrodateien Bestand aus Statistikdatensatz Bevölkerungsbestand

Verabeitung Statistikdatensatz Bevölkerungsbestand mit Ausgabe der für die Ratenberechnung benötigten Makrodatei, d.h. Bestandsdatei und optional Demografische Sondergruppen.

Beim Lesen von dstbest gilt der Filter W01=1 (Personen am Ort der HW)

Ausgabedateien:

bestand_jjjj.csv Ausgabedatei Bestand
dsg_jjjj.csv Demografische Sondergruppe (keine, ANSTI != 1, ANSTE != 1)
nettobestand_jjjj.csv Nettobestand (Bestand ohne Demografische Sondergruppe)
JahrJJJJ aus Z02 Verarbeitungsdatum
GebietAbbildung R02/R02U2/ANSTI/ANSTE                               
Bevölkerungsgruppewenn P05 = 000 dann 1 sonst 2 (*)
GeschlechtsgruppeP02
AltersgruppeA01
PersonenAnzahl

(*) will man mit Bevölkerungsgruppe statt "1: deutsch, 2: nicht deutsch" (mit einer Referenzdatei refP05) feiner differenzieren, oder ein anderes Attribut (z.B. P08 Religion), oder ein kombiniertes Attribut (z.B. 1: deutsch, RK, ..., n: nicht deutsch, SO) verwenden, ist obige Ableitung zu erweitern.

Mit Anzeige Statistikdatensatz können die Ergebnisse überprüft, oder andere Filterbedingungen getestet werden.
Beispiel Sterbefälle:

  1. Haushalte/Anzeige/Start
  2. Auswahl dstbest*.txt[.lnk]
  3. Auswahl Sätze für Anzeige
    [0      ] Hexadezimaldarstellung
    [1-*    ] Satznummern
    Satzinhalt
    # berechne Makrodatei Bestand
    $bb->{jahr} = substr(Z02,0,4) unless exists $bb->{jahr};
    if (W01==1) { # Hauptwohnung
        my $G  = substr(R02,0,2); # Gebiet: 2 Stellen aus R02
        my $BG = bevgrp(P05);     # Bevölkerungsgruppe
        my $AG = altgrp(A01);     # Alter bis 99
        $bb->{bestand}{$bb->{jahr}}{$G}{$BG}{P02}{$AG}++
    }
    END { pcsv($HTM, $bb->{bestand}, "bestand_$bb->{jahr}.csv", '#Jahr;Gebiet;BG;GG;AG;Anzahl') };
    
    [ ] Ausgabe Sätze in Tabelle
    [ ] Ausgabe Sätze in csv-Datei
    [ ] Ausgabe Sätze in dst-Datei
    [ ] Histogramm
    [ OK ]

Bewegung aus Statistikdatensatz Bevölkerungsbewegungen

Verabeitung Statistikdatensatz Bevölkerungsbewegungen mit Ausgabe der für die Ratenberechnung benötigten Makrodateien, d.h. Bewegungsdateien.

Für die Abbildung von W40+W41 in Außentypen für aussenzuzug und aussenwegzug wird die Datei reftya.csv gelesen.

reftya.csv:
#W40W41;Außentyp
012;2
...
d.h. Abbildung aller W40+W41 auf den Außentyp.
Enthält das Gebietskennzeichen führende Nullen, muss man diese bei der Bearbeitung mit Excel besonders schützen (siehe Hinweis zu Eingabedatei reftyp im Benutzerhandbuch).
Am Programmende erscheinen in der log-Datei Wenn keine Datei reftya.csv existiert, so wird für alle W40+W41 der Außentyp 1 oder der Schlüsselwert (siehe hier) angenommen.
Für jeden Statistikdatensatz Bewegung wird eine Datei reftya_2015.csv (für Referenzjahr 2015) ins Unterverzeichnis makro ausgegeben.
Der Benutzer kann diese Datei editieren und andere Außentypen eintragen, die Datei vom Unterverzeichnis makro ins Eingabeverzeichnis als reftya.csv kopieren
copy makro\reftypa_2015.csv reftya.csv
und dann den Lauf mit der geänderten reftya.csv wiederholen.

Eine weitere Aggregation (z.B. auf Typen Geburtenraten) kann anschließend bei der Berechnung der fruc-Datei aus Geburten und Bestand durch Angabe einer Referenzdatei erfolgen.
Beim Lesen von dstbew gilt der Filter W01=1 (Personen am Ort der HW)
Ausgabedateien:

aussenwegzug_jjjj.csv
B03=2 and B04=3 and (B07=1 or B07=2)
Gebiet:
(W40+W41)>0
JahrJJJJ aus Z01 Verarbeitungsdatum
QuellgebietAnzahl signifikante Stellen aus R02
Außentypreftya(W40+W41)
Bevölkerungsgruppewenn P05 = 000 dann 1 sonst 2
GeschlechtsgruppeP02
Altersgruppe(*)
AußenwegzugAnzahl

aussenzuzug_jjjj.csv
B03=1 and B04=3 and (B07=1 or B07=2)
Gebiet:
(W40+W41)>0
JahrJJJJ aus Z01 Verarbeitungsdatum
Außentypreftya(W40+W41)
ZielgebietAnzahl signifikante Stellen aus R02
Bevölkerungsgruppewenn P05 = 000 dann 1 sonst 2
GeschlechtsgruppeP02
Altersgruppe(*)
AußenwegzugAnzahl
Für eine Prognose mit Baustein
K6 - Vollständige Vorgabe des Außenzuzugs aus der Datei ZUVG0000
kann die Datei ohne Änderung durch Umbenennung in zuvgjjjj.csv verwendet werden.

baby_jjjj.csv
B03=1 and B04=1 and B07=1
JahrJJJJ aus Z01 Verarbeitungsdatum
GebietAnzahl signifikante Stellen aus R02
Bevölkerungsgruppewenn P05 = 000 dann 1 sonst 2
GeschlechtsgruppeP02
Altersgruppe0
BabiesAnzahl

bgw_jjjj.csv
B03=1 and B05=4
Wichtig - nur Staatsangehörigkeitswechsel zwischen deutsch und nichtdeutsch betrachten:
((P05>000 and P05QZ=000) or (P05=000 and P05QZ>000)) and P05≠P05QZ
JahrJJJJ aus Z01 Verarbeitungsdatum
GebietAnzahl signifikante Stellen aus R02
Bevölkerungsgruppe vonwenn P05=000 dann 1 sonst 2
Bevölkerungsgruppe nachwenn P05QZ=000 dann 1 sonst 2
GeschlechtsgruppeP02
Altersgruppe(*)
Wechsel der BevölkerungsgruppeAnzahl

binnenwegzug_jjjj.csv
B03=2 and B04=4 and B07=1
JahrJJJJ aus Z01 Verarbeitungsdatum
QuellgebietAnzahl signifikante Stellen aus R02
ZielgebietAnzahl signifikante Stellen aus RQZ
Bevölkerungsgruppewenn P05 = 000 dann 1 sonst 2
GeschlechtsgruppeP02
Altersgruppe(*)
BinnenwegzugAnzahl

geburt_jjjj.csv
B03=1 and B04=1 and B07=1
JahrJJJJ aus Z01 Verarbeitungsdatum
GebietAnzahl signifikante Stellen aus R02
Bevölkerungsgruppewenn G02 = 000 dann 1 sonst 2
AltersgruppeG01
GeburtenAnzahl

neubaubezug_jjjj.csv Erstbezug Neubauten
NEUB>0 falls Feld versorgt, Ableitung optional
JahrJJJJ aus Z01 Verarbeitungsdatum
GebietNEUB (Neubautyp 1-9) (statt Anzahl signifikante Stellen aus R02)
Bevölkerungsgruppewenn P05 = 000 dann 1 sonst 2
GeschlechtsgruppeP02
Altersgruppe(*)
NeubauerstbezieherAnzahl

sterb_jjjj.csv
B03=2 and B04=2 and B07=1
JahrJJJJ aus Z01 Verarbeitungsdatum
GebietAnzahl signifikante Stellen aus R02
Bevölkerungsgruppewenn P05 = 000 dann 1 sonst 2
GeschlechtsgruppeP02
Altersgruppe(*)
SterbefälleAnzahl

(*) Das Alter wird nicht wie beim Bestand aus A01, sondern aus der Differenz der Jahresanteile von Z01 und P01 (AG = substr(Z01,0,4)-substr(P01,0,4)) berechnet, weil A01 in der Bewegungsdatei das Alter zum Zeitpunkt des Abzugs ist, SIKURS aber das Alter zum 31.12. benötigt.
Für Tests kann zwischen Z01-Verarbeitungsdatum, Z02-Ereignisdatum gewählt werden.

Die Ausgabedateien können als Eingabdateien für
"Eingabedaten/Berechnen/Start/SIKURS Eingabedaten berechnen..."
verwendet werden.

Mit Anzeige Statistikdatensatz können die Ergebnisse überprüft, oder andere Filterbedingungen getestet werden.
Beispiel Sterbefälle:

  1. Haushalte/Anzeige/Start
  2. Auswahl Verzeichnis der Datei dstbew
  3. Auswahl dstbew.txt
  4. Auswahl Sätze für Anzeige
    [0      ] Hexadezimaldarstellung
    [1-*    ] Satznummern
    Satzinhalt
    # berechne Makrodatei Sterbefälle
    if (W01==1 and B03==2 and B04==2 and B07==1) {
        $bb->{j} = substr(Z01,0,4);
        my $g    = substr(R02,0,2);
        my $gg   = (P05==0) ? 1 : 2;
        my $ag   = substr(Z02, 0, 4) - substr(P01, 0, 4);
        $bb->{sterb}{$bb->{j}}{$g}{$gg}{P02}{min($ag,99)}++
    }
    END { pcsv($HTM, $bb->{sterb}, "sterb_$bb->{j}.csv", '#Jahr;Gebiet;BG;GG;AG;Anzahl') };
    
    [ ] Ausgabe Sätze in Tabelle
    [ ] Ausgabe Sätze in csv-Datei
    [ ] Ausgabe Sätze in dst-Datei
    [ ] Histogramm
    [ OK ]
Anmerkungen:
1-*Auswahl erster bis letzter (*) Satz
W01==1W01 gleich 1 (doppeltes == wichtig)
$bb->{J}{G}{BG}{GG}{AG}++zählt Jahr, Gebiet, Bevölkerungsgruppe, Geschlechtsgruppe, Alter
substr(R02,0,2)wählt die ersten beiden Ziifern aus R02
END {...};wird am Ende ausgeführt
pcsvgibt das Ergebnis aus
Alternativ kann phtml verwendet werden
Beispiel Satzinhalt für die Ableitung mehrerer Bewegungen aus dstbew
# berechne Makrodateien aus dstbew
$bb->{jahr} = substr(Z02,0,4) unless exists $bb->{jahr};
if (W01==1) { # Hauptwohnung
    my $G  = substr(R02,0,2); # Gebiet: 2 Stellen aus R02
    my $BG = bevgrp(P05)      # Bevölkerunggruppe
    my $AG = altgrp(A01);     # Alter bis 99
    if (B03==1 and B04==1 and B07==1) {
        $bb->{geburt}{$G}{G02==0 ? 1 : 2}{G01}++;
        $bb->{baby}{$G}{$BG}{P02}{0}++;
    } elsif (B03==2 and B04==2 and B07==1) {
        $bb->{sterb}{$G}{$BG}{P02}{$AG}++;
    } elsif (ableitung_NEUB and B03==1 and B04~~[3,4] and B07~~[1,2] and NEUB ne ' ' and NEUB!=0) {
        $bb->{neubaub}{$G}{$BG}{P02}{$AG}++;
    } elsif (B03==1 and B04==3 and B07~~[1,2]) {
        $bb->{zuzug}{1}{$G}{$BG}{P02}{$AG}++;
    } elsif (B03==2 and B04==3 and B07~~[1,2]) {
        $bb->{wegzug}{$G}{1}{$BG}{P02}{$AG}++;
    } elsif (B03==2 and B04==4 and B07==1) {
        $bb->{strom}{$G}{substr(RQZ,0,2)}{$BG}{P02}{$AG}++;
    } elsif (B03==2 and B05==4) {
        if (((P05>0 and P05QZ==0) or (P05==0 and P05QZ>0)) and (P05!=P05QZ)) {
            $bb->{bgw}{$G}{$BG}{P05QZ==0 ? 1 : 2}{P02}{$AG}++;
        }
    }
}
END {
    pcsv($HTM, $bb->{wegzug},  "aussenwegzug_$bb->{jahr}.csv");
    pcsv($HTM, $bb->{zuzug},   "aussenzuzug_$bb->{jahr}.csv");
    pcsv($HTM, $bb->{baby},    "baby_$bb->{jahr}.csv");
    pcsv($HTM, $bb->{bgw},     "bgw_$bb->{jahr}.csv");
    pcsv($HTM, $bb->{strom},   "binnenwegzug_$bb->{jahr}.csv");
    pcsv($HTM, $bb->{geburt},  "geburt_$bb->{jahr}.csv");
    pcsv($HTM, $bb->{neubaub}, "neubaubezug_$bb->{jahr}.csv");
};

Raten/Quoten/gem/reftyp aus Makrodateien für Bestand und Bewegung

Kurzbeschreibung Arbeitsweise

Beispiel: Für die Berechnug der Sterberaten strb und Ausgangsbevölkerung gem kann das Makroverzeichnis folgende Dateien enthalten
Eingabedateien Verzeichnis
makro
Ausgabedatei
bprog
bestand_2015
bestand_2016baby_2016sterb_2016
bestand_2017baby_2017sterb_2017gem2017_roh
baby_2018sterb_2018strb2018_roh
d.h. zum Jahresintervall bestand[2015..2017] gehört ein um 1 versetztes Jahresintervall baby[2016..2018] + sterb[2016..2018] um die Sterberaten strb2018 und Ausgangsbevölkerung gem2017 zu erstellen: Das Jahr der Sterberaten strb2018 entspricht dem letzen Jahr des Jahresintervalls der Bewegungsjahre [2016..2018].
Die Ausgangsbevölkerung gem2107 wird vom letzten Jahr bestand_2017 übernommen.

Vorbereitung

Vor der Berechnung der Prognoseparameter sollten die Eingabedateien mit den Programmen Pyramiden, Visualisieren und Glätten, und GIZEH zur Kontrolle unbesetzter oder mit Null besetzter Felder sowie unplausibler Ausreißer visualisiert und gegebenenfalls modifiziert werden. Von einer Glättung der Eingabedateien ist in der Regel abzuraten.

Enthalten die Eingabedateien Gebietskennzeichen, die in Gebietstypen umzuschlüsseln sind, dann muss eine Referenzdatei reftyp.csv mit der gleichen Strukur wie reftyp in der Bevölkerungsprognose erstellt werden.

Beispiel:

reftyp.csv:
#GKZ;Name;TYG;TYS;TYB;TYZZA;TYQWA;TYNEE;TYREA;TYWBG;TYAGF;TYHH;AGG
10012;Adorf;1;1;1;1;1;1;1;1;1;1;11
10023;Bdorf;2;2;2;2;2;2;2;2;1;2;12
 ...

Laufzeitparameter

Beim Start des Programms können in der Eingabemaske folgende Parameter festgelegt werden:

Raten/Quoten/Ausgangsbevölkerung

Auswahl der zu berechnenden SIKURS-Datei Raten (BGWR, DSGR, ..., WEGZ), Quoten (NEBQ, ZUAQ, ZUDQ), Ausgangsbevölkerung (ZUVL, GEM, REFTYP).

Raten aus Netto- oder Bruttobestand

Folgendes ist nur relevant, wenn Dateien dsg*.csv für "Demografische Sondergruppen" vorhanden:
Die Datei bestand*.csv enthält den Bruttobestand.
Der Nettobestand ist der Bestand ohne die Demografischen Sondergruppen.
Der Anwender entscheidet, ob die Raten BGWR .. WEGZ mit dem Bruttobestand oder dem Nettobestand berechnet werden.
Ausnahme ist die Rate DSGR, die immer aus dem Bruttobestand berechnet wird.

Ermittlung Geborene im Bestand

Zur Sikurs konformen Berechnung der Bewegungsparameter muss die unterste Altersgruppe des Bestandes die Anzahl Geborener im Berichtsjahr enthalten. Die Werte der entsprechenden Felder mit dem Altersindex 0 können nach drei Alternativen ermittelt werden.

(siehe Abschnitt: Berechnung der Ausgabedateien)

In Bestands-/Bewegungs-Dateien Gebiete auf Typen abbilden

Wenn mindestens eine der Optionen für Bewegungs- und Bestands-Dateien gesetzt ist, wird eine Referenzdatei eingelesen und die Gebietsnummern in den Bestands-/Bewegungs-Dateien in Typnummern umgesetzt. Andernfalls wird angenommen, dass die Bestands-/Bewegungs-Dateien bereits Typnummern enthalten.

Wird eine Baby-Datei verwendet, muss sie die gleiche Struktur wie die Bestands-Dateien haben, d.h. in Spalte 2 ein Gebietskennzeichen oder einen Typ

Bevölkerungsgruppen zusammenfassen

Wenn man Prognosen mit nur einer Bevölkerungsgruppe rechnen will, kann man evtl. vorhandene unerschiedliche Bevölkerungsgruppe zu einer Bevölkerungsgruppe zusammenfassen.

Altersgruppen zu Altersklassen zusammenfassen

[v] Altersgruppen zu Altersklassen zusammenfassen
mit der Eingabedatei
altersklassen.csv:
#! expand(1)
#Ausgabedatei;Altersklassen
bgwr;21
strm;6;21;65
wegz;
zuaq;18;65
fasst für ausgewählte Ausgabedateien Altersgruppen zu Altersklassen zusammen, dabei bedeutet (bei 100 Altersgruppen)
AusgabedateiVorgabe KlassenAltersklassen
bgwr210..20, 21..99
strm6;21;650..5, 6..20, 21..64, 65..99
wegz0..99
zuaq18;650..17, 18..64, 65..99
Die Zusammenfassung von Altersgruppen zu Altersklassen ist eine Alternative für das Glätten der Ausgabedateien, insbesondere wenn die Verteilung der Werte über die Altersgruppen sehr zufällig erscheint, weil Die Ausgabedatei z.B. zuaq2017.csv sieht dann z.B. so aus
#Außentyp;Zieltyp Außenzuwanderung;Bevölkerungsgruppe;Geschlechtsgruppe;Altersgruppe;Quote
1;1;1;1;00..17;0,012
1;1;1;1;18..64;0,015
1;1;1;1;65..99;0,013
...
5;7;2;2;00..17;0,012
5;7;2;2;18..64;0,015
5;7;2;2;65..99;0,013
Mit dem optionalen Eintrag #! expand(1) in altersklassen.csv kann man die Altersbereiche z.B. 00..17 in 18 getrennt Zeilen auflösen

siehe auch roadmap 056

Ausgabe Null-Werte

Eine Rate = 0 entsteht, wenn für einen positiven Bestand keine Bewegung vorliegt.
Beispiel: Sterberaten: Sterberate 0 bedeutet eine berechnete Sterberate 0. Enthält eine Altersguppe weder Berstand noch Bewegung kann keine Sterberate berechnet werden, da aber Sterberaten nie 0 sind, muss man eine andere Quelle (z.B. amtliche Sterberaten) heranziehen.

Undefinierte Werte

Undefinierte Werte 'nan' (not a number) für eine Rate entstehen, wenn Zähler (Bewegung) und Nenner (Bestand) bei der Berechnung einer Rate bei einer Altersgruppe beide Null oder undefiniert sind.
Beispiel: Wenn in einer Altersgruppe kein Todesfall und kein Bestand vorliegen, dass kann die Sterberate theoretisch jeden Wert zwischen 0 und 1 annehmen.
Sinnvollerweise sollte man den Wert einer Nachbargruppe übernehmen, z.B bei Altersgruppe 95 einen hohen Wert (z.B. 0,3) und bei einer Altersgruppe 5 einen niedrigen Wert (z.B. 0,001).
Ein gleitendes Mittel über die Nachbargruppen ist nicht sinnvoll, da diese dadurch reduziert würden.
Die Optionen
  1. Wert wird als 0 angenommen und je nach Option 'Ausgabe Nullwerte" ausgegeben oder nicht.
  2. Ausgabe Text 'nan'
    Der Benutzer kann dann beim Prüfen und vor dem Glättern der Raten bei einzelnen undefierten Altersgruppen den Wert einer Nachbargruppe oder den Mittelwert einiger Nachbargruppen (ohne wie beil gleitenden Mittel den eigenen Wert als 0 zu berücksichtigen) eintragen.
    Dies läßt sich mit Extras/Eigene Scripts/Start/undef.pl automatisieren
  3. debug-Ausgaben zum Nachrechnen der Raten
Wenn Zähler (Bewegungen) größer Null und Nenner (Bestand) nicht definiert oder Null (was eigentlich nicht sein kann), dann bekommt die Rate den Wert "Inf" (∞) und es wird eine Warnung ausgegeben.
Der Anwender sollte seine Eingabedateien überprüfen, oder mindestens den Eintrag mit "inf" in der Ratendatei streichen.

Altersgruppen, Altersuntergrenze/Altersobergrenze Fruchtbarkeit

Die Makro-Eingabedateien enthalten die 2-Stelligen Altersgruppe 000-999 des Statistikdatensatzes aus denen sie abgeleitet sind.
Für die SIKURS-Eingabedateien werden die Altersgruppen eingechränkt.

Für die Berechnung der Fruchbarkeit gelten die Altersuntergrenzen und Altersobergrenzen Fruchtbarkeit, z.B. [15 .. 44], sonst immer die Anzahl Altersgruppen, z.B. 100, d.h. das Intervall [0 .. 99].

Diese Grenzen werden zweifach genutzt:

Wenn beim Einlesen die AG unterhalb/oberhalb dem gultigen Intervall ist, dann wird der Wert bei der "Untergrenze oder weniger"/"Obergrenze oder mehr" aufaddiert.

Beispiel 1: AG bei Geborene sei 12 und gultiges Intervall [15 .. 44], dann wird Wert auf "AG 15 oder jünger" addiert. Dies führt zu einer Fruchtbarkeitsrate 0 bei der Altergruppe 12 und einer erhöhten Fruchtbatkeitsrate bei Altersgruppe 15. Die Anzahl der prognostizierten Gebrten wird dadurch nicht verändert. Die Anzahl gefundener Geburten außerhalb des Fruchtbarkeitsintervalls wird protokolliert. Ist die Anzahl signifikant, sollte der Anwender das Fruchtbarkeitsintervall erweitern.

Beispiel 2: AG bei Sterbefälle sei 103 und Anzahl AG sei 100, dann wird Wert auf "AG 99 oder älter" addiert.
Die Anzahl Sterbefälle über 100 wird protokolliert. Ist die Anzahl signifikant, kann der Anwender überlegen mit z.B. 105 Altersgruupen zu rechnen.

Die Altersgrenzen werden weiterhin bei der Option Ausgabe Null-Werte dazu genutzt, um z.B. ab AG 96 unbesetzte Felder bis zur Obergreneze 99 als 0 auszugeben.

Geschlechterproportionen

GP = Anteil männlicher Geborener für Sterberaten bei Geborenendatei

Schwellwert für Ersatzwert bei ZUAQ

Wenn für einen Zieltyp Außenzuwanderung, Bevölkerungsgruppe, Geschlechtsgruppe, Altersgruppe keine Daten vorliegen, dann werden die Quoten über den Ersatzwert (1/Anzahl Zieltypen Außenzuwanderung) gleichmäßig verteilt.
Beispiel:
aussenzuzug.csv
#jahr;tya;Gebiet;bg;gg;ag;Anzahl
2020;1;1;1;1;00;40
2020;1;2;1;1;00;60

zuaq2020.csv
#tya;zza;bg;gg;ag;quote
1;1;1;1;00;40/(40+60)=0,4
1;1;1;1;01;1/2=0,5
1;2;1;1;00;60/(40+60)=0,6

Abbildung Gebiet GEM in Teilgebiet REFTYP

Bei sehr vielen Gebieten kann es sinnvoll sein, vom Gebietskennzeichen der GEM-Datei für den Zugriff auf die REFTYP Datei nicht signifikante Stellen zu streichen, was zu einer sehr viel kleineren REFTYP-Datei führt. (siehe auch Monte-Carlo Methode)

Analysezeitraum 2011 .. 2017

Das Programm ermittelt aus dem Bestand einen Vorschlag für den Jahresbereich für die Berechnung, den man dann modifizieren kann.
Dabei sind folgende Schreibweisen gleichwertig:

2011, 2013, 2014, 2015, 2017
2011, 2013 .. 2015, 2017
("," trennt Einzelwerte, ".." beschreibt ein Intervall)

Eingabedateien

Die Namen für die Eingabedateien sind fest, Sterbefälle können in Dateien sterb.csv, sterb2013.csv, sterb_2015.csv, ... abgelegt sein;
d.h. Dateinamen für Sterbefälle mussen mit sterb beginnen, optional gefolgt von einem Unterstreichungszeichen _ und Ziffern

Durch Verknüpfungen z.B. von bestand_2013.lnk auf gem2013.csv läßt sich das feste Namensschema aufweichen.

Eine Eingabedatei kann alle gewünschten Jahre enthalten (z.B. Geborene der Jahre 2001 bis 2007). Alternativ kann pro Jahr eine eigene Datei verwendet werden (z.B. geborene_2001.csv bis geborene2007.csv).

Es werden grundsätzlich alle Dateien eines Typs gelesen, die Auswahl der gewünschten Jahre erfolgt anhand der Jahresspalte in der Datei.

Die Anzahl in Bestand und Bewegung ist ganzzahlig, d.h. sie darf kein Dezimalkomma enthalten.

Bewegungen

 aussenwegzug.csv - Außenwegzüge
 Nr.  Merkmal
 1    jhr    Jahr
 2    vty    Gebiet (-styp) von
 3    naty   Außen-Gebietstyp nach (Abbildung mit optionaler Datei reftya)
 4    bg     Staatsangehörigkeit/Bevölkerungsgruppe
 5    gg     Geschlecht (1 oder 2 Ausprägungen)
 6    ag     Geburtsjahrindex (100 Ausprägungen)
 7    n      Anzahl Wegzüge

 aussenzuzug.csv - Außenzuzüge
 Nr.  Merkmal
 1    jhr    Jahr
 2    vaty   Außen-Gebietstyp von (Abbildung mit optionaler Datei reftya)
 3    nty    Binnen-Gebiet (-styp) nach
 4    bg     Staatsangehörigkeit/Bevölkerungsgruppe
 5    gg     Geschlecht (1 oder 2 Ausprägungen)
 6    ag     Geburtsjahrindex (100 Ausprägungen)
 7    n      Anzahl Zuzüge

 binnenwegzug.csv - Binnenwegzuge (Binnenwanderung)
 Nr.  Merkmal
 1    jhr    Jahr
 2    vty    Gebiet (-styp) von
 3    nty    Gebiet (-styp) nach
 4    bg     Staatsangehörigkeit/Bevölkerungsgruppe
 5    gg     Geschlecht (1 oder 2 Ausprägungen)
 6    ag     Geburtsjahrindex (100 Ausprägungen)
 7    n      Anzahl Wegzüge

 bgw.csv - Bevölkerungsgruppenwechsel
 Nr.  Merkmal
 1    jhr    Jahr
 2    ty     Gebiet (-styp)
 3    vbg    Bevölkerungsgruppe von
 4    nbg    Bevölkerungsgruppe nach
 5    gg     Geschlecht (1 oder 2 Ausprägungen)
 6    ag     Geburtsjahrindex (100 Ausprägungen)
 7    n      Anzahl Gruppenwechsel

 geburt.csv - Geborene nach dem Alter der Mutter (**)
 Nr.  Merkmal
 1    jhr    Jahr
 2    ty     Gebiet (-styp)
 3    bg     Staatsangehörigkeit/Bevölkerungsgruppe der Mutter
 4    ag     Geburtsjahrindex der Mutter (30 Ausprägungen)
 5    n      Anzahl Geborene

 sterb.csv - Sterbefälle
 Nr.  Merkmal
 1    jhr    Jahr
 2    ty     Gebiet (-styp)
 3    bg     Staatsangehörigkeit/Bevölkerungsgruppe
 4    gg     Geschlecht (1 oder 2 Ausprägungen)
 5    ag     Geburtsjahrindex (100 Ausprägungen)
 6    n      Anzahl Sterbefälle

Bestände

 baby.csv - Bestand Altersgruppe 0 (Geborene (*) für gealterten Bestand)

 Nr.  Merkmal
 1    jhr    Jahr
 2    ty     Gebiet (-styp)
 3    bg     Staatsangehörigkeit/Bevölkerungsgruppe
 4    gg     Geschlecht (Anzahl Ausprägungen wie Bestand)
 5    ag     Geburtsjahrindex (immer 0)
 6    n      Anzahl

 bestand.csv      - Bestand,
 dsg.csv          - demografische Sondergruppe
 nettobestand.csv - Nettobestand
 neubaubezug.csv  - Erstbezugsbevölkerung

 Nr.  Merkmal
 1    jhr    Jahr
 2    ty     Gebiet (-styp)
 3    bg     Staatsangehörigkeit/Bevölkerungsgruppe
 4    gg     Geschlecht (1 oder 2 Ausprägungen)
 5    ag     Geburtsjahrindex (100 Ausprägungen)
 6    n      Anzahl

Berechnung der Ausgabedateien

Wenn eine Referenzdatei ausgewählt wurde, werden Gebietskennzeichen beim Einlesen in Gebietstypen umgeschlüsselt. Wenn keine Referenzdatei ausgewählt wurde, müssen die Eingabedateien bereits den Gebietstyp enthalten.

Wenn die Eingabedateien mehr als die gewünschten Altergruppen enthält (z.B. Altersgruppe 103 bei 100 gewünschten Altersgruppen 0 .. 99), dann werden diese der obersten Altergruppe (z.B. 99 und älter) zugeschlagen.

Der Bestand wird vor der Berechnung von Raten nach dem Einlesen gealtert (hochzählen der Altersindices, mit Sonderfall Altersgruppe 99 ist Summe aus Altersgruppe 98 und Altersgruppe 99).

Für die Besetzung der nach der Verschiebung der Altersindizes leeren Altersgruppe (Index = 0), d.h. die Geborenen des Berichtsjahres im Bestand, gibt es je nach dem verfügbaren Datenmaterial folgende Alternativen im Menüpunkt Ermittlung Geborene im Bestand.

  1. Kopie der untersten Altersgruppe im Bestand zum 31.12. des Vorjahres.
    In diesem Fall wird keine Geborenen-Datei benötigt. Es gilt die vereinfachende Annahme, dass die Anzahl der Geborenen der Besetzung der entsprechenden untersten Altersklasse zum 31.12. des Vorjahres entspricht.
  2. Übernahme der Geborenen aus einer separaten entsprechend differenzierten Geborenen-Datei baby (ty,bg,gg = Differenzierung nach Typ, Bevölkerungsgruppe und Geschlecht) für das Berichtsjahr (*). Diese Variante erfordert keine zusätzlichen Annahmen und entspricht am besten dem Berechnungsansatz der SIKURS-Prognoserechnungen
  3. Ableitung der Geborenen und Differenzierung nach dem Geschlecht aus einer separaten Geborenen-Datei geburt (ty, bg und ag der Mutter) (**).
    In diesem Fall ist zu berücksichtigen, dass die Datei Geborene keine Angaben zu dem Geschlecht der Geborenen enthält, so dass mit den Angaben dieser Datei keine Raten für den Geburtsjahrgangsindex 0, differenziert nach männlich-weiblich, ermittelt werden können. Bei der Differenzierung der Geborenen nach dem Geschlecht wird der Parameter GP berücksichtigt, der die Proportionen für zwischen männlich und weiblich Geborenen festlegt.

Diese Unterscheidung ist besonders bei der Berechnung der Sterberaten von Bedeutung, weil die Sterberaten der männlichen und der weiblichen Geborenen unterschiedliche Ausprägung haben.

Bei der Berechnung der Binnen- und Außenwegzugsraten für den Geburtsjahrgangsindex 0 ist diese Differenzierung nicht relevant. Bei den Wanderungsraten wird davon ausgegangen dass sich die Verhaltensweisen in dieser Gruppe nicht unterscheiden und es daher zulässig ist, für männliche und für weibliche Geborene des Berichtsjahres den gleichen Wert anzunehmen.

Zur Berechnung der Ausprägungen werden daher die Bewegungen der Geborenen des Berichtsjahres zusammengefasst und auf den Bestand in der Datei Geborene bezogen. Die berechnete Rate gilt dann sowohl für den männlichen als auch für den weiblichen Geburtsjahrgangsindex 0. Differenzierungen nach der Staatsangehörigkeit sind davon unberührt.

Bei der Berechnung der Sterberaten wird analog vorzugegangen. Allerdings ist es in diesem Fall nicht zulässig, für männliche und weibliche des Geburtsjahrgangsindex 0 die gleichen Ausprägungen, d.h die durchschnittliche Sterberaten beider Geschlechter zu verwenden.

In einem weiteren Schritt wird daher anschließend die durchschnittliche Rate mit je einem Faktor Geschlechterproportion modifiziert, der sich an den unterschiedlichen Ausprägungen der Sterblichkeiten für die 0 bis unter 1 Jährigen orientiert. Dieser Faktor kann den Angaben des Statistischen Jahrbuchs entnommen werden; er ist ähnlich konstant wie der Faktor zur Ermittlung der Geborenen nach dem Geschlecht.

0 BGWR0000.CSV Bevölkerungs-Gruppen-Wechsel-Rate
# Aggregation Wechsler und Bestand über ausgewählte Jahre
bwgagg(ty,vbg,nbg,gg,ag) += bgw     (jhr,ty,vbg,nbg,gg,ag)
bevagg(ty,     bg,gg,ag) += bestand (jhr,ty,     bg,gg,ag)
# Berechnung Rate
bgwr(ty,vbg,nbg,gg,ag) = bwgagg(ty,vbg,nbg,gg,ag)/bevagg(ty,vbg,gg,ag)
1 DSGR0000.CSV Anteile demografische Sondergruppen an der Bevölkerung
# Aggregation Bestand und dsg über ausgewählte Jahre
dsgagg(ty,bg,gg,ag) += dsg    (jhr,ty,bg,gg,ag)
bevagg(ty,bg,gg,ag) += bestand(jhr,ty,bg,gg,ag)
# Berechnung Anteil
dsgr(ty,bg,gg,ag) = dsgagg(ty,bg,gg,ag)/bevagg(ty,vbg,gg,ag)
2 FRUC0000.CSV Geburtenraten
# Aggregation Geborene und Bestand über ausgewählte Jahre
gebagg(ty,bg,   ag) += geburt (jhr,ty,bg,   ag)
bevagg(ty,bg,gg,ag) += bestand(jhr,ty,bg,gg,ag) if gg=2
# Berechnung Geburtenrate
fruc(ty,bg,ag) = gebagg(ty,bg,ag)/bevagg(ty,bg,2,ag)
3 STRB0000.CSV Sterberaten
# Aggregation Sterbefälle und Bestand über ausgewählte Jahre
stragg(ty,bg,gg,ag) += sterb  (jhr,ty,bg,gg,ag)
bevagg(ty,bg,gg,ag) += bestand(jhr,ty,bg,gg,ag)
# Berechnung Sterberate
strb(ty,bg,gg,ag) = stragg(ty,bg,gg,ag)/bevagg(ty,bg,gg,ag)
4 STRM0000.CSV Binnenwegzugsraten
# Aggregation Binnenwegzüge und Bestand über ausgewählte Jahre
bwzagg(vty,nty,bg,gg,ag) += binnenwegzug(jhr,vty,nty,bg,gg,ag)
bevagg(     ty,bg,gg,ag) += bestand     (jhr,     ty,bg,gg,ag)
# Berechnung Binnenwegzugsraten
strm(vty,nty,bg,gg,ag) = bwzagg(vty,nty,bg,gg,ag)/bevagg(vty,bg,gg,ag)
5 WEGZ0000.CSV Außenwegzugsraten
# Aggregation Außenwegzüge und Bestand über ausgewählte Jahre
awzagg(vty,naty,bg,gg,ag) += aussenwegzug(jhr,vty,naty,bg,gg,ag)
bevagg(vty,     bg,gg,ag) += bestand     (jhr,vty,     bg,gg,ag)
# Berechnung Außenwegzugsraten
wegz(vty,naty,bg,gg,ag) = awzagg(vty,naty,bg,gg,ag)/bagg(vty,bg,gg,ag)
6 NEBQ0000.CSV Aufteilung Erstbezugsbevölkerung auf demografische Gruppen
# Aggregation Erstbezugsbevölkerung über ausgewählte Jahre
nebagg(ty,bg,gg,ag) += neubaubezug(jhr,ty,bg,gg,ag)
# Berechnung Quoten
nebq(ty,bg,gg,ag) = nebagg(ty,bg,gg,ag)/summe(nebagg(ty))
7 ZUAQ0000.CSV Allokationsquoten
# Aggregation Außenzuzüge über ausgewählte Jahre
azaagg(vaty,nty,  bg,gg,ag)  += aussenzuzug(jhr,vaty,nty,bg,gg,ag)
summe(azaagg(vaty,bg,gg,ag)) += aussenzuzug(jhr,vaty,nty,bg,gg,ag)
# Berechnung Quoten
zuaq(vaty,nty,bg,gg,ag) = azaagg(vaty,nty,bg,gg,ag)/summe(azaagg(vaty,bg,gg,ag))
Die Sortierung in der Ausgabe ist TYA, BG, GG, AG, TYZUAQ
#TYA;TYZZA;BG;GG;AG;Quote
   1;    1; 1; 1; 0;0,2
   1;    2; 1; 1; 0;0,3
   1;    3; 1; 1; 0;0,5    # Σ = 1
...
   5;    1; 2; 2;99;0,4
   5;    2; 2; 2;99;0,1
   5;    3; 2; 2;99;0,5    # Σ = 1
um die Summe = 1 über die Typen Zuzug von Außen besser berechnen zu können
8/9/10/11 ZUDQ0000.CSV ZUVOL.CSV Zuzugsquoten K1/K2/K3/K4
# ZUDQ: Aggreagtion Außenzuzüge über ausgewählte Jahre
azdagg(vaty,bg,gg,ag) += aussenzuzug(jhr,vaty,nty,bg,gg,ag)
summe(azdagg(vaty))   += aussenzuzug(jhr,vaty,    bg,gg,ag)
# Umrechnung in Quoten
zudq(vaty,bg,gg,ag) = azdagg(vaty,bg,gg,ag)/summe(azdagg(vaty))
# ZUVOL: Aggregation aussenzuzug pro Jahr und
K2: vaty; K3: vaty, bg; K4, vaty, bg, gg
12 ZUVL0000.CSV Zuzugsvolumen/K5
# Aggreagtion aussenzuzug über Referenzdatei
zuvl(jhr,ty,bg,gg,ag) += aussenzuzug(jhr,gkz,bg,gg,ag)
13 GEM0000.CSV Ausgangsbevölkerung
# Aggregation Jahr j Bestand über Referenzdatei
# j = letzets Jahr Bewegungsdatei - 1 falls vorhanden sonst letztes Jahr Bestand
gem(jhr,ty,bg,gg,ag) += bestand(jhr,gkz,bg,gg,ag)
# ty darf beliebiges Schlüsselintervall sein
14 REFTYP0000.CSV Referenzdatei
# Sammlung aller Gebietskennzeichen der Bestandsdateien
#! 0 : Zusatzstellen in Gebietskennzeichen GEM
012;"";1;1;1;1;1,1;1;1;1;1;1
Enthält Spalte 1 (Gebietskennzeichen) führende Nullen, muss man diese bei der Bearbeitung mit Excel besonders schützen (siehe Hinweis zu Eingabedatei reftyp im Benutzerhandbuch).
Der Nutzer kann einen Gebietsnamen ergänzen und Typnummern für die Voreinstellung 1 vergeben.
Normalerweise wird dies Datei im Verfahrensschritt "Makrodateien aus Statistikdatensatz" abgeleitet. Wenn der Anwender den Statisikdatensatz nicht nutzt und seine Makrodateien anderweitig beschafft, kann er hier die Erstellung von reftyp nachholen.

Durchfuhrung

Berechnung Quoten

Die Bewegungsdatei(en) oder Bestandsdatei(en) der ausgewählten Jahre werden jeweils aufaggregiert und die Anteile der einzelnen demografischen Gruppen an der entsprechenden Gesamtsumme berechnet. Die Summe der zusammengehörenden Quoten hat den Wert 1.

Berechnung Raten

Der Benutzer wählt die Bewegungsdatei(en), die Bestandsdatei(en) der ausgewählten Jahre und den Typ der Ausgabedatei, für die die Raten berechnet werden.

Die Bewegungs- und Bestandsdatei(en) werden jeweils uber die Jahre aggregiert, die sowohl in den Bewegungs- und Bestandsdatei(en) vorkommen. Die (durchschnittlichen) Raten ergeben sich als Quotient von aggregierter Bewegung und aggregiertem durch Alterung und Geborene ins Folgejahr fortgeschriebenen Bestand.

Fehlende Werte

Bei dieser Berechnung mussen für Bestand und Bewegung die Fälle kein Wert vorhanden (undef), Wert = 0 und Wert > 0 unterschieden werden.

RateBestand (p)
undef0>0
Bewegung (m)undefnannan0
0nannan0
>0m/p

'nan' bedeutet 'not a number'
Der Wert ∞ wird als (unmögliche) Rate 'inf' ausgegeben.
Das Programm gibt eine Statistik uber berechnete und nicht besetzte Felder aus. Diese ist auf Plausibilität zu prufen!

Nachbereitung

Es empfiehlt sich die Raten/Quoten auf Plausibilität zu prüfen. Bei großen Fallzahlen nähern sich die Histogramme über das Alter (Visualisierung/Pyramiden) den bekannten Wahrscheinlichkeitsfunktionen (z.B. bei Geburtenraten einer Gauss'schen Glockenkurve oder bei Sterberaten einer Badewannenkurve) an. Bei zu geringen Fallzahlen, insbesondere bei schwach besetzten oder gar unbesetzten Altergruppen (z.B. über 95) ist eine Analyse notwendig, ob die Raten für eine Prognose brauchbar sind und ob sie durch Ersatz undefinierter Werte durch plausible Annahmen und durch Glättung von zufälligen Ausreißern verbessert werden können.

Hadwiger-Funktion

Die Hadwiger-Funktion (Hanika, Hadwiger.pdf) mit den Parametern
1FGesamtfertilitätsrate
2MODEmodModalwert (Modus, mode) der Fertilitätskurve
3MEANμMittelwert (mean) der Fertilitätskurve
4VARσ2Varianz (variance) = Quadrat der Styndardabweichung σ der Fertilitätskurve
läßt sich für die SIKURS-Prognose nutzen: Die Hadwiger-Funktion funktioniert nicht für alle Parameter Das Tool hat folgende Funktionen

Vorteil

Mit der Hadwigerfunktion kann man Alternativrechnungen mit verschiedenen Annahmen über die zukünftige Entwicklung der Hadwiger-Parameter F, MODE, MEAN, VAR machen, z.B. mit einer fruc-Datei für alle Prognosejahre:
fruc2019.csv:
#! let($y $JAHR-$STARTJAHR)   # $y = 0, 1, 2, ... für die Prognosejahre
#! let($f 0,02*$y)            # Regressionsgerade für F
#! let($g 0,01*$y)            # Regressionsgerade für MODE, MEAN
# Fruchtbarkeitsraten als Hadwiger-Funktion mit Dynamisierung von F, MODE, MEAN und konstantem VAR
#ty;bg;ag;hadwiger(ag F         MODE    MEAN      VAR   )
1;1;0..99;hadwiger($3 $f+1,1535 $g+29,5 $g+29,889 25,926)
1;2;0..99;hadwiger($3 $f+1,5731 $g+27,5 $g+28,169 30,806)
...

Nachteil

Wenn die aus den Einwohnerdaten abegeleiteten Fruchtbarkeitsraten deutlich von der Hadwiger-Funktion abweichen, dann ist sie nicht brauchbar, es sei denn sie kann erweitert werden.
Angenommen die Fruchtbarkeitskurve hat bei Altersklasse 20 einen "Buckel" und bei Altersklasse 28 eine "Mulde", dann könnte man 2 additive schmale Hadwiger-Funktionen (bei 20 nach oben, bei 28 nach unten) hinzufügen und deren Parameter F, MEAN, VAR in die Zukunft extrapolieren. Wenn man z.B. eine der Zusatz-Hadwiger-Funktion für das Resultat einer familienpolitischen Maßnahme hält, und diese in einem bestimmtem Jahr ausläuft, dann braucht man ab diesem Jahr den Parameter F nur auf 0 zu setzen.

siehe auch raodmap 013

Amtliche Geburten-Raten

Berechnung von SIKURS-Geburtenraten aus amtlichen Fruchtbarkeitsziffern

Eingabedatei Amtliche Fruchtbarkeitsziffern

Nr.KürzelMerkmal
1aiAltersindex (30 oder mehr Ausprägungen)
2afzAmtliche Fruchtbarkeitsziffer
Beispiel 1:
#$ year(2007) - setze Voreinstellung für Ausgabedatei fruc2007.csv
#ai;afz 
15;0,03
16;0,05
...
48;0,02
49;0,01

Berechnung

Definition afz(15): amtliche, altersspezifische Fruchtbarkeitsziffer für 15- bis unter 16-Jährige.
Berechnung wenn amtliche Fruchbarkeitziffern für Intervall 15 bis 44 und älter vorgegeben ist, analog für andere Intervalle.

 SIKURS    amtliche Fruchtbarkeitsziffern
 Index     Bezeichnung 
 ---------+------------------------------
 15        (afz(15))
 16        (afz(15)+afz(16))/2
 17        (afz(16)+afz(17))/2
 ...
 43        (afz(42)+afz(43))/2
 44        (afz(43)+afz(44 und älter))/2
 45        (afz(44 und älter))
Vorschlag uls:
 Index   Bezeichnung
 ---------+------------------------------
 14        (afz(15)/2)
 15        (afz(15)+afz(16))/2
 16        (afz(16)+afz(17))/2
 17        (afz(17)+afz(18))/2
 ...
 48        (afz(48)+afz(49))/2
 49        (afz(49)/2)

Ausgabedatei SIKURS Geburteraten

Ausgabedatei ist FRUCyyyy.csv mit den berechneten SIKURS Geburtenraten. Die ersten beiden Spalten sind (je nach Option) 1..$NTYS;1..$NBG;1..$NGG wie in den Dateien im GENERIC-Verzeichnis. Diese Notation bedeutet, dass die berechneten Raten für alle Typen der naturlichen Bevölkerungsbewegung und für alle Bevölkerungs- gruppen gleich sind. Für eine Visualisierung der Daten können die Variablen $NTYG und $NBG mit der Direktive #expand(1) aufgelöst werden (siehe SIKURS-Handbuch).

Amtliche Sterberaten

Eingabedatei Amtliche Sterberaten

Nr.Merkmal
1ggGeschlecht
2agGeburtsjahrindex (100 oder mehr Ausprägungen)
3aszAmtliche Sterbeziffer
Beispiel 1:
#$ year(2011) NAG(100) - Voreinstellung Ausgabedatei strb2011.csv mit 100 AG
#gg;ag;asz
1;00;0,003
1;01;0,001
...
2;99;0,500

Berechnung

Definition asz(i): Amtliche, altersspezifischen Sterbeziffer für i- bis unter i+1-Jährige)
Die Anzahl gewunschter Altersgruppen in der Ausgabe-Datei SIKURS-Sterberaten kann vorgegeben werden - wenn z.B. 105 vorgeben wird, dann wird als letzter Index 104 ausgegeben.
Im Normalfall soll die Anzahl Altersgruppen der SIKURS Sterberaten der Anzahl Altersgruppen der Amtlichen Sterberaten folgen.
Die amtliche Sterbetafel enthalte 100 Altersgruppen, die SIKURS Sterberaten sollen 100 (bzw 105) Altersgruppen enthalten

 SIKURS    amtliche Sterbetafel
 Index     Bezeichnung
 ---------+------------------------------
  0        (asz(0))/2
  1        (asz(0)+asz(1))/2
  2        (asz(1)+asz(2))/2
 ...
 98        (asz(97)+asz(98))/2
 99        (asz(98)+asz(99 und älter))/2
100        (asz(99 und älter)
 ...
104        (asz(99 und älter)

Achtung

Zur Eignung der Berechnung gibt es in roadmap 098 offene Fragen

Ausgabe-Datei SIKURS-Sterberaten

Ausgabedatei ist STRByyyy.csv mit den berechneten SIKURS-Sterberaten. Die ersten Spalten sind je nach Option fest, oder 1..$NTYS;1..$NBG;1..$NGG wie in den Dateien im GENERIC-Verzeichnis. Diese Notation bedeutet, dass die berechneten Raten für alle Typen der naturlichen Bevölkerungsbewegung und für alle Bevölkerungsgruppen gleich sind. Für eine Visualisierung der Daten können die Variablen $NTYS, $NBG und $NGG mit der Direktive #expand(1) aufgelöst werden (siehe SIKURS-Handbuch).

Sterberaten nach Vorgabe Lebenserwartung

Berechne STRB-Dateien für mehrere Jahre aus einer gegebenen STRB-Datei, einer Datei ECKLE.CSV mit Zielwerten für die Lebenserwartung und einer optionalen Datei ECKLEW.CSV mit Gewichten für die Altersgruppen.

BESCHREIBUNG

Diese Berechnung kann nur in der gleichen Differenzierung wie in der Datei strb erfolgen (Typ, Bevölkerungsgruppe und Geschlecht). Wenn die Lebenserwartung für einen bestimmten Typ/BG/GG z.B 70 Jahre ist, dann kann man den Zielwert z.B. 75 Jahre angeben. Dann werden alle Sterberaten iterativ so lange verändert (alle Sterberaten von AG 0 bis AG 99 mit einem gleichen Faktor $f multipliziert), bis der Zielwert erreicht ist.

Dieser Faktor $f wird durch ein Bisektionsverfahren ermittelt. Wenn der Zielwert kleiner als der Ausgangswert ist, dann wird die Überlebenswahrscheinlichkeit mit einem Faktor zwischen 0 und 1 angepasst (dies verhindert, dass eine Sterberate > 1 entsteht).

Der Anwender kann die Modifikation von Altersgruppen verhindern oder gewichten, um z.B. empirische medizinische Fakten uber die Entwicklung der Sterberaten abbilden zu können. Dafür definiert er eine Datei ECKLEW.CSV mit Gewichten für die Altersgruppe. Das Gewicht 1 entspricht dem Verfahren ohne Gewichtung, eine Altersgruppe mit Gewicht < 1 (z.B. 0,8) wird weniger stark angepasst, eine Altersgruppe mit Gewicht > 1 (z.B. 1,2) wird stärker angepasst. Das Gewicht $s verhindert die Anpassung der Sterberate der Altersgruppe

BEDIENUNG

Auswahl einer Ausgangsdatei mit Sterberaten (z.B. strb2010.csv) mit 7 Typen Sterberaten, 2 Bevölkerungs-, 2 Geschlechts- und 100 Altersgruppen.

 #Typ Sterberate;Bevölkerungsgruppe;Geschlechtsgruppe;Altersgruppe;Sterberate
 1;1;1;00;0,02
 ...
 7;2;2;99;0,3

Wenn man noch keine Eckwertdatei ECKLE.CSV für die Lebenserwartung hat, kann man sie wie folgt erstellen:

man startet das Programm und wählt die Ausgangsdatei strb2010.csv. Die Ausgangsdatei wird gelesen, fehlende Werte werden als 0 angenommen. Die differenzierte Lebenserwartung für dieses Jahr wird berechnet und in eine Datei LEBENSERWARTUNG.CSV ausgegeben:

 #Jahr;Typ Sterberate;Bevölkerungsgruppe;Geschlechtsgruppe;Lebenserwartung
 2010;1;1;1;77,5
 2010;1;1;2;83,2
 ...
 2010;7;2;2;85,0

Jetzt kann man diese Datei in ECKLE.CSV umbenennen und um eine Schätzung für die Lebenserwartung für ein Zukunftsjahr 2030 ergänzen

 #Jahr;Typ Sterberate;Bevölkerungsgruppe;Geschlechtsgruppe;Vorgabe Lebenserwartung
 2010;1;1;1;77,5
 2010;1;1;2;83,2
 ...
 2010;7;2;2;85,0
 2030;1;1;1;80
 2030;1;1;2;86
 ...
 2030;7;2;2;83

Das Programm berechnet für alle Ziel-Jahre (hier 2010, 2030) bis auf das Ausgangsjahr (hier 2010) eine Ziel-strb-Datei (hier strb2030.csv).
Wenn man eine demografische Gruppe aus strb von der Anpassung ausschließen will, so entfernt man die Angaben aus ECKLE.CSV oder kommentiert sie aus

 #2030;4;1;2;86 keine Anpassung der Sterberaten

Eine Gewichtung der Altersgruppen über die Datei ECKLEW.CSV ist nur in Ausnahmefällen sinnvoll!
Wenn vorhanden, wird diese mit den alterspezifischen Formeln für Gewichte gelesen:

 #Typ Sterberate;Bevölkerungsgruppe;Geschlechtsgruppe;Altersbereich;Gewichtsformel
 1;1;1; 0.. 4;$f*$s             # Anpassung an Lebenserwartung ohne Gewichtung
 1;1;1; 5.. 9;$f*$s*1.2         # stärkere Anpassung
 1;1;1;10..14;$f*$s*1.0+$y/100  # zunehmend stärkere Anpassung
 1;1;1;15..19;$f*$s*1.03**$y    # um 3% jährlich zunehmend stärkere Anpassung
 1;1;1;20..24;$f*$s*0.8         # schwächere Anpassung
 1;1;1;25..29;$f*$s*1.0-$y/100  # zunehmend schwächere Anpassung
 1;1;1;30..34;$f*$s*0.97**$y    # um 3% jährlich zunehmend schwächere Anpassung
 1;1;1;35..39;$s                # keine Anpassung Sterberate
 1;1;1;40..44;$s-0.001          # Reduktion Sterberate um 0,001
 1;1;1;45..49;$s-$y/1000        # Reduktion Sterberate um 0,001 pro Jahr
 1;1;1;50..54;$s*0.97**$y       # Reduktion Sterberate um 3% pro Jahr
 1;1;1;55..59;$s*1.03**$y       # Erhöhung Sterberate um 3% pro Jahr
 1;1;1;60..99;                  # ohne Gewichtung (entspricht $f*$s)
 ...
 7;2;2;60..99;                  # ohne Gewichtung (entspricht $f*$s)
Formelbestandteile für die Gewichtung:
 $f  # Faktor für die Anpassung der Sterberate an den Zielwert Lebenserwarung
 $s  # Ausgangssterberate
 $y  # Anzahl Jahre nach Jahr der Ausgangsdatei

Wenn für keine Altersgruppe Anpassung durch Faktor $f an den Zielwert Lebenserwartung gewählt, dann kann dieser Zielwert nicht erreicht werden.

Wenn man zwischen den Jahren 2010 und 2030 interpolieren will, so ist dies mit "Eingabedaten/Dynamisieren/Start/Interpolieren Dateien mit Jahr in Spalte 1" möglich.

Das Programm öffnet dann bei einem erneuten Start diese Zielwertdatei ECKLE.CSV mit Werten für die Folgejahre. Die Datei ECKLE.CSV muss im gleichen Verzeichnis sein wie die ausgewählte Datei mit den Sterberaten.

Die Datei strb2010.csv kann auch symbolische Indices enthalten, z.B. für die Typen Sterberaten, die Bevölkerungs- und Geschlechtsgruppen

 #Typ Sterberate;Bevölkerungsgruppe;Geschlechtsgruppe;Altersgruppe;Sterberate
 1..$NTYS;1..$NBG;1..$NGG;00;0,02
 ...
 1..$NTYS;1..$NBG;1..$NGG;99;0,3

Wenn die Ausgangsdatei STRB2010.CSV symbolische Indices enthält, dann muss die Datei ECKLE.CSV diese ebenfalls enthalten.

 #Jahr;Typ;BG;GG;Ziel_Lebenserwartung
 2010;1..$NTYS;1;1;70
 2010;1..$NTYS;1;2;75
 2010;1..$NTYS;2;1;71
 2010;1..$NTYS;2;2;76
 .....
 2020;1..$NTYS;2;2;83

Wenn vorhanden, muss die Datei ECKLEW.CSV mit den alterspezifischen Formeln für Gewichte die gleichen symbolischen Indices enthalten:

 1..$NTYS;1;1; 0..17;$s          # keine Anpassung Sterberate
 1..$NTYS;1;1;18..99;$f*$s       # Anpassung ohne Gewichtung

Das Programm gibt die Dateien STRB2011.CSV bis STRB2030.CSV, sowie die Datei LEBENSERWARTUNG.CSV, die man zur Kontrolle mit der Datei ECKLE.CSV vergleichen kann, aus.

Bei "Optionen/Systemeinstellungen/Trace-Einstellungen/Protokollumfang Tools" größer als 2 wird ECKLEWE.CSV zur Kontrolle der Gewichte ausgegeben.

Beispiel für häufigen Sonderfall:

STRB2010.CSV und ECKLE.CSV liegen in voller Differenzierung vor und die Gewichte in ECKLEW.CSV sollen für alle Typen Sterberaten, alle Bevölkerungs- und Geschlechtsgruppen gelten.

 STRB2000.CSV:
 #Typ Sterberate;Bevölkerungsgruppe;Geschlechtsgruppe;Altersgruppe;Sterberate
  1;1;1;00;0,02
  ...
 17;2;2;99;0,3
 
 ECKLE.CSV:
 #Jahr;Typ Sterberate;BG;GG;Ziel_Lebenserwartung
 2010; 1;1;1;70
 ...
 2030;17;2;2;81
 
 ECKLEW.CSV:
 #! (1..17)(1..2)(1..2) # Typen Sterberaten 1 bis 17, sowie alle Bevölkerungs- und Geschlechtsgruppen
 #Typ Sterberate;Bevölkerungsgruppe;Geschlechtsgruppe;Altersgruppe;Gewicht
 $tys;$bg;$gg;00..18;$f*$s*1.001**$y # pro Jahr 1 Promille mehr
 $tys;$bg;$gg;19..64;$f*$s           # konstant ohne Gewichtung
 $tys;$bg;$gg;65..99;$f*$s*0.9       # geringere Gewichtung

Nachteil

Bei der Extrapolation der Sterberaten in der Zukunft ist es trotz möglicher Gewichtung schwierig Annahmen über Einflußgrößen auf die Sterberaten einzubringen.
Hier kann man eine Modellierung der Sterberaten mit der Gompertz- oder Weibull-Funktion (analog zur Modellierung der Geburtenraten mit der Hadwigerfunktion) versuchen.
Man modelliert die Sterberaten in Altersbereichen siehe Extras/Eigene Scripts/Start/gompertz.pl|weibull.pl

Geburtenraten nach einer vorgegebenen Zusammengefassten Geburtenrate (TFR Total Fertility Rate)

Berechne FRUC-Dateien für mehrere Jahre aus einer gegebenen FRUC-Datei als Ausgangsdatei, einer Datei ECKGZ.CSV mit Zielwerten für die zusammen gefassten Geburtenrate und einer optionalen Datei ECKGZW.CSV mit Gewichten für die Altersgruppen.

BESCHREIBUNG

Die Berechnung erfolgt in der gleichen Differenzierung wie in der Datei FRUC (Typ, Bevölkerungsgruppe). Wenn z. B. die Zusammengefasste Geburtenrate (TFR Total Fertility Rate) der Ausgangsdatei für einen bestimmten Typ/BG 1.7 ist, dann kann man den Zielwert z.B. 1.6 angeben und alle Geburtenraten von AG15 bis AG 44 werden mit dem Faktor F = 1.6/1.7 multipliziert.

Wenn die Form der Geburtenraten, d.h. einzelne Altersgruppen in unterschiedlichem Maß angepasst werden sollen, z.B. weil immer häufiger Kinder von älteren Frauen geboren werden, dann können diese Veränderungen durch Vorgabe von Formeln zur Modellierung der Veränderungen gesteuert werden. Dafür können in der Datei ECKGZW.CSV Formeln zur Änderung der Fruchtbarkeit vorgegeben werden. Die Differenzierung der Datei ECKGZW.CSV muss der Datei FRUC(NTYG, BG, AG) entsprechen.
Eine Änderung der Form der Geburtenkurve erreicht man transparenter und einfacher durch Einsatz der Hadwiger-Funktion

BEDIENUNG

Auswahl einer Ausgangsdatei mit Geburtenraten (z.B. fruc2000.csv). Die Ausgangsdatei wird gelesen, fehlende Werte werden als 0 angenommen. Die Zusammengefasste Geburtenrate (TFR) für dieses Jahr wird berechnet und in eine Datei ausgegeben (z.B. fruc2000gz.csv).

Das Programm öffnet dann eine Zielwertdatei ECKGZ.CSV mit Werten für die Folgejahre. Die Datei ECKGZ.CSV muss im gleichen Verzeichnis sein wie die ausgewählte Datei mit den Geburtenraten.

Beispiel 1:
Die Ausgangs-FRUC-Datei enthält symbolische Indices 1..$NTYG für alle Type Geburtenraten und diese sollen in die berechneten FRUC-Dateien übernommen werden.
Es sollen Zielwerte für 20 Jahre vorgegeben werden.

 FRUC2000.CSV:
 #TYG;BG;AG;Rate
 1..$NTYG;1;15;0,012
 ...
 1..$NTYG;1;44;0,034
 1..$NTYG;2;15;0,017
 ...
 1..$NTYG;2;44;0,037
 
 ECKGZ.CSV:
 #Jahr;TYG;BG;Ziel_Geburtenziffer
 2001;1..$NTYG;1;1,7
 2001;1..$NTYG;2;2,1
 .....
 2010;1..$NTYG;1;1,21
 2010;1..$NTYG;2;1,51
 # Abkürzung für Jahresbereich 2011 bis 2020
 2011..2020;1..$NTYG;2;1,2
 2011..2020;1..$NTYG;2;1,5

Wenn vorhanden, wird die Datei ECKGZW.CSV mit Formeln zur Anpassung der Geburtenrate vor der Anpassung an den Zielwert TFR gelesen

Formelbestandteile:

 # Variablen
 $tyg                      # Typ Geburtenrate
 $bg                       # Bevölkerungsgruppe
 $gg                       # Geschlechtsgruppe
 $ag                       # Altersgruppe
 $y                        # Anzahl Jahre nach Ausgangsjahr FRUC

 # Funktion "f" - Geburtenrate aus Ausgangsdatei FRUC
 $f->()                    # Rate($ag)
 $f->()*$c->()             # Rate($ag) und keine Anpassung an Zielwert
 $f->(0)                   # Rate($ag)
 $f->(1)                   # Rate($ag-1) (Mütter werde 1 Jahr älter)
 $f->(1.25)                # 0.75*Rate($ag-1) + 0.25*Rate($ag-2) (5/4 Jahr älter)
 $f->(-1)                  # Rate($ag+1) (Mütter werde 1 Jahr jünger)
 $f->($y)                  # Müttter werden jedes Jahr ein Jahr älter
 $f->(3*$y/12)             # Mütter werden jedes Jahr 3 Monate älter

 ECKGZW.CSV
 #TYG;BG;AG;Formel für Rate
 1..$NTYG;1;15..30;$f->()-0.001*$y # jährliche absolute Reduktion
 1..$NTYG;1;31..45;$f->()+0.001*$y # jährliche absolute Erhöhung
 1..$NTYG;2;15..30;$f->()*0.98**$y # jährliche Reduktion um 2%
 1..$NTYG;2;31..45;$f->()*1.02**$y # jährliche Erhöhung um 2%
 1..$NTYG;2;46..47;$f->()          # konstant
 1..$NTYG;2;48..49;$f->()*$c->()   # konstant, keine Anpassung

Achtung: Konstanten in ECKGZW.CSV mit Dezimalpunkt nicht Dezimalkomma!
Der Faktor $c->() hat den Wert 1, ändert die Rate also nicht, nimmt aber als Nebeneffekt die Altersgruppe von der Anpassung an die TFR aus.

Achtung: die Dateien FRUC, ECKGZ, ECKGZW mussen für die Indices "Typ Geburtenrate" und "Bevölkerungsgruppe" identisch aufgebaut sein, d.h. entweder bei allen Symbolisch wie 1..$NTYG oder 1..$NBG oder bei allen explizit 1, 2, ...

Beispiel 2:
Sie haben eine FRUC-Datei für das Ausgangsjahr mit konkreten Indices für 16 Typen Geburtenraten und 2 Bevölkerungsgruppen

 FRUC2001.CSV:
 #TYG;BG;AG;Rate
  1;1;15;0,023
 ...
 16;2;44;0,0234

Die Datei ECKGZ für die Eckwerte der Zusammengefaßten Geburtenraten bestimmen sie entweder mit "Indikatoren" oder sie Starten das Programm und wählen die Datei FRUC2001.CSV. Die Ausgangsdatei wird gelesen und die Zusammengefaßten Geburtenraten werden in eine Datei ZGZ.CSV ausgegeben. Benennen Sie diese in ECKGZ.CSV um:

 ECKGZ.CSV
 #Jahr;TYG;BG;Ziel-TFR
 2001; 1;1;1,451234
 ...
 2001;16;2;1,532134

Sie erstellen eine Annahme für die TFR zum Ende der Prognose und halten diese in ECKGZ fest.

 ECKGZ.CSV
 #Jahr;TYG;BG;Ziel-TFR
 2001; 1;1;1,451234
 ...
 2001;16;2;1,532134
 2030; 1;1;1,380000
 ...
 2030;16;2;1,450000

Mit "Eingabedaten/Dynamisieren/Interpolation Dateien mit Jahr in Spalte 1" interpolieren sie die Werte für TFR in den Zwischenjahren 2002 bis 2029.

Für die optionale Datei ECKGZW haben sie folgende Optionen

  1. explizite Indices
    ECKGZW.CSV
    #TYG;B;AG;Formel
     1;1;15;$f->()
    ...
    16;2;44;$f->()
  2. gleiche Formel für alle Typen Geburtenraten
    ECKGZW.CSV
    #! (1..16) # 16 Typen Geburtenraten
    #TYG;B;AG;Formel
    $tyg;1;15;$f->()
    ...
    $tyg;2;44;$f->()
  3. gleiche Formel für alle Typen Geburtenraten und alle Bevölkerungsgruppe
    ECKGZW.CSV
    #! (1..16)(1..2) # 16 Typen Geburtenraten, 2 Bevölkerungsgruppen
    #TYG;B;AG;Formel
    $tyg;$bg;15;$f->()
    ...
    $tyg;$bg;44;$f->()
  4. gleiche Formel für mehrere Altergruppen Sie können in allen obigen Beispielen statt einer Altersgruppe, z.B. 17 ein Intervall von Altersgruppen, z.B. 17..21 angeben

Beispiel 4:

"Aggressive" Erhöhung des Geburtsalters gleichbleibender Geburtenziffer:
Lineare Transformation der Gaußkurve Geburtenrate entspricht einer Rechtsverschiebung (Erhöhung Mittelwert: Mütter werden älter) und Reduktion der Streueung der Gaußkurve:

 ECKGZW.CSV
 #! (1..16)(1..2) # 16 Typen Geburtenraten, 2 Bevölkerungsgruppen
 $tyg;$bg;0..99;$f->()*(($ag-15)*0.03)**$y # Mütter werden älter
animierte Geburtenratenpyramide

Beispiel 4:
mit folgender Formel kann man die Geburtenrate jedes Jahr um 1/3 Jahr nach rechts verschieben, ohne die Form der Geburtenpyramide zu beeinflussen:

 ECKGZW.CSV
 #! (1..16)(1..2) # 16 Typen Geburtenraten, 2 Bevölkerungsgruppen
 $tyg;$bg;15..59;$f->($y/3)
animierte Geburtenratenpyramide

und die letzte etwas kompliziertere Formel läßt die Geburtenrate der Altersgruppe 15 konstant und erhöht Mittelwert und Streuung.

 ECKGZW.CSV
 #! (1..16)(1..2) # 16 Typen Geburtenraten, 2 Bevölkerungsgruppen
 $tyg;$bg;15..59;$f->(($ag-15)*$y/60)
animierte Geburtenratenpyramide

Das Programm gibt die Datei ZGZ.CSV aus, die Sie zur Kontrolle mit ECKGZ.CSV vergleichen können.

Bei "Optionen/Systemeinstellungen/Trace-Einstellungen/Protokollumfang Tools" größer als 2 wird ECKGZWE.CSV zur Kontrolle der Gewichte ausgegeben.

Finde Gebietstypen durch Clusteranalyse

Eine Clusteranalyse von Merkmalen einer GEM-Datei oder beliebig anderer selbst aufbereiteter Mermale unterstützt den Anwender bei der Findung von Gebietstypen für die Bevölkerungsprognose. Einzelheiten siehe Cluster.