Nichtdeterministische stochastische ganzzahlige feinkörnige Prognose nach der Monte-Carlo Methode
Einführung
Die empfohlene Vorgehensweise bei einer SIKURS Prognose ist die
die Aufteilung des Untersuchungsraumes in Gebiete mit ausreichender
Bevölkerung für statistisch relevante Aussagen.
Bei einer Bevölkerung eines Gebietes von z.B. 10 000 Personen und einer
demographischen Differenzierung in 2 Bevölkerungsgruppen, 2 Geschlechtsgruppen
und 100 Altersgruppen enthält eine Recheneinheit
(ein Balken in der Bevölkerungspyramide)
im Schnitt 10 000/400 = 25 Personen.
Die Berechnung von Todesfällen einer Bevölkerungsgruppe 1, Geschlechtsgruppe 2,
Altersgruppe 83 mit 23 Personen und einer zugehörigen Sterberate von 0,12
sieht dann wie folgt aus:
Todesfälle = Anzahl Personen * Sterberate
2,76 = 23 * 0,12
Bei einer vernünftigen Ermittlung der Raten für alle Bewegungen
(Geburt, Tod, Binnen- und Außenwanderung) führt dies erfahrungsgemäß
zu plausiblen Prognoseergebnissen.
Wenn man versucht die Prognose noch feinkörniger
(Blöcke, Postadressen, Haushalte) zu rechnen,
um anschließend die Gebiete (und/oder die demografische Differenzierung)
auf größere Aussageeinheiten zu aggregieren,
dann ist die Anzahl der Personen in einem Gebiet im Bereich 1 bis 1000.
Die Anzahl der Personen in einem Balken der Bevölkerungspyramide ist
dann entweder unbesetzt oder einstellig.
Die Anzahl der Gebietseinheiten steigt bei sehr kleinen Gebietseinheiten
natürlich sehr stark an.
Mit der klassischen deterministischen Prognose ergeben sich folgende Probleme
- Die vormals leeren Balken der Ausgangsbevölkerung haben nach der
Prognose häufig nur sehr kleine Werte.
- wegen der sehr großen Anzahl von Gebieten kann die Berechnung
an zu hohem Bedarf an Hauptspeicherplatz und Rechenzeit scheitern.
Diesen Problemen kann man unter den Randbedingungen
- die Anzahl Personen in der Ausgangs-gem-Datei sind klein
(möglichst einstellig) und ganzzahlig
- Demographische Sonderguppen sollten nicht als dsga-Datei, sondern
als Gebiete mit evtl. Typ Altergruppenfortschreibung 2 modelliert werden
wie folgt begegnen:
- Statt der oben an einem Beispiel gezeigten deterministischen
Berechnung führt man eine ganzzahlige nichtdeterministische
Berechnung nach der Monte-Carlo Methode durch:
Berechnung von Sterbefällen einer Bevölkerungsgruppe 1,
Geschlechtsgruppe 2, Altersgruppe 83 mit 3 Personen und Sterberate 0,12:
Wiederhole folgenden Prozess für die 3 Personen:
Ermittle Zufallszahl r im Intervall 0 bis 1
Wenn r kleiner Sterberate s = 0,12, dann tritt für diese Person der Sterbefall ein
Dieser Prozess führt dann zu 0 bis 3 Sterbefällen.
Bei einer ausreichend großen Zahl wird sich die relative Häufigkeitder
Sterbefälle dieses stochastischen Prozesses dem Vorgabewert der Sterberate
s = 0,12 annähern.
Sonderfall Geburten:
- Mehrlingsgeburten
und bis zu 2 Geburten in einem Jahr werden mit einem Faktor
MBF (mutiple birth factor) mit Voreinstellung 1 (ohne Mehrlingsgeburten)
modelliert.
Der Faktor kann mit
Einwohner/Prognose/Berechnen
Notiz
!option($MBF 5)
an einen anderen Wert z.B. 5 (bis Fünflinge) angepasst werden.
Die Ergebnis-Bevölkerungspyramiden enthalten nur ganzzahlige Werte.
Bei einem zufälligen Startwert m = 1 für den Zufallsgenerator
wird jede Wiederholung der Prognose leicht unterschiedliche Ergebnisse
liefern, deren Mittelwert sich dem Ergebnis der deterministischen
Prognose annähern wird.
Gibt man mit m > 1 einen Startwert für den Zufallsgenerator vor,
dann liefert jede Wiederholung der Prognose identische Ergebnisse.
Wenn bei den Berechnungen der weggehenden Bewegungen (Sterbefälle und
Wegzüge) bei einem Balken alle eine Bewegung = 1 auslösen, dann können
im Ergebnis einzelne negative Balken (Zombies) entstehen.
Mit dem Parameter z = 1 (Zombie Killer) werden diese mit positiven Balken
verrechnet.
- Die Speicherplatz- und Rechenzeitprobleme werden wie folgt reduziert:
- Sparse-Matrizen für gem- und strm-Datei
Unter einem Schwellwert für den Füllgrad der Ausgangsbevölkerung (gem-Datei)
und der Binnenwaderungsmatrix (strm-Datei) werden diese für die Berechnungen
als sparse-Matrix aufgebaut, was erheblich Speicherplatz und Rechenzeit spart.
Für Tests können die Schwellwerte SPARSEGEM
und
SPARSESTRM
verändert werden
(siehe Option)
- Innenwanderung
Im Spezialfall Prognose mit Binnenwanderung (Baustein I1) und mit mindestens
einem Binnentyp aus sehr vielen Gebieten (z.B. 100000) kann die Berechnung
der Innenwanderung (Wanderung zwischen Gebieten eines Binnenwanderungstyps)
nach freier Wohnkapazität
zu viel Speicherplatz oder Rechenzeit verbrauchen.
Diesem Problem kann man mit dem Parameter BFWKG
(siehe Option)
begegnen.
- Reduktion Dateigröße REFTYP
Die Datei REFTYP wird durch einen Eintrag pro Hauhalt bei vielen Haushalten sehr groß.
Ist REFTYP > 1 MByte (ca. 30000 Zeilen), erfolgt eine Warnung, dass
Reporting und Indikatoren evtl. nicht mehr funktionieren.
Die Größe von REFTYP läßt sich durch folgende Maßnahmen reduzieren
- Gebietsname "" (leer) spart nur etwas Platz,
- Zweistufige Abbildung Haushalt=Gebiet in Typ:
Das Gebietskennzeichen (GKZ) bestehe aus 10 Stellen
#gem2014.csv:
#GKZ;BG;GG;AG;Anzahl Personen
2570000001;1;1;03;2
...
Die ersten z.B. 3 "signifikanten" Stellen des GKZ soll den
Untersuchungsraum in für die Typisierung relevante
Teilgebiete zerlegen.
Die folgenden 7 Stellen (siehe #! 7
) sollen für REFTYP irrelevant sein
2570000001
bezeichnet Haushalt 0000001
im Teilgebiet 257
REFTYP bildet dann die Teilgebietsschlüssel in Typen ab:
#reftyp.csv:
#GKZ;Name;Geburtentyp;...
#!cut(7) # GEM hat weitere 7 Stellen im Gebietskennzeichen
257;Schwabing;2;3;1;...
259;Freimann ;1;2;2;...
...
siehe auch SIKURS Eingabedaten berechnen
Abbildung Gebiet GEM in Teilgebiet REFTYP
Eigenschaften
Charakteristische Eigenschaften einer feinkörnigen Prognose:
- die Gebiete sind sehr kleinräumig (z.B. Block, Postadresse, Haushalt) so dass viele Balken einer
Bevölkerungspyramide eines Gebietes nicht besetzt sind. Die Anzahl Gebiete kann sehr groß werden.
- für die Berechnung der Raten muss man durch Typisierung
eine ausreichende Menge an Bewegungen und Bestand vorsehen
und/oder die demografische Differenzierung reduzieren.
- Man betrachtet die Gebiete als Recheneinheiten.
Zur Erreichung von Aussageeinheiten mit statistisch relevanter
Größe aggregiert man Gebiete zu größeren räumlichen Aggregaten
und/oder die demografische Differenzierung durch Zusammenfassung
von Bevölkerungsgruppen und/oder Altergruppen.
- Alle Werte in der Ausgangsbevölkerung sind ganzzahlig.
- die Berechnung der Ströme erfolgt nichtdeterministisch (stochastisch nach der Monte-Carlo Methode) und
ganzzahlig.
- Für die Berechnung werden Sparse - Matrizen eingesetzt (siehe Schwellwert Füllgrad GEM !SPARSEGEM t) und die
Abbildung der Gebiete in Typen erfolgt zweistufig über eine verkürzte Referenzdatei.
Ist bei Einsatz Baustein I - Binnenwanderung die Anzahl de Binnentypen so hoch, dass weniger als 50% der
Altersgruppen der Verflechtungsmatrix STRM unbesetzt sind, werden für die Binnenwanderung Sparse - Matrizen
eingesetzt (siehe !SPARSESTRM s)
Alle Bausteine zur Anpassung an Eckwerte sollte man meiden, da sie nicht ins Schema der ganzzahligen Berechnung passen:
A | Anpassung Wegzug |
B | Anpassung Zuzug |
C | Zielwert Wegzug |
G | Zielwert für Geburten |
M | Zielwert für den Bevölkerungsbestand |
N | Zielwert für den Außenwanderungssaldo |
P | Zielwerte/Entwicklungsgrenzen |
R1 | Demografische Sondergruppen als Raten |
S | Sterbefalleckwert |
Diese Bausteine kann man durch einen mehrstufige Prognose vermeiden:
- grobkörnige Prognose mit Eckwerten auf höher aggregierten Gebieten
- Korrektur der Raten anhand der Korrekturfaktoren aus obiger Prognose
- feinkörnige Prognose ohne Eckwerte aber mit korrigierten Raten
Da für feinkörnige Prognosen mit SIKURS noch kaum Erfahrungen vorliegen, ist eine besonders sorgfältige Prüfung der Prognoseergebnisse ratsam.
Parameter
Die Prognose mit Monte-Carlo Methode wird über Start Prognose/Notiz
!option($MONTE_CARLO m)
!option($ZOMBIE z)
!option($RANDOMLIMIT l)
!option($MBF g)
über die Parameter m, z, l, g
mit den Voreinstellungen m=0, z=0, l=100, g=1 gesteuert.
Die Voreinstellung führt zu einer klassischen deterministischen Prognose.
m |
0 | (oder leer) klassische deterministische Prognose |
1 | Monte-Carlo Methode mit zufälligem Startwert für Zufallsgenerator (führt be jeder Wiederholung der Prognose zu leicht unterschiedlichen Ergebnissen) |
>1 | Monte Carlo Methode mit vorgegebenen Startwert m (führt bei Wiederholung zu identischen Ergebnissen) |
z |
0 | (oder leer) erlaube negative Werte in GEM |
1 | verhindere negative Werte in GEM |
l | Schwellwert von Anzahl Personen in einer Altersgruppe ab der statt mit Zufallszahlen mit der klassischen Formel round(Anzahl*Rate) gerechnet wird |
g | Simuliere bei Monte-Carlo-Simulation Mehrlingsgeburten 0 keine, ..., 5 bis Fünflinge |
Beispiel: |
m=0 z=0: klassische deterministische Prognose |
m=1 z=0: Monte-Carlo Methode mit zufälligem Startwert für Zufallsgenerator und möglichen negativen GEM-Werten |
m=4711 z=1: Monte-Carlo Methode mit Startwert 4711 für Zufallsgenerator und ohne negative Werte in GEM
Ein sinnvoller Startwert m für den Zufallsgerator kann dem Protokoll eine Prognose mit m=1 entnommen werden |
m=1 z=0 l=50: bis 50 Personen Monte-Carlo ohne zombie killer, darüber gerundete klassiche deterministische Prognose |
Hinweis
Extras/Eigene Scripts/Start/microsim.pl
ist eine Beispiel für die Ableitung von GEM in der Differenzierung
Haushalt und REFTYP differnziert nach signifikanten Stellen R02 aus dstbest
Für Prognosen mit der Monte-Carlo Methode gibt es erst wenig Erfahrung,
deshalb ist es sehr sinnvoll die Plausibilität der Ergebnisse, z.B.
durch Vergleich mit einer klassischen deterministischen Prognose, für die
die dünn besetzten Gebiete in höhere Einheiten aggregiert werden,
zu überprüfen.
Sind die Ergebnispyramiden sehr dünn besetzt, empfiehlt sich eine
Aggregation dieser Recheneinheiten über ein onder mehrere Merkmale
zu statistisch relevant besetzten Aussageeinheiten.
- Zusammenfassung kleiner Gebiete zu größeren räumlichen Einheiten
- Zusammenfassung aller Bevölkerungsgruppen (Geschlechtsgruppen ?)
- Aggregation der 100 Altersgruppen auf z.B. 50, 25, 20, 10, 5, 3, 2
Altersklassen (Visualisierung/Pyramiden/Einzelpyramiden untersstützt
gleichabständige aggregierte Altersklassen)