Testprozeduren

Regressionstest der grundlegenden SIKURS-Funktionen

Prüfen durch Anwender

Prüfen durch Methodenexperte

Prüfen Einwohner/Prognose

Manuelle Testprozeduren

Die folgenden Testprozeduren mit konstruierten Eingabe- und Ergebnisdaten definieren einen minimalen "non regression test", der mindestens vor jedem neuen offiziellen SIKURS-Release durchgeführt werden sollte.
Die Prozeduren mussen Schritt fur Schritt manuell durchgefuhrt werden.

Die Testdaten befinden sich in der Entwicklerversion im Verzeichnis .../Sikurs/Beispiel/tools. Die Prozeduren können schrittweise erweitert werden, um eine höhere Testabdeckung zu erreichen. Dazu muß man die Eingabedaten und Parameter so variieren, daß alle Fälle der Programmlogik abgetestet werden.

Vorteile

Probleme

Eingabedaten/Berechnen

Makrodateien aus Statistikdatensatz dstbest + dstbew

Ordner .../extra/beispiel/dst/dstmak/dst
log.txt im Text Editor:
D:/trunk/sikurs/extra/Beispiel/dstmak:
? 2000 Z02:20021231 dstbest_2000.txt.lnk
! 2009 Z01:20100408 dstbew_2009.txt.lnk
  2010 Z01:20100408 dstbew_kopie_von_neun.txt

[   ] Auswahlfilter R01
[2  ] Abbildung R02/R02U2/ANSTE/ANSTI
[   ] Abb. GEM in Teilgebiet REFTYP
[11 ] signif. Stellen Schlüssel Außentyp W40/W41
[1  ] Altersberechnungsmethode
[1  ] Ableitung dsg
[0  ] Ableitung Erstbezug Neubauten
[0  ] Ableitung Nettobewegungen
[OK]

prot.htm:
Start Makrodateien aus Statistikdatensatz Bestand+Bewegung
D:/trunk/sikurs/extra/Beispiel/DST/dstmak/dst:
Warnung, Berichtsjahr 2000 aus Dateiname dstbest_2000.txt.lnk passt nicht zu Berichtsjahr Z02: 20021231 aus Statistikdatensatz 1
<  dstbest_2000.txt.lnk -> D:\trunk\sikurs\extra\Beispiel\hhprog\test_HDO\dstbest.txt, oberste Altersgruppe 48
>      bestand_2000.csv 11 records, Summe 11
>          dsg_2000.csv 8 records, Summe 8
21 records, verworfen 0 wegen R01-Filter + 10 wegen W01!=1, 0 Alter fehlt, 0,055s
<            reftya.csv: No such file or directory
Warnung: Satz 9:0811100031060   3  0001: P01(        ) oder Z01(20100419) nicht versorgt
<   dstbew_2009.txt.lnk -> D:\trunk\sikurs\extra\Beispiel\DST\dstbew\neun\dstbew.txt, oberste Altersgruppe 103
> aussenwegzug_2009.csv 1 records, Summe 1
>  aussenzuzug_2009.csv 1 records, Summe 1
>         baby_2009.csv 1 records, Summe 1
>          bgw_2009.csv 1 records, Summe 1
> binnenwegzug_2009.csv 1 records, Summe 1
>       geburt_2009.csv 1 records, Summe 1
-  neubaubezug_2009.csv 0 records
2010: 10 records
>        sterb_2009.csv 2 records, Summe 2
Bitte Plausibilitätstest Statistikdatensatz ausführen
10 records, verworfen 0 wegen R01-Filter + 0 wegen W01!=1, 1 Alter fehlt, 0,07s
<dstbew_kopie_von_neun.txt, oberste Altersgruppe 103
> aussenwegzug_2010.csv 1 records, Summe 1
>  aussenzuzug_2010.csv 1 records, Summe 1
>         baby_2010.csv 1 records, Summe 1
>          bgw_2010.csv 1 records, Summe 1
> binnenwegzug_2010.csv 1 records, Summe 1
>       geburt_2010.csv 1 records, Summe 1
-  neubaubezug_2010.csv 0 records
2010: 9 records
>        sterb_2010.csv 2 records, Summe 2
9 records, verworfen 0 wegen R01-Filter + 0 wegen W01!=1, 0 Alter fehlt, 0,055s
>        reftyp_roh.csv 1 records
>        reftya_roh.csv 2 records
Warnung, fehlende Schlüssel 5373336987 in reftya:
0 1 
Ende Makrodateien aus Statistikdatensatz Bestand+Bewegung 0,312s

aussenwegzug_2009.csv (=2010)
#Jahr;Quellgebiet;Außentyp;Bevölkerungsgruppe;Geschlechtsgruppe;Altersgruppe;Außenwegzug (Z01)
2009;67;1;1;2;072;1

aussenzuzug_2009.csv
#Jahr;Außentyp;Zielgebiet;Bevölkerungsgruppe;Geschlechtsgruppe;Altersgruppe;Außenzuzug ohne Neubauerstbezug (Z01)
2009;1;12;2;2;072;1

baby_2009.csv
#Jahr;Gebietseinheit;Bevölkerungsgruppe;Geschlechtsgruppe;Altersgruppe;Anzahl (Z01)
2009;61;2;1;000;1

bestand_2000.csv
#Jahr;Gebietseinheit;Bevölkerungsgruppe;Geschlechtsgruppe;Altersgruppe;Anzahl
2000;14;1;1;003;1
2000;14;1;1;005;1
2000;14;1;1;006;1
2000;14;1;1;007;1
2000;14;1;1;008;1
2000;14;1;1;021;1
2000;14;1;1;025;1
2000;14;1;2;005;1
2000;14;1;2;021;1
2000;14;2;1;048;1
2000;14;2;2;047;1

