Statistische Funktionen

<< Click to Display Table of Contents >>

Navigation:  Datenmodifikation > Berechnung >

Statistische Funktionen

In GESStabs können einfache statistische Funktionen unkompliziert vorgenommen werden:

1.Es stehen simple Statements zur fallweisen Berechnung einfacher statistischer Kennwerte aus ausgewählten Variablen zur Verfügung.

2.Das DATA-Statement ist eine umfassende Funktion zur Berechnung statistische Kennwerte über alle Fälle eines Datensatzes. Die Ergebnisse werden zur Weiterverarbeitung in neu gebildeten Variablen abgelegt.


Statistische Kennwerte

Zur Berechnung einfacher statistischer Kennwerte und deren Ablage in einer bestehenden (oder neuen) Variable gibt es ebenso einfache Keywords:

MEAN

Mittelwert

SUM

Summe + Einstellung zur Verarbeitung fehlender Werte mittels SUMMISSING

MIN, MAX

Minimal-/ Maximalwert + Option zur Angabe der Variable mit Minimal-/Maximalwert mittels MININDEX/ MAXINDEX

STDDEV

Standardabweichung

VARIANCE

Varianz

Mean

MEAN erlaubt eine einfache Berechnung des Mittelwerts aus mehreren Variablen innerhalb eines Falles.

Syntax:

MEAN <varname> = <Varlist>;

Ein sinnvolles Beispiel ist die Mittelwerteberechnung aus mehreren Items einer Mehrfachnennungsbatterie:

MEAN faktor = Item1 TO Item13;

In den Mittelwert gehen nur die Variablen ein, die im aktuellen Fall nicht MISSING sind. Sind alle Variablen MISSING, ist auch das Resultat MISSING.

Sum

SUM vereinfacht die Berechnung einer Summe von mehreren Variablen innerhalb eines Falles.

Syntax:

SUM <varname> = <Varlist>;

Beispiel:

SUM Summe = Item1 TO Item13;

In Summe gehen nur die Variablen ein, die im aktuellen Fall nicht MISSING sind. Sind alle Variablen MISSING, ist das Resultat 0.

SumMissing

Syntax:

SUMMISSING = [ YES | NO ];

Voreinstellung: NO

In der Voreinstellung ist es so implementiert, dass Variablen mit einem fehlenden Wert, die in eine mittels SUM gebildetet Summe eingehen, keinen Beitrag zur Summe leisten. Im Effekt ergibt also eine Summe, die ausnahmslos aus MISSING-Variablen gebildet wird, den Wert Null.

Soll stattdessen ein MISSING-Resultat erreicht werden, kann SUMMISSING auf YES gesetzt werden.

Min, Max

MIN bzw. MAX ergeben den minimalen bzw. maximalen Wert aus mehreren Variablen innerhalb eines Falles.

Syntax:

MIN <varname> = <Varlist>;

Beispiel:

MIN minimun = Item1 TO Item13;

MAX maximum = Item1 TO Item13;

In MIN und MAX gehen nur die Variablen ein, die im aktuellen Fall nicht MISSING sind. Sind alle Variablen MISSING, ist das Resultat MISSING.

MinIndex, MaxIndex

Syntax:

MAXINDEX <resultvar> = <varlist>;
MININDEX <resultvar> = <varlist>;

Mit MIN bzw. MAX bestimmt man den Minimal- bzw. Maximalwert aus einer Reihe von Variablen. Es gibt Situationen, in denen es wichtig ist, welche Variable aus der Liste den Minimal- bzw. Maximalwert enthält. Diese Frage beantwortet MININDEX bzw. MAXINDEX. Wenn die erste der Variablen in der Liste den Minimal- bzw. Maximalwert enthält, wird in "<resultvar>" eine 1 abgelegt, bei der zweiten eine 2 usw. Das heißt, die "<resultvar>" enthält den 1-basierten Index der ersten Variablen in der Liste, die den Minimal- bzw. Maximalwert enthält.

Weitere Vorkommnisse des Minimal-/Maximalwertes beeinflussen das Ergebnis nicht mehr, d.h. es wird stets die zuerst gefundene Variable, die den Minimal-/Maximalwert enthält, angegeben.

STDDEV

STDDEV errechnet die Standardabweichung einer Variable oder Variablenliste über alle Fälle des Datensatzes.

Syntax:

STDDEV <varname> = <varlist>;

Variance

VARIANCE errechnet die Varianz einer Variable oder Variablenliste über alle Fälle des Datensatzes.

Syntax:

VARIANCE <varname> = <varlist>;


Data

DATA ist eine kompakte Funktion zur umfassenden Berechnung von Mittelwerten, Summen etc. über alle Fälle eines Datensatzes. Diese können aus eingelesenen oder berechneten atomaren Variablen errechnet und in neuen Variablen abgelegt werden.

Syntax:

DATA [ USEWEIGHT <weightvar> ] <method> <newvar> 
= <basevar> [ BY <groupvar> ] ;

Erlaubte Aggregierungsmethoden:

ABSOLUTE

Zahl der Fälle (Summe der Gewichte)

VALIDN

Zahl der Fälle, für die ein gültiger Wert der '<bestehende_variable>' gefunden wurde

PHYSICALRECORDS

ungewichtete Zahl der Fälle

SUM

Summe

MEAN

Mittelwert

VARIANCE

Varianz

STDDEV

Standardabweichung

MEDIAN

Median

PCNTL1

Wert des ersten Percentils (Default: 25%)

PCNTL2

Wert des zweiten Percentils (Default: 75%)

MIN

Min-Wert

MAX

Max-Wert

In der einfachsten Form lautet ein DATA-Statement z.B.:

DATA MEAN GlobMeanQ1 = Q1;

Die Variable Q1 in dem Beispiel muss existieren. Als Resultat steht dann im Tabellierungsprozess die neue atomare Variable "GlobMeanQ1" zur Verfügung. Ihr Wert ist der globale Mittelwert von Q1 über alle eingelesenen Fälle. Man kann hiermit Alles treiben, was man mit atomaren Variablen sonst auch kann, sie kann z.B. in arithmetische Berechnung von Indices etc. eingehen.

Das Statement kann um eine BY-Komponente erweitert werden, zum Beispiel:

DATA MEAN BulaMeanQ1 = Q1 BY BundesLand;

Dann wird für jede Ausprägung der Variable BundesLand ein eigener Mittelwert erzeugt. Die Variable BulaMeanQ1 enthält dann in jedem Fall den Mittelwert, der für die Fälle des Bundeslandes ermittelt wurde, das in der Variable BundesLand festgehalten ist. Ist die Größe BundesLand nicht ermittelt (MISSING oder gefiltert), ist auch der globale Mittelwert nicht zuzuordnen. Die Größe BulaMeanQ1 enthält in diesen Fällen den Mittelwert aller Fälle, deren Bundesland unbekannt ist.

Option UseWeight

Hinter dem Schlüsselwort USEWEIGHT kann man den Namen einer Variablen angeben, deren Inhalt für die Gewichtung der Aggregation im DATA-Lauf in <staticvar> verwendet werden soll. Werden mehrere DATA-Statements abgesetzt, können verschiedene Variablen zur Gewichtung in einem Lauf verwendet werden.

Beachte: Sind WEIGHTCELLS-Statements aktiv, wird die USEWEIGHT-Klausel im DATA-Statement ignoriert, und es wird das Ergebnis der iterativen Gewichtung verwendet.

DataNoInterpol

Syntax:

DATANOINTERPOL = [ YES | NO ];

MEDIAN, PCNTL1 und PCNTL2 werden in der Regel bei der Ermittlung interpoliert. Mit YES kann man die Interpolation abschalten. Gilt global für den gesamten Lauf.

Anmerkungen

Verschachtelung von DATA-Berechnungen

Werden in einem GESStabs Script DATA-Statements gefunden, wird ein zusätzlicher Lauf des Einleseprozesses gestartet. Dieser findet immer vor der eigentlichen Datenanalyse statt, gegebenenfalls allerdings nach dem zusätzlichen Lesen der Daten für eine Randgewichtung (WEIGHTCELLS). Die erforderlichen Größen werden berechnet, im Fall des MEAN die Summe und die Zahl der gültigen Fälle, beides gewichtet. Während der anschließenden Analyse ist der Wert von GlobMeanQ1 (siehe erstes Beispiel) dann definiert.

Es ist unmittelbar einleuchtend, dass man die erzeugten Aggregatwerte nicht zum Gegenstand einer solchen Aggregation machen sollte, denn während des Einlesens für die Aggregierung sind die Aggregatvariablen noch nicht definiert. Darüber hinaus wäre z.B. ein Mittelwert über eine Konstante nicht sehr interessant: dieser ist numerisch identisch mit dieser Konstanten.

DATA nicht als Grundlage von DATA

Man kann das Ergebnis einer DATA-Berechnung nicht als Argument eines weiteren DATA-Statements verwenden. Der Grund liegt auf der Hand, z.B.:

DATA MEAN xxmean = xx;

DATA MEAN xxmeanmean = xxmean;

Der Compiler wird eine solche Konstruktion erlauben, denn auch im zweiten DATA-Statement wird eine bekannte Variable (xxmean) angegeben. Nur inhaltlich kann dies nicht klappen: xxmean kann erst nach einem kompletten durchlauf durch alle Fälle des Datensatzes besetzt werden. Während des DATA-Durchlaufs durch die Fälle ist xxmean aber noch undefiniert. xxmeanmean ist deshalb der Mittelwert einer Variablen, die während des DATA-Durchlaufs immer MISSING ist. xxmeanmean bleibt deshalb in diesem Fall immer MISSING.