Last modified: 5.9.2024

SIKURS aktuelle Punkte

Inhaltsverzeichnis, aktuelle Punkte, zurückgestellte Punkte, erledigte Punkte

  1. s dynamische Bevölkerungsbewegung (28h,0A,v10.4,Z:,B:1)
    Will man die Dynamik der Bevölkerungsbewegungen (ein gestorbener kann nicht wandern, bei positiven/negativen Bewegungsbilanzen verstärkt sich die steigende/fallende Bevölkerungsentwicklung im Laufe eines Jahres (siehe auch 047 Neubau/Rückbau)) modellieren, bieten sich an:
    1. gewöhnliche Differentialgleichungen (ODE)
      (Aufwand (15h), war bis SIKURS 10.5.0.1543 enthalten, wird laut LA 07.12.2023 nicht sofort benötigt)
      Als Einführung siehe law of growth

      Das SIKURS Modell für globale Entwicklung als Differentialgleichung:

      Extras/Eigene Scripts/Start/
      global_dst.pl
        Ableitung Input aus Verzeichnis mit Statistikdatensätzen
      global_makro.pl
        Ableitung Input aus Verzeichnis mit Makrodateien
      global_prognose.pl
        Prognose mit Input:
        B0 = Ausgangsbevölkerung
        g = Geburtenziffer (Geburten pro 1000 Einwohner) (Geburtenziffern Deutschland 2016)
        s = Sterbeziffer (Sterbefälle pro 1000 Einwohner)
        w = Außenwegzugsziffer (Außenwegzüge pro 1000 Einwohner)
        Z = Zuzug absolut pro Jahr
        r = (g-s-w)/1000           # Ratenbilanz
        y' = ry + Z                # Differentialgleichung
        y(t) = (y0+Z/r)*er*t-Z/r    # analytische Lösung
        Bs = -Z/r                  # stabile End-(Start-)bevölkerung bei r < 0 (r > 0) und t → ∞
      Beispiel 1/2/3:
        80.8   Mio. Ausgangsbevölkerung 2013 (y0)
        10     Geburtenziffer g
        20     Sterbeziffer s
        30     Außenwegzugsziffer w
         1   2       3 Beispiel
         2   3.232   4 Mio. Zuzug pro Jahr Z
        50  80.8   100 Mio. stabile Endbevölkerung Bs mit Annäherung von Oben und Unten
      img/rk4.png
      Eine solche Alternativrechnung können Sie mit einem einfachen Gnuplot-script berechnen:
      # Außenzuzugsvariantenprognose mit jeweis stabiler Endbevölkerung
      B0 = 82.5          # Mio Ausgangsbevölkerung
      g  = 8.54          # Geburten pro 1000 Einwohner
      s  = 11.04         # Sterbefälle pro 1000 Einwohner
      w  = 19.58         # Außenwegzüge pro 1000 Einwohner
      r  = (g-s-w)/1000  # Ratenbilanz
      x0 = 2022          # Ausgangsjahr
      array Z[4]  = [ 1.5, 1.7, 1.85, 2.0 ]  # Szenarien für Außenzuzug
      set title "B'=rB+Z B_0=82.5 g=8.54 s=11.04 w=19.58 r=(g-s-w)/1000=-0.02208"
      set term wxt 0 size 900,600 enhanced
      set ylabel 'Mio Einwohner'
      set xrange[2022:2121]
      set yrange[*:*]
      plot \
       for [i=1:4] B(x) = (B0+(Z[i]/r))*exp(r*(x-x0))-(Z[i]/r), B(x) lt i title sprintf("Z%d=%g %g", i, Z[i], -Z[i]/r),\
       for [i=1:4] l(x) = -Z[i]/r, l(x) lt i notitle
      pause mouse
      Ein weiteres globales Modell ist die Logistic Equation deren Lösung bei negativer Ratenbilanz r ebenfalls gegen 0 strebt, bei positiver Ratenbilanz jedoch gegen eine Kapazitätsgrenze K.

      Für Bausteinkombinationen ohne Zielwerte für Geburten, Sterbefälle oder Zielbevölkerung startet man eine demografisch differenzierte Prognose durch Lösung eines Systems partieller Differentialgleichungen mit der Option ODE
      Siehe
      SIKURS Hauptmaske/Einwohner/Prognose/Berechnen/?/Notiz/Optionen

      System von g * bg * gg * ag partiellen Differemtialgelichungen:
      B(g,bg,gg,ag,t0) sei die Bevölkerung eines Gebiets g, Bevölkerungsgruppe bg, Geschlecht gg und Altersgruppe ag zum Zeitpunkt t0.
      B(g,bg,gg)'(ag,t) = f(B(g,bg,gg),ag,t) + Z(g,bg,gg,ag,t)
      d.h. wir benötigen eine Funktion f, abhängig von der Bevölkerung B(g,bg,gg), der Altersgruppe ag und vom Zeitpunkt t, zur Berechnung einer Gesamtrate.
      Diese Gesamtrate setzt sich aus der Summe der Einzelraten zusammen:

      • Die Geburtenrate kann wie bei fruc ein fester Wert für ein bestimmtes Jahr, Geburtentyp, Bevölkerungsgruppe und Altersgruppe sein
        Für die Runge-Kutta Methode benötigt man den Funktionswert am Ausgangspunkt (Startjahr), am Ende eines Integratiosschrittes (Folgejahr - fruc vom Folgejahr) und in der der Mitte (Mittelwert fruc Startjahr und fruc Folgejahr).
        Bei der Berechnung der Raten aus den Makrodaten muss man noch definieren was der korrekte Stichtag für die Rate ist (1.1, 1.7, 31.12 ?) Alternativ verwendet man die Hadwiger-Funktion
        h(F(t), ME(t), MO(t), VAR(t), a)
        wobei die Parameter F, ME, MO, VAR eine Funktion der Zeit sind. Dies läßt sich erreichen, wenn man ähnlich wie bei fruc die 4 Hadwiger-Parameter pro Prognosejahr vorgibt und den Wert für die Mitte des Jahres interpoliert.
        Die Änderungsrate für Geburten ist nur für die Altergruppe 0 ungleich Null, hängt aber von den Geburtenraten und der Anzahl der weiblichen Bevölkerung im gebärfähigen Alter ab.
      • Die Sterberate kann der Logik der Datei strb oder einer Weibullverteilung
        w(g, w1(t), w2(t), ... , w7(t), a)
        mit 3 Altergrenzen g[0]: Baby, g[1] jung, g[2] sowie 7 zeitabhängigen Parametern w1 bis w7 und dem Alter folgen.
      • Der Bevölkerungsgruppenwechsel folgt der Datei bgwr
      • Die Binnenwanderung folgt der Datei strm
      • Die Außenwegwanderung folgt entweder der Datei wegz oder einer noch zu definierenden Funktion
      • Die Außenzuwanderung Z hängt nicht von der Bevölkerung ab.
        Derzeit wird nur Baustein K0 und K6 unterstützt, die Bausteine K1 bis K5 wären leicht zu ergänzen, weil sie sich leicht in die Struktus von K6 umrechnen lassen.
      Das normale Prognoseverfahren (!ODE 0) entspricht dem einschrittigen Euler Polygonzugsverfahren für Differentialgleichungen.
      Besser ist die Runge-Kutta-Mathode (der Ordnung 4) mit fester Schrittweite von einem Jahr.
      Das Verfahren berechnet ein gewichtetes Mittel aus Anfangspunkt, Zwischenpunkten und Endpunkt und übertrifft die Euler-Methode an Genauigkeit.
      Komplexere Methoden mit Schrittweitensteuerung und Extrapolation bieten sich nicht an, weil man die Jahresschritte genau treffen will.
    2. verkürztes Prognoseintervall (13h)
      Wenn man die Optionen
      [2018   ] Erstes Prognosejahr
      [2029   ] Letztes Prognosejahr
      ersetzt durch
      [ 6 ] Prognoseintervall von m Monaten
      [2018.06] Erster Prognoseabschnitt
      [2029.01] Letzer Prognoseabschnitt
      kann man monatliche, vierteljährliche, dritteljährliche, halbjährliche, jährliche Prognoseintervalle vorgeben.

      Zum Test dieser Variante wurde folgende vereinfachte Steuerung eingebaut:

      Einwohner/Prognose/Berechnen
      Notiz
      !option($MONATE 6 $GEMALL 2 $ZRFN '')
      Dies legt eine Prognoseintervall von 6 Monaten (halbjährlich) fest,
      und bewirkt die Ausgabe aller gem-Dateien in eine
      gem.csv:
      200902;001;1;1;00;123
      ...
      201902;732;2;2;99;31,2
      Die Eingabedateien muss man auf 200 "Halbjahresaltergruppen" erweitern, bei Beständen mit dem jeweils halben Bestand in den 2 Halbjahren, bei Raten auf mit der Hälfte für den Halbjahresprognoseabschnitt.
      Die Prognose startet man dann mit
      [2018   ] Erstes Prognosejahr
      [2037   ] Letztes Prognosejahr
      Dies bewirkt 20 Halbjahresschritte der Prognose, d.h. bis 2 Jahreshälfte 2027.
      Die Ergebnis-gem-Datei sollte man dann auf 100 Altersgruppen aggregieren und evtl. die Halbjahresbestände aussortieren.
      Befehle nach der Prognose:
      # aggregiere gem.csv mit 6 Monaten in zr_gem.csv mit 1 Jahr
      my $agg = [q(substr($i,4) eq q(01)?-1:substr($i,0,4)),q($i),q($i),q($i),q(int($i/2))];
      my $par = { subset => 4 };
      zeitreihe('gem', 'zr_gem_1', $agg, $par);

      Es wurden 3 Beispiele mit gleichen Eingabedaten aber unterschiedlicher Berechnungsmethode bereitgestellt.

      1. .../beispiel/regtest/K3T1.ini
        klassische SIKURS-Prognose mit Einjahresschritten
      2. regtest_6_monate-zip K3T1.ini mit 200 Halbjahresaltergruppen und Halbjahres-Prognoseintervall.
      3. .../beispiel/regtest/K6T1_ode.ini
        verwendet den gleichen Außenzuzug, nur schon in der Eingabedatei zuvg1992.csv ausdifferenziert
        Die Jahresfortschreibug erfolgt druch ein System partieller Differentialgleichungen, die numerisch mit dem Runge-Kutta Verfahren 4. Ordnung gelöst werden.
      Die Verfahren 2 und 3 führen bei stegender Bevölkerung zu einem geringeren Anstieg, bei fallender Bevölkerung zu einem geringeren Abfall der Bevölkerung.
  2. s Unterstützung Übergangsphase Nachfolger Systemexperte ab 2024 (44h,A,v10.5,Z:,B:)
    Liste erbrachter Leistungen
    1. 12.01.2024 (3h) Bereitstellung neueste SIKURS Version für Überarbeitung Stein-Handbuch
    2. 18.01.2024 (3h) Beratung hst zu einer Anfrage zum Thema:
      roadmap 098 Ableitung der Sterblichkeit aus der amtl. Statistik
      Herr Stein behandelt den Teilaspekt:
      Abb. 3.2: Beispiel für einen „Überbau“ im Bevölkerungsbaum aufgrund zu niedrig gesetzter Sterberaten in den höchsten Altersklassen
      im Anwendungsorientierten Handbuch, Kapitel:
      3.5 Übernahme amtlicher Sterberaten
      dort schlägt er als Sterberate für die Altersgruppe 99 vor
      0,649 = 0,001 ^ (1/16).
      Meiner Ansicht nach ist das nicht die Sterbe- sondern die Überlebensrate,
      wenn nach 16 Jahren einer von tausend übrig bleiben soll, d.h. die Sterberate sollte die Differenz zu 1 sein:
      0,351 = 1 - 0,001 ^ (1/16).
      Dies ist dann auch von den von Herrn Lindemann vorgeschlagenen Werten näher
      m: 0,4 w: 0,3
    3. 15.04.2024 (4h) Teams Besprechung BK mit anschließenden Arbeiten
      1. Visualisierung Zeitreihen/X-Y-Plot
        Merkmale aus Eingabedatei
        [-1    ] Wert (Vorzeichen "-" für -1 für letzte Spalte)
      2. Reporting
        Alterkalssen Zusammenfassung [ grob]
        Altersklassen Tab. 1 [fein]
        Altersklassen tab. 3 [superfein]
      3. Analyse Fehlermeldung Christa Ruten
        Visualisierung/Indikatoren/Prognose
        Vergleich mit Ergebnis/Zeitreihe Aggregationsfunktion [ descriptive_statistics ]
    4. 17.04.2024 (4h) Umsetzung Analyse Fehlermeldung Christa Ruten:
      Alterung Paramide aus gem vor Berechnung Indikatoren JQ, AQ, ...
    5. 29.04.2024 (5h) Teams-Besprechung BK, JS mit anschließender Umsetzung
    6. 18.07.2024 (9h) bug fix release SIKURS 10.5.1472
      • Bestandsindikatoren ohne Alterung mit Jahreskennung der gem-Datei
      • Nur Bestandsindikatoren in Tabelle Startjahr-1
      • Überprüfung und Umsetzung Anmerkungen aus Entwurf "Stein Handbuch 10.5"
      • "mittlerer Generationenabstand (GA) 29,2902"
        im Prognoseprotokoll, falls
        [v] Ausgabe Geburten nach Alter der Mutter
      • Hauptmaske/Visualisierung/Indikatoren/Statistikdatensatz/Berechnen
        Fehler beseitigt
      • SIKURS Release 10.5.0.1465 erstellen
    7. 13.08.2024 (4h) anpassen SIKURS-Eingabedateien der SIKURS-Excel-Beispiele an SIKURS.10.5
    8. 14.08.2024 (3h) verbessern blackbox_test für Überprüfung SIKURS-Excel-Beispiele unter SIKURS 10.5
    9. 15.08.2024 (4h) SIKURS-EXCEL 10.5
      • Anpassung SIKURS-Eingabedateien an SIKURS 10.5
      • Prognoserechnung aller Beispiele
      • Übergabe Excel-Dateien, SIKURS-Eingabedateien, SIKURS-Ergebnisdateien incl. Prognoseprotokille an Herrn Dr. Tüllmann zur Prüfung
    10. 27.08.2024 (3h)
      • upgrade Perl 5.32 auf 540
      • Beseitgen Fehler beim Glätten sehr dünn besetzter Pyramiden
    11. 04.09.2024 (2h) Analyse Problem Adminrechte Anwender Schweiz
      Zunächst noch einige Fragen zum Problem mit den Adminstratorrechten:
      Können Sie mir die genaue Meldung von Windows Defender schicken ?
      Genügt es einmal den Zugriff auf SIKURS mit Administratorrechten zu erlauben, oder sind die Administratorrechte bei jedem Start von SIKURS notwendig ?

      Aus meinen Erfahrungen mit einem ählichen Programm für die Stadt Wien sehe ich folgende Möglichkeiten:

      1. kurzfristig Nutzung von SIKURS auf einem privaten Rechner
      2. Nutzung von SIKURS nach der Methode von Herr Lindemann Stuttgart
        siehe Benutzerhandbuch Programmbeschreibung / Externe Programme:
        • Bearbeitung der Datei
          sikurs.ini falls sie SIKURS-Systemeinstellungen ändern wollen und
          <version>.ini für eine Prognoseversion version mit einem Texteditor
        • Start der Prognose durch C:\sikurs\App\sikern64.exe
          z.B. mit einer Datei sikern.bat im Eingabedatenverzeichnis der Prognose:
          :: sikern.bat
          @echo off
          set w=C:/sikurs
          set d=C:/sikurs/beispiel/baustein/
          set v=T1
          %w%/App/sikern64.exe sikern -d %d%  -v %v% -w %w%
          start %d%%v%/prot/index.html
          dabei ist SIKURS im Verzeichnis -w C:/sikurs installiert, und rechnet die Version -v T1 der Datei T1.ini im Eingabedateiverzeichnis -d C:/sikurs/beispiel/baustein/ und das Prognoseprotokoll C:/sikurs/beispiel/T1/prot/index.html
      3. Portierung des in Perl geschriebenen GUI-Anteils von SIKURS nach C#
        • zuerst die Kernfunktionen Einwohner Versionsdatei/Methodenwahl/Prognose
        • anschließend weitere Funktionen nach einer vorzugegebenden Priorität
    Mögliche Leistungen
  3. s Dokumentation Methodenexperte für Nachfolge SIKURS Wartung ab 2024 (h,A,v,Z:,B:)
    1. Dokumentaion
      1. 20.05.2024 m:6h Geburtsjahrgangsindex-Kaveriappa.odt
      2. m:4h Lexisdiagramm
    2. Ergänzung Benutzerhandbuch
      1. Glossar "Freie Wohnkapazität" FWKG
      2. Angleichen der Bausteine E und D.
        Nach der Liste erledigte Punkte soll D gestrichen sein, wird aber noch beim Einsatz des Methodenassistenten und in der Quickreferenz aufgeführt. Verstehe ich nicht.
    3. SIKURS Excel Beispiele
      1. Prüfung vorhandene Beispiele mit SIKURS 10.5 (rm 053)
        Überprüfung der Übereinstimmung der Ergebnisse der 10 Excel-Berechnungen und der SIKURS-Ergebnisse Version 10.5. Dafür müssen mit der Version 10.5 die entsprechenden Bausteinkombinationen generiert und mit den Eingabedaten der Beispiele durchgerechnet werden (roadmap 127.9). Die Überprüfung der beiden Ergebnisse muss noch erfolgen. Eventuelle Abweichungen (z.B. Gewichtung Neubau/Rückbau) werden nur aufgezeigt. Warum, und mit welchem Aufwand für System und Methode sie behoben werden können, wird nicht ermittelt. (30 Std. System, 20 Stunden Methode)
      2. Ergänzug um Ablaufdiagramme (rm 084)
        Auf das Ablaufdiagramm kann natürlich verzichtet werden. Anwender die mit Excel vertraut sind, können durch die Verweise auf die verwendeten Zellen den Berechnungsablauf rekonstruieren. Es ist allerdings ein sehr mühsamer Weg. Über die Priorität, die Excel-Berechnungen nachzuvollziehen sollte entschieden werden, nachdem ein Mitglied des Lenkungsausschusses oder ein SIKURS -Anwender versucht hat, eine Excel Berechnung ohne Anleitung nachzuvollziehen. Ich gehe davon aus, dass keiner die Zeit und die Geduld haben wird. (50 Std. Method. Bei Text-Erläuterungen der einzelnen Schritte zusätzlich 30 Std.)
      3. Neue Beispiele für weitere Bausteine (rm 093)
        Ich halte die Dokumentation und die Überprüfung der Berechnungen mit Zielvorgaben, um diese zu erreichen nicht nur ein Parameter sondern mehrere modifiziert werden sollen, für sehr wichtig. Die Berechnung von Bewegungen, die erforderlich sind, um Zielwerte im Bestand zu erreichen, um Zu- und Abwanderung für einen Saldo konsistent abzugleichen oder auch Außenzuwanderung und Binnenzuwanderung, sowie Außenwegzug und Binnenauszug übereinstimmend anzupassen ist eine herausstechende Leistung des SIKURS-Ansatzes. Es wäre unredlich, diese Leistungsmerkmale nicht überprüft zu haben und SIKURS ungeprüft den Anwendern zu übergeben. Ob die Zielwerte erreicht werden, kann jeder Anwender selbst überprüfen. Ob die Konsequenzen für die demografische Struktur der Ergebnisse, die Nebenwirkungen auf andere Prozesse plausibel bzw. stimmig sind, ist wegen der Komplexität der Berechnungen dem gesunden Menschenverstand nicht möglich. Da inzwischen die Anwendungsumfang für die Berechnungen mit dem loglinearen Ansatz erweitert ist, müssen meines Erachtens mindestens 6 Beispiele in Excel dokumentiert und die Ergebnisse mir den SIKURS-Berechnungen verglichen werden. Unbedingt sind die Tests der 6 Bausteine N1; N4; P1; P2; A1B1; und die Variante simultane Anpassung Außenwanderung und Binnenwanderung A1B1(15 Std. System, 70 Std Methode)

        Für Bausteine N1-N4 gibt es im Verzeichnis beispiel\baustein folgende Tests:

        A1B1D1E2I1K1N1P1R1S1T1Y1.ini
        A1B1I1K1N1P2T1.ini
        A1B1K1N1T1.ini
        A1B1K4N1T1.ini
        A1D1E1I1K1N1T1.ini
        A1I1K1N1P2T1.ini
        A1K1N1T1.ini
        B1E1I1K1N1P1T1.ini
        B1I1K1N1P2T1.ini
        B1K1N1T1.ini
        
        B1K2N2T1.ini
        
        B1D1I1K3N3T1.ini
        B1K3N3T1.ini
        
        B1D1E1I1K4N4T1.ini
        B1D1I1K4N4R2T1W1.ini
        B1K4N4R1T1.ini
        B1K4N4T1.ini
        B1K5N4T1.ini
        
    4. Fach- und Anwenderfragen aus der Tagesordnung in der Einladung zur Tagung des Lenkungsgruppe, Anlage 3
      1. Baustein D: Wie teilt SIKURS die Auszüge der Neubaubezieher aus den Gebietseinheiten auf die Gebietseinheiten auf? (Beantwortung der Frage 3 Std.)
      2. Aufteilung Bewegungen Typ auf die Gebietseinheiten. (Beantwortung 2 Stunden)
      3. Thematik Binnenwanderung. Die Frage müsste mit dem StaLa Sachsen erörtert werden. (Für die Klärung der Frage 3 Std.)
    5. Berechnen Geburtenraten für die Jahrgangsgruppen 01-<1, 1 -<2.
      Herr Stein hat das Thema bearbeitet, siehe roadmap 098 "uls:", aber es gibt nock keine Entscheidung über die Umsetzung im Programm.
      Zumindest war ich damals von dem Auftrag zurückgetreten. Sollte ich mich mal an Herrn Ehlert in Berlin wenden und vorschlagen, das Thema mit ihm zu bearbeiten?