bgw_2009.csv
#Jahr;Gebietseinheit;Bevölkerungsgruppe;Bevölkerungsgruppe;Geschlechtsgruppe;Altersgruppe;Bevölkerungsgruppenwechsel (Z01)
2009;61;2;1;2;072;1

binnenwegzug_2009.csv
#Jahr;Gebietseinheit;Bevölkerungsgruppe;Bevölkerungsgruppe;Geschlechtsgruppe;Altersgruppe;Bevölkerungsgruppenwechsel (Z01)
2009;61;2;1;2;102;1

dsg_2000.csv
#Jahr;Gebietseinheit;Bevölkerungsgruppe;Geschlechtsgruppe;Altersgruppe;Anzahl
2000;14;1;1;003;1
2000;14;1;1;005;1
2000;14;1;1;006;1
2000;14;1;1;007;1
2000;14;1;1;008;1
2000;14;1;1;021;1
2000;14;1;1;025;1
2000;14;1;2;005;1
2000;14;1;2;021;1
2000;14;2;1;048;1
2000;14;2;2;047;1

geburt_2009.csv
#Jahr;Gebietseinheit;Bevölkerungsgruppe;Altersgruppe;Geburt (Z01)
2009;61;2;052;1

reftya_roh.csv
#W40W41;Außentyp (Vorlage fuer Eingabedatei reftya.csv)
00808119020;1
15400000000;1

reftyp_roh.csv
"#Gebietskennzeichen";"Gebietsname";"Typ Geburtenraten";"Typ Sterberaten";"Typ Binnenwanderung";"Zieltyp Außenzuwanderung";"Quellentyp Außenwegwanderung";"Typ Neubauerstbezug";"Typ Rückbauendauszug";"Typ Bevölkerungsgruppenwechsel";"Typ Altersgruppenfortschreibung";"Typ Haushalteprognose";"räumliches Aggregat 1";"räumliches Aggregat 2"
14;"";1;1;1;1;1;1;1;1;1;1;1;1

sterb_2009.csv
#Jahr;Gebietseinheit;Bevölkerungsgruppe;Geschlechtsgruppe;Altersgruppe;Tod (Z01)
2009;31;1;2;102;1
2009;48;1;2;103;1

SIKURS Eingabedaten aus Makrodateien

Ordner .../beispiel/tools

sterb_2000.csv
2000;1;1;1;0;4
2000;1;1;1;1;3
2000;1;1;1;2;5
2000;1;1;1;3;5
2000;1;1;2;0;6
2000;1;1;2;1;7
2000;1;1;2;2;6
2000;1;1;2;3;0

bestand_1999.csv
1999;1;1;1;0;5
1999;1;1;1;1;4
1999;1;1;1;2;7
1999;1;1;1;3;6
1999;1;1;2;0;10
1999;1;1;2;1;0
1999;1;1;2;2;0
1999;1;1;2;3;0

baby_2000.csv
2000;1;1;1;0;6
2000;1;1;2;0;12

geburt_2000.csv
2000;1;1;15;7
2000;1;1;16;8

SIKURS Eingabedaten berechnen
Verzeichnis .../beispiel/tools
Raten-Ausgabedatei
[v] Sterberaten (STRB)
Optionen
Ermittlung Geborene
(a) Kopie der untersten Altersgruppe
(b) Übernahme aus Geborenendatei
(c) Ableitung aus Geburtendatei
[2] undefinierte Werte
4 Altersgruppen
1 Altersuntergrenze Fruchtbarkeit
2 Altersobergrenze Fruchtbarkeit
0,53 Geschlechterproportionen
0 Abb GEM in Teilgebiet REFTYP
1999 .. 1999 Jahre
[ OK ]

bprog/strb2000_roh.csv (Ausgabedatei abhängig von Ermittlung Geborene)
#Typ Sterberaten;Bevölkerungsgruppe;Geschlechtsgruppe;Altersgruppe;Rate;("sterb.csv", "bestand.csv")
1;1;1;0;0,8;({ 2000 => 4 }, { 1999 => 5 })
1;1;1;1;0,6;({ 2000 => 3 }, { 1999 => 5 })
1;1;1;2;1,25;({ 2000 => 5 }, { 1999 => 4 })
1;1;1;3;0,384615384615385;({ 2000 => 5 }, { 1999 => 13 })
1;1;2;0;0,6;({ 2000 => 6 }, { 1999 => 10 })
1;1;2;1;0,7;({ 2000 => 7 }, { 1999 => 10 })
1;1;2;2;Inf;({ 2000 => 6 }, undef)
1;1;2;3;NaN;(undef, undef)

lösche Unterverzeichnis bprog

Verzeichnis ...\extra\Beispiel\raten\Raten_Rohdaten
[v] linke Spalte alles bis auf BGWR DSGR FRUC NEBQ anklicken (Raten/Quoten/Ausgangsbevölkerung)
(*) baby.csv
[ ] Debug-Ausgaben
[100] Altersgruppen
[15 ] Altersuntergrenze Fruchtbarkeit
[44 ] Altersobergrenze Fruchtbarkeit
[0,5] GP
[0,001] Schwellwert ZUAQ
Jahre
[2009..2011   ]
[OK]

In Unterverzeichnis bprog:
gem2010_roh.csv:
2010;1;1;1;19;100
...
2010;4;2;2;25;100

reftyp2010_roh.csv
1;"";1;1;1;1;1;1;1;1;1;1;1
2;"";1;1;1;1;1;1;1;1;1;1;1
3;"";1;1;1;1;1;1;1;1;1;1;1
4;"";1;1;1;1;1;1;1;1;1;1;1

strb2011_roh.csv
1;1;1;20;0,02
...
4;2;2;22;0,02

strm2011_roh.csv
1;1;1;1;20;0,02
...
4;4;2;2;22;0,02

wegz2011_roh.csv
1;1;1;1;00;1
...
1;1;1;1;19;1
1;1;1;1;20;0,02
...
1;1;1;1;26;0,02
1;1;1;1;27;1
...
5;2;1;1;99;1

zuaq2011_roh.csv
1;1;1;1;00;0,25
...
2;4;2;2;99;0,25

zudqK12011_roh.csv    K2           K3          K4
1;1;1;20;0,0416666667 0,0833333333 0,166666667 0,333333333
...
2;2;2;22;0,0416666667 0,0833333333 0,166666667 0,333333333

zuvl2011_roh.csv
1;1;1;1;20;2
...
2;4;2;2;22;2

zuvolK1_roh.csv
2011;1;1;1;192

zuvolK2_roh.csv
2011;1;1;1;96
2011;2;1;1;96

zuvolK3_roh.csv
2011;1;1;1;48
..
2011;2;2;1;48

zuvolK4_roh.csv
2011;1;1;1;24
...
2011;2;2;2;24

lösche Unterverzeichnis bprog

Verzeichnis ...\extra\Beispiel\raten\raten1
links alles ankreuzen BWGR..REFTYP
(*) baby
[v] Bewegung Typen
[v] Bestand  Typen
[100] Altersgruppen
[20 ] AltersUGF
[21 ] AltersOGF
[0,7] GP
[0,001] Schwelle ZUAQ
[2001..2003] Jahre

Es werden alle Ausgabedateien erzeugt

Glätten Rohdateien im Prognoseverzeichnis
[1] Glätten der Prognose-Roh-Eingabedaten
[ ] Rohdaten nach Glättung löschen
prüfe Stichpunktartig Roh, Glätt-Dateien

lösche Unterverzeichnis bprog

Hadwiger

visualisieren

.../beispiel/regtest/fruc1992.csv
1;1: F=1.1535 MO=29.50 ME=29.89 VAR=25.93
1;2: F=1.5732 MO=27.50 ME=28.17 VAR=30.81

fruc* -> hadwiger_analyse

.../beispiel/regtest

hadwiger_analyse.csv
#Jhr;T;B;P;Wert
1992;1;1;1;1,153543498
1992;1;1;2;29,5
1992;1;1;3;29,888691366019
1992;1;1;4;25,9264020056364
1992;1;2;1;1,573178309
1992;1;2;2;27,5
1992;1;2;3;28,1682601457099
1992;1;2;4;30,8067937264654
1993;1;1;1;1,153543498
1993;1;1;2;29,5
1993;1;1;3;29,888691366019
1993;1;1;4;25,9264020056364
1993;1;2;1;1,43330003866667
1993;1;2;2;28,5
1993;1;2;3;28,6298039477529
1993;1;2;4;30,0785521763242
1994;1;1;1;1,153543498
1994;1;1;2;29,5
1994;1;1;3;29,888691366019
1994;1;1;4;25,9264020056364
1994;1;2;1;1,29342176833333
1994;1;2;2;29,5
1994;1;2;3;29,1911758960255

del hadwiger_analyse.csv

hadwiger_synthese -> fruc*

copy hadwiger_analyse.csv tmp\hadwiger_synthese.csv

.../beispiel/regtest/tmp
[0,01   ] EPS
[0,0001 ] Schwellwert
[v] Ausgabe Hadwiger-Parameter

Start Parameter -> fruc-Dateien
D:/trunk/sikurs/beispiel/regtest/v:
< hadwiger_synthese.csv
> fruc1992.csv
> fruc1993.csv
> fruc1994.csv
> fruc1995.csv
Ende  Parameter -> fruc-Dateien 0,040 s

fruc1992-1995 sollten ähnlich aber nicht gleich wie die Ausgangsdateien sein

amtliche Geburtenraten

  1. Erstelle Datei
    afz.csv
    #$ year(2001)
    31;0,03
    32;0,05
    33;0,07
    
  2. Berechnen/Start/...amtlichen Geburtenraten
  3. wähle Eingabedatei afz.csv
  4. [1 ] Skalierung Eingabedaten
  5. wähle Ausgabedatei fruc2001_roh.csv
  6. Vergleiche fruc2001_roh.csv mit Sollwert:
    # (Datum)
    # Erzeugt aus .../afz.csv
    1..$NTYG;1..$NBG;31;0,03
    1..$NTYG;1..$NBG;32;0,04
    1..$NTYG;1..$NBG;33;0,06
    1..$NTYG;1..$NBG;34;0,07
    
  7. delete fruc2001_roh.csv
  8. weiteres Besipiel extra/beispiel/raten/afz_asz

amtliche Sterberaten

  1. Erstelle Datei
    asz.csv
    #$ year(2012) NAG(100)
    1;21;0,1
    1;22;0,2
    1;23;0,3
    
  2. Berechnen/Start/...amtlichen Sterberaten
  3. wähle Eingabedatei asz.csv
  4. wähle Ausgabedatei strb2012_roh.csv
  5. 100 Anzahl Altersgruppen
  6. Warnung Index gg, ag fehlt (gg=1,2, ag=0..99 ausser 21..23
  7. Vergleiche strb2012_roh.csv mit Sollwert:
    # (Datum)
    # Dienstag, 29. Januar 2008 13:20:04
    # Erzeugt aus .../asz.csv
    1..$NTYS;1..$NBG;1;00;0
    ...
    1..$NTYS;1..$NBG;1;21;0,05
    1..$NTYS;1..$NBG;1;22;0,15
    1..$NTYS;1..$NBG;1;23;0,25
    1..$NTYS;1..$NBG;1;24;0,3
    ...
    1..$NTYS;1..$NBG;2;99;0,3
    
  8. delete strb2012_roh.csv
  9. weiteres Besipiel extra/beispiel/raten/afz_asz

Geburtenraten nach Vorgabe Geburtenziffer

  1. Erstelle Dateien
    eckgz.csv
    2001;1;1;0,6
    2002;1;1;0,4
    
    fruc2000.csv
    1;1;1;0,5
  2. Berechnen/Start/Geburtenraten nach Vorgabe Geburtenziffer
  3. Wähle Eingabedatei fruc2000.csv
  4. Ausgabe Textfeld
    [100] Altersgruppen
    Datei fruc2000 für Jahr 2000
    < D:/trunk/Sikurs/beispiel/tools/fruc2000.csv
    > D:/trunk/Sikurs/beispiel/tools/zgz.csv
    < D:/trunk/Sikurs/beispiel/tools/eckgz.csv
    < D:/trunk/Sikurs/beispiel/tools/eckgzw.csv
    > D:/trunk/Sikurs/beispiel/tools/eckgzwe.csv
    > D:/trunk/Sikurs/beispiel/tools/fruc2001.csv
    > D:/trunk/Sikurs/beispiel/tools/fruc2002.csv
    
    zgz.csv:
    #SIKURS Datum...
    #Jahr;Typ Geburtenraten;Bevölkerungsgruppe;Zusammengefasste Geburtenrate
    2000;1;1;0,5
    2001;1;1;0,6
    2002;1;1;0,4
    
    eckgzwe.csv:
    #Aus eckgzw und fruc2000 berechnetes Gewicht
    #SIKURS 9.0.0.1136: Samstag, 15. Oktober 2011 19:00:07
    #Jahr;Typ Geburtenraten;Bevölkerungsgruppe;Altersgruppe;Gewicht;expr;y;fruc
    2001;1;1;1;0,5;$f->()+0;1;0,5
    Summe;;;;0,5
    2002;1;1;1;0,5;$f->()+0;2;0,5
    Summe;;;;0,5
    
    fruc2001.csv
    #Berechnet durch 'Geburtenraten nach Zusammengefasster Geburtenrate'
    #< D:/trunk/Sikurs/beispiel/tools/fruc2000.csv
    #< D:/trunk/Sikurs/beispiel/tools/eckgz.csv
    #< D:/trunk/Sikurs/beispiel/tools/eckgzw.csv
    #SIKURS 9.0.0.1136: Samstag, 15. Oktober 2011 19:00:11
    #Typ Geburtenraten;Bevölkerungsgruppe;Altersgruppe;Rate
    1;1;01;0,6
    
    fruc2002.csv
    #Berechnet durch 'Geburtenraten nach Zusammengefasster Geburtenrate'
    #< D:/trunk/Sikurs/beispiel/tools/fruc2000.csv
    #< D:/trunk/Sikurs/beispiel/tools/eckgz.csv
    #< D:/trunk/Sikurs/beispiel/tools/eckgzw.csv
    #SIKURS 9.0.0.1136: Samstag, 15. Oktober 2011 19:00:11
    #Typ Geburtenraten;Bevölkerungsgruppe;Altersgruppe;Rate
    1;1;01;0,4
    
  5. Erstelle Datei
    eckgzw.csv
    #TYG;BG;AG;Formel
    01;1;1..3;$f->()
  6. Wiederhole obigen Lauf und prüfe auf identisches Ergebnis

Sterberaten nach Vorgabe Lebenserwartung

  1. Erstelle Dateien
    strb2000.csv
    1;1;2;1;0,2
    1;1;2;2;0
    
    eckle.csv
    2001;1;1;2;3,3
    
    ecklew.csv
    #! (1..1)(1..1)(2..2)
    $tys;$bg;$gg;0..2;1
  2. Berechnen/Start/Sterberaten nach Vorgabe Lebenserwartung
  3. wähle Eingabedatei strb2000.csv
  4. 3 Altersgruppen
    60 Anzahl Bisektionen
  5. vergleiche Ausgabedateien
    lebenserwartung.csv
    2000;1;1;2;3,1
    2001;1;1;2;3,3
    
    strb2001.csv
    # Berechnet durch 'Sterberaten nach Lebenserwartung'
    #< .../strb2000.csv
    #< .../eckle.csv
    #< .../ecklew.csv
    1;1;2;1;0,1
    
  6. delete lebenserwartung.csv strb2001.csv

Clusteranalyse

  1. Erstelle Datei
    vector.csv
    1001;2;3
    1002;3;2
    1003;7;8
  2. Berechnen/Start/Clusteranalyse...
  3. hClust
    [ ] Merkmale standardisieren
    2 Anzahl zu bildender Clsuter
    e Distanzmaß Euclid
    a Methode (pairwise average linkage clustering)
    Dendrogramm
    1 Ausgabe
    1 Farbig
    1.1 Skalierung Plotausgabe
    1 Punktgröße
    3 Legende GKZ+Cluster
    START
  4. wähle Eingabedatei vector.csv
  5. Prüfe im Plot und im Dendrogramm, ob 2 Cluster (1001,1002) und (1003) erzeugt werden
  6. delete vector_*

Glätten

Test gleitendes Mittel Breite 2
  1. Erstelle Datei
    gem1999.csv
    1999;1001;1;2;00;100
    1999;1001;1;2;01;100
    1999;1001;1;2;02;100
    1999;1001;1;2;03;100
    1999;1001;1;2;04;100
  2. Hauptmenü Glätten
  3. Glätten über das Alter
  4. Datei/Öffnen/gem1999.csv
  5. Pyramide - Glätten über das Alter
    Eingabedaten 0 99 Altersbereich
    [v] Spalte Geschlecht
    Ersatz fehlende Werte
    (*) Wert 0
    Glättungsmehode
    (*) Gleitendes Mittel
    Glättungsparameter
    0 99 zu glätten
    2 Breite Gleitfenster
    [v] korrigiere negative
    [v] summentreu
    Ergebnisdarstellung
    [ ] Lokale Skalierung
    wxt ...
    [ ] Ausgabe Nullwerte
    OK
  6. Datei speichern unter: gem1999_glt.csv
  7. 1..1 glätten
    1..1 darstellen
    OK
  8. Vergleiche Graphik 1999_1001 und Ausgabedatei gem1999_glt.csv mit:
    # (Datum Uhrzeit)
    # Erzeugt durch Smooth-1D, Fensterbreite 5, Auswahlmaske 1..1 aus ...gem1999.csv
    1999;1001;1;2;00;100
    1999;1001;1;2;01;100
    1999;1001;1;2;02;100
    1999;1001;1;2;03;80
    1999;1001;1;2;04;60
    1999;1001;1;2;05;40
    1999;1001;1;2;06;20
    
Test Savitzki-Golay Ordnung 2 Breite 2
  1. Datei/Öffnen/gem1999.csv
  2. Pyramide - Glätten über das Alter
    0 9 Altersbereich
    (*) Wert 0 Ersatz fehlende Werte
    (*) Savitzky Golay Ordnung 2
    0 9 zu glätten
    2 Breite Gleitfenster
    [ ] Korrigiere negative Werte [ ] Summentreu glätten Graphik Ausgabe windows
    [v] Ausgabe Nullwerte
    OK
  3. Datei speichern unter: gem1999_glt.csv
  4. 1..1 glätten
    1..1 darstellen
    OK
  5. Vergleiche Ausgabedatei gem1999_glt.csv mit:
    # (Datum Uhrzeit)
    # Erzeugt durch Smooth-1D, Fensterbreite 5, Auswahlmaske 1..1 aus ...gem1999.csv
    1999;1001;1;1;0;0
    ...
    1999;1001;1;1;9;0
    1999;1001;1;2;0;99,99...
    1999;1001;1;2;1;99,99...
    1999;1001;1;2;2;99,99...
    1999;1001;1;2;3;108,57...
    1999;1001;1;2;4;74,28...
    1999;1001;1;2;5;25,71...
    1999;1001;1;2;6;-8,57...
    1999;1001;1;2;7;0
    1999;1001;1;2;8;0
    1999;1001;1;2;9;0
    
Test Glättung nach Alter und Jahr
  1. Hauptmaske Glätten/Optionen/Glättung nach Alter und Jahr
  2. Datei öffnen gem1999.csv
  3. Pyramide
    0 9 Altersbereich
    [v] Spalte Geschlecht
    (*) Wert 0
    Uniform-3 Breite Gleitfenster
    0 9 glätten
    (*) Gebirge/Pyramide
    [ ] Lokale Skalierung
    Graphik wxt
    [ ] Ausgabe Nullwerte
    OK
  4. wähle Ausgabedatei gem1999_glt.csv
  5. vergleiche gem1999_glt.csv mit
    # (Datum)
    # Erzeugt durch Smooth-2D-1(Uniform-3) aus .../gem1999.csv
    # Jahr [1999 1999]
    # keys: 1001_1_2
    1999;1001;1;2;0;100
    1999;1001;1;2;1;100
    1999;1001;1;2;2;100
    1999;1001;1;2;3;100
    1999;1001;1;2;4;66,6666666666667
    1999;1001;1;2;5;33,3333333333333
    
Manuelles Glaetten über das Alter
  1. wähle tools/gem1999.csv
  2. 0 9 Altersgruppen
    [v] Geschlecht (*) Gleitendes Mittel
    0 9 Altersbereich
    0 Breite Gleitfenster
    5 Pyramidengröße 4/3 Breite/Höhe 5 Zwischenraum [ ] Null-Werte OK
  3. Anklicken Pyramide, so daß Fenster aktiv
  4. Bewegen Maus uber Altersbalken:
  5. Verkurzen eines Balkens mit Mausrad oder Pfeiltasten rechts/links
  6. Tasten Pfeil oben/unten bringt Linienpyramide in Vorder-/Hintergrund
  7. Tasten +/- machen Linienpyramide dicker/dunner
  8. Schließen aller Fenster mit Pyramiden
  9. wähle Ausgabedatei gem1992g.csv
  10. Prufe, ob gem1992g.csv geglättete Daten enthält
Aufräumen
  1. delete gem1999?.csv

Dynamisieren

Interpolieren Datei mit Jahr im Namen
  1. Erstelle Dateien
    dyn2001.csv
    #c1;c2;c3;c4
    1..$NGZ;1;1;101
    1..$NGZ;1;2;210
    
    dyn2003.csv
    1..$NGZ;1;1;103
    1..$NGZ;1;2;220
    
  2. Eingabedaten/Dynamisieren/Start/Interpolation Jahr in Dateiname
  3. Taste <Strg> und dyn2001.csv und dyn2003.csv auswählen
  4. (*) Linear
  5. [v] Dateiendung .tmp
  6. Vergleiche dyn2002.tmp
    #c1;c2;c3;c4
    1..$NGZ;1;1;102
    1..$NGZ;1;2;215
  7. delete dyn2002.tmp
Interpolieren Datei mit Jahr in Spalte 1
  1. Erstelle Datei
    dynjahr.csv
    2001;101
    2010;110
  2. Starte dynjahr
  3. wähle Eingabedatei dynjahr.csv
  4. wähle Ausgabedatei dynjahr_dyn.csv
  5. (*) Linear
  6. Vergleiche dynjahr_dyn.csv mit
    # (Datum)
    # dynamisiert mit linearer Interpolation von dynjahr.pl
    # .../dynjahr_dyn.csv
    #Jahr;Wert
    2001;101
    2002;102
    2003;103
    2004;104
    2005;105
    2006;106
    2007;107
    2008;108
    2009;109
    2010;110
    
  7. delete dynjahr_dyn.csv
Inter-, Extra-, Glätten durch Regression
  1. Wähle Eingabedatei zeitreihe.csv
  2. Spalten zeitreihe.csv
    [1  ] Zeitachse
    [-1 ] y-Achse
    [   ] Auswahlfilter
    Interpol... Regression
    [2001:2003] Jahresbereich Eingabe
    [1999:2007] Jahrsbereich Plot und file
    [0:*      ] yrange
    [ ] Polynom Grad-n
    [ ] Rarionale Funkt. Grad-n
    [v] Konstante
    [v] Gerade
    [v] Quadratische Funktion
    [ ] Kubisch
    [v] Exponentialfkt
    [ ] Logarithmus
    [ ] Normalverteilung
    [ ] Weibull
    OK
    Ausgabedatei: zeitreihe_roh.csv
  3. Beurteile Extrapolationkurven

Visualisierung Zeitreihen

Erstelle Dateien
zeitreihe.csv
2001;1;1;20
2001;1;2;10
2002;1;1;40
2002;1;2;20
2003;1;1;30
2003;1;2;15
X/Y-Plot
  1. Datei/Öffnen zeitreihe.csv
  2. Zeitreihen
    [1] x-Achse
    [2 3] Schlussel
    [  ] Geschlecht
    [4] Wert
    [ ] Auswahlfilter
    (*) Flächenplot je Wert
    Ausgabeformat windows
    OK
  3. Vergleiche Plot Summe rot + grun 2001:30, 2002:60, 2003:45
Histogramm
  1. Hauptmenu/Visualisierung Zeitreihen/Histogramm
  2. wähle Eingabedatei zeitreihe.csv
  3. 1 Spalte Jahr
    2 Spalte Balkenkennung
    3 Spalte fur Balkenteilung
  4. 640,480 Bildgröße
  5. 0:70 Y-Wertebereich
  6. medium Beschriftungsgröße
  7. 50 Animationspause
  8. 1 Merkmalsordnung
  9. [OK]
  10. Bilder 2001, 2002, 2003 mit Balken 1 der Höhe 30, 60, 45. Die Balken bestehen aus BG 1 und BG 2
Stromkreise
  1. .../beispiel/strom/B1I1K3M1P2T1.ini rechnen
  2. Hauptmenu/Visualisierung Zeitreihen/Start/Stromkreise
  3. wähle Eingabedatei strom.csv/gstrom.csv
  4. (*) Kreise / (*) Farbpalette / (*) Torten
    Eingabefilter 1-* 1-* 0-*
  5. Stromkreise
    (*) Binnenwegzuge
    (*) Wanderungsströme / (*) Wanderungssalden
    [600 ] Größe
    [2 ] Fontgröße
    [Arial,10] Font
    [1000] ms Animationspause
    [0.01] Abweichung
    [v] gnuplot Testausgabe
  6. bei (*) Torten Referenzdatei refstrom.csv auswählen
  7. Vergleiche Kreise/Farben/Torten auf Graphik mit Eingabedatei
  8. delete strom_*

Einwohner/Versionsdatei .../baustein/C2T1.ini
Einwohner/Prognose
Visualisierung/Zeitreihen/Kacheldiagramm
aus gem+reftyp

[gem2009  ] Basisdatei
[gem2010   ] Vergleichsdatei
[tyb5 ] Spalte reftyp Aggregat
[1    ] Änderung prozentual
[     ] minColorValue
[     ] maxColorValue
[1    ] maxDepth
[1    ] maxPostDepth
[0.8  ] hintOpacity
[ OK ]
sikurs/extra/beispiel/treemap/mini/v.ini
aus treemap.csv
wähle treemap.csv

Visualisierung Pyramiden

Einzelpyramiden
  1. wähle GEM1999.CSV
  2. 1..1 Auswahl Pyramiden
  3. 5 Altersgruppen
  4. [v] Legende anzeigen
  5. Bilduberschrift behalten
  6. 1;3;0.3
  7. BG 1
  8. männlich
  9. weiblich
  10. gespiegelt
  11. [v] BG additiv
  12. [ ] Prozentanteile
  13. [v] lokale Skalierung
  14. [ ] Perzentil-Grid
  15. [ ] Summenbalken
  16. [ ] Geschlecht spiegeln
  17. wxt
Pyramiden in Wanderungsmatrizen
  1. 1 Reduktion
  2. strm2000.csv:
    #TYBv;TYBn;BG;GG;AG;Wert
    2;3;1;1;0;3
    2;3;1;2;0;4
  3. 3*3 Matrix mit 1 Pyramide rechts unten mit je 1 Balken 3 links männlich, 4 rechts weiblich
Kontrollanzeige zuaq
  1. zuaq1999.csv:
    #TYA;TYZZA;BG;GG;AG;Quote
    1;1;1;1;0;0,7
    1;2;1;1;0;0,3
  2. roter Balken 0-0,7, darüber grüner Balken bis 1
Webanimierte Pyramiden
  1. Hauptmenu/Visualisierung Pyramiden/Start/Animierte Webgraphik
  2. wähle Datei gem1999.csv
  3. beende Editor mit Optionen ohne Änderungen
  4. Klicke auf Link 001
  5. weibliche Balken 0-4 Jahre mit 100 Personen
  6. lösche Verzeichnis gem1999

Visualisierung Indikatoren

Berechnen
  1. Erstelle Dateien
    reftyp.csv
    1001;Gebiet 1001;1;1;1;1;1;1;1;1;1;1
    
    fruc2000.csv
    1;1;1;0,5
    
    strb2000.csv
    1;1;2;1;0,2
  2. prüfe Inhalt v.ini
    [METHODE]
    GP=0,5
    NAG=5
    NAGFO=3
    NAGFU=1
    NKB=1
    NBG=1
    NGG=2
  3. Hauptmenu/Visualisierung Indikatoren/Start/Berechnung
  4. Berechne Indikatoren
    Differenzierung
    [1] Gebietseinheiten
    [1] Typ Geburtenrate
    [1] Typ Sterberate
    [ ] BG
    [ ] GG
    Altersbereich Erwerbstätigkeit
    2 Untergrenze
    3 Obergrenze
    Auswahl GEM-Dateien
    [v] alle
    Ausgabeformat
    [v] Browser
    [v] CSV
    OK
  5. Wähle Eingabedatei gem1999.csv
  6. Vergleiche Ergebnis

    Parameter

    D:/trunk/Sikurs/beispiel/tools/raten.ini
    0,5 Geschlechterproportion
    1 Anzahl Bevölkerungsgruppen
    2 Anzahl Geschlechtsgruppen
    5 Altersgruppen
    1 Anzahl Jahre pro Altersgruppe
    Altersbereiche
    [1..3] Altersgrenzen Fruchtbarkeit
    [0..1][2..3][4..5] Altersbereiche Jugend, Erwerbstätigkeit, Alter fur Berechnung Jugend- und Altenquotient

    HTML-Tabellen

    2000

    Eingabedaten

    D:/trunk/Sikurs/beispiel/tools/gem1999.csv
    D:/trunk/Sikurs/beispiel/tools/fruc2000.csv
    D:/trunk/Sikurs/beispiel/tools/strb2000.csv
    D:/trunk/Sikurs/beispiel/tools/reftyp.csv
    
    Differenzierung der Indikatorentypen
    IndikatorentypDifferenzierung
    Bestand Untersuchungsgebiet
    Geburtenrate Untersuchungsgebiet
    Sterberate Untersuchungsgebiet
    Demographische Differenzierung
    Bevölkerungsgruppe nein
    Geschlechtsgruppe nein

    Fruchtbarkeitsindikatoren

    Demographische Differenzierung wie Ausgangsdaten

    NRR wird nicht berechnet, da Typen Geburtenraten und Typen Sterberaten nicht fur alle Gebietseinheiten identisch sind

    TYG BG ZGZ BRR NRR DGAM SDAM AMGR
    1 1 0,500000 0,250000 0,200000 1,500000 0,000000 1

    Demographische Differenzierung wie ausgewählt

    UG BG RGR AGR
    1 1 100,000000 166,666667

    Lebenserwartung

    Demographische Differenzierung wie Ausgangsdaten

    TYS BG GG LE
    1 1 1 5,0000
    1 1 2 4,2000

    Altersspezifische Lebenserwartung

    TYS BG GG AG Wert
    1 1 1 0 5,0000
    1 1 1 1 4,0000
    1 1 1 2 3,0000
    1 1 1 3 2,0000
    1 1 1 4 1,0000
    1 1 2 0 4,2000
    1 1 2 1 3,2000
    1 1 2 2 3,0000
    1 1 2 3 2,0000
    1 1 2 4 1,0000

    Rohe Sterberate

    Demographische Differenzierung wie ausgewählt

    UG BG GG RSR
    1 1 1 40,000000000000

    Bestandsindikatoren

    Demographische Differenzierung wie ausgewählt

    UG BG GG DA MG MA JQ AQ 0..1 2..3 4..4
    1 1 1 2,5000 ? 2,5000 100,0000 50,0000 200,00 200,00 100,00

Einwohner Versionsdatei

  1. wähle Versionsdatei beispiel/tools/raten.ini

Einwohner Methodenwahl

  1. Prufe, ob Bausteinkombination T1, M0, A0, B0, C0, K0, I0, P0, Q0, X1, O0, V0, R0, L0, W0, NTYN/NTYA/NTY/NTYE/NGZ=0, NAG=5, NGG=2, NBG=1
  2. Benötigte Eingabedateien fruc, gem, reftyp, strb
  3. Klicke durch Methodenassistent ohne abzuspeichern

Einwohner Prognose

Berechnen
  1. Parameter
    2000 Erstes Prognosejahr
    2000 Letztes Prognosejahr
    0,4 GP
    0,1 Summentoleranz bei Quoten
    10 Max Iterationen
    1e-10 Genaueigkeit Iterationen
    3 Räumliche Einheiten
    [ ] BG
    [ ] GG
    [ ] Einfugen Pyramide 1000 ms
    [ ] Starte Aggregation
    Ausgabe
    [v] Einzelwerte
    (*) Browser-Format
    %.2f Format Anzahl
    %.6f Format Rate/Quote
    1 Umfang Protokoll
    Ausgabe Bewegungen
    [ ] alle Checkboxen leer
    OK
  2. Sikurs Hauptmaske, Summe der Bevölkerungen
    1999 500
    2000 530
  3. Protokoll prüfen:
    Hinweis 1: gem0000.csv: 5 Werte auf Null gesetzt
    Warnung 1: PR2G(1 1 1) = 0,5 (Geburtenrate ausserhalb Alter 15..44)
    Hinweis 2: strb0000.csv: 9 Werte auf Null gesetzt
        
  4. Ergebnisdateien:
    agg.csv
    #Jahr;Aggregat;Bevölkerung;Geschlecht;Alter;Wert
    #(Datum)
    1999;1;1;1;0;500,
    2000;1;1;1;0;530,
    
    bewgem.csv
    #Jahr;Aggregat;Ausgangsbevölkerung;Endbevölkerung;Geburten;Sterbefälle;Außenwegzuge;Binnenauszuge in Neubauten;Binnenwegzuge;Innenauszuge;Außenzuzuge (ohne Neubaubezug);Erstbezug aus U-Gebiet;Erstbezug von Außen;Binnenzuzuge;Inneneinzuge;Wechsler der Bevölkerungsgruppe;Kontrollsumme
    #(Datum)
    2000;1001;500,;530,;50,;20,;0,;0,;0,;0,;0,;0,;0,;0,;0,;0,;=C2-D2+E2-F2-G2-H2-I2-J2+K2+L2+M2+N2+O2
    
    gem2000.csv
    #Jahr;Gebietseinheit;Bevölkerung;Geschlecht;Alter;Anzahl
    #(Datum)
    2000;1001;1;1;0;20,
    2000;1001;1;1;1;0,
    2000;1001;1;1;2;0,
    2000;1001;1;1;3;0,
    2000;1001;1;1;4;0,
    2000;1001;1;2;0;30,
    2000;1001;1;2;1;80,
    2000;1001;1;2;2;100,
    2000;1001;1;2;3;100,
    2000;1001;1;2;4;200,
Protokoll
  1. wähle index.html
  2. Protokoll Einwohnerprognose regtest/nbb erscheint
Bereinigen
  1. .../reftest/nbb gelöscht
Standardprognose
  1. Auswahl .../sikurs/extra/Beispiel/DST/anonym/dst
  2. [5 ] Anzahl Prognosejahre
  3. [ ] Haushalteprognose anschließen
  4. viele Fenster, Prognose o.k.
Sammelporgnose siehe Regressionstest

Ergebnis Zeitreihe

  1. Start/Zeitreihe
  2. gem-Zeitreihe
    Aggreagtion uber
    Jahr keine
    GKZ alle Ausprägungen
    BG alle Ausprägungen
    GG alle Ausprägungen
    AG alle Ausprägungen
    Aggreagtionsfungktion Summe
    nicht runden
    [ ]-te Spalte nebeneinander
    [v] Ausgabe Spaltenuberschriften
    [v] Dezimalkomma
    [ ] Browser
    [v] Editor
    OK
  3. Vergleiche Ergebnis mit Sollwert Einwohnerprognose

Ergebnis Bearbeiten

Prognose regtest/T1.ini
  1. Datei
    1. wähle Datei regtest/T1/zr_gem.csv
    2. Ergebnis obiger Aggreagtion erscheint
  2. Aufteilen Datei
    1. wähle Datei regtest/T1/zr_gem.csv
    2. [ 1] Spalten
    3. Eine Ausgabedatei pro Jahr
  3. Ausschneiden Datei
    1. wähle Datei nbb/bewagg.csv
    2. [1..6] Spalten
    3. Ausgabedatei bewagg_Geburt.csv
  4. Spalten anfügen/addieren/subtragieren
    1. wähle Datei regtest/T1/zr_gem.csv
    2. [1..5 ] Schlüsselspalten
    3. [. ] Operation
    4. wähle Anzufügende Datei regtest/T1/zr_gem.csv
    5. wähle Ausgabedatei zr_gem.zr_gem.csv
    6. zr_gem.zr_gem.csv verdoppelt letzte Spalte von zr_gem.csv
  5. Konsistenzprüfung Ein-/Ausgabedateien
    [ 1  ] Toleranz
    [ 1  ] Protokollumfang
rd/s regtest/T1

Ergebnis Anzeige

Reporting
Thematische Karte
  1. Wähle Shape-Datei: .../Sikurs/extra/Beispiel/shape/nbg_district/nbg_district.shp
  2. 7,5,15 Farbcodierung
    1,3,7 Merkmalsnummer
  3. siehe farbcodierte Nürnbergkarte in gnuplot Fenster

Haushalte Quoten

Berechnen
  1. HHProg
    OK
  2. Protokoll B1.6 945 Saetze
Protokoll
  1. Ordner suchen: SIKURS/hhp-bsp

Haushalte Prognose

Berechnen
  1. HHProg
    OK
  2. Protokoll B4 ZRHK

    Haushalte nach der Zahl der Kinder

    (Zeitreihenplot folgender Tabelle)

    ZRHK
    GebietGebietstypJahr1234567Σ
    31200035,5617,780,000,000,000,000,0053,33
    31200348,9324,460,000,000,000,000,0073,39
    42200056,5714,140,000,000,000,000,0070,71
    42200362,3615,590,000,000,000,000,0077,95
    52200013,278,173,060,000,000,000,0024,50
    52200313,278,173,060,000,000,000,0024,50
    71200013,956,031,590,950,000,000,0022,52
    71200313,956,031,590,950,000,000,0022,52
    Alternativtest:
    1. Hauptmaske Haushalte/Verzeichnis .../sikurs/beispiel/tools
    2. Hauptmaske Start/Eigene Scripts/Start/hhprog_testdaten.pl
    3. Hauptmaske Haushalte/Prognose
    4. Lösche geb2typ.csv zq1999.csv Quoten Prognose
    Protokoll

Haushalte Anzeige

Start
  1. wähle bestand_dsb
  2. Auswahl Sätze
    [0 ] Hexdarstellung
    [1-50 ] Satznummern
    [v] Ausgabe Sätze in Tabelle
    [ ] Ausgabe csv
    [ ] Ausgabe dst [ ] Histogramm
    OK
  3. Prufe Merkmale R01, ..., DS auf Plausibilität

Extras/Eigene Scripts/Start

Datei/Öffnen Versionsdatei .../beispiel/tools/raten.ini