grundlegende einführung in sas - uni-ulm.de · pdf filestarten von sas das programmpaket...
TRANSCRIPT
![Page 1: Grundlegende Einführung in SAS - uni-ulm.de · PDF fileStarten von SAS Das Programmpaket SAS be ndet sich installiert auf einem Rechner des Rechenzentrums (KIZ) der Univer-sität](https://reader031.vdokument.com/reader031/viewer/2022030402/5a78c3a57f8b9a70238c131c/html5/thumbnails/1.jpg)
Grundlegende Einführung in SAS
Institut für Stochastik, Universität Ulm
21. Mai 2015
![Page 2: Grundlegende Einführung in SAS - uni-ulm.de · PDF fileStarten von SAS Das Programmpaket SAS be ndet sich installiert auf einem Rechner des Rechenzentrums (KIZ) der Univer-sität](https://reader031.vdokument.com/reader031/viewer/2022030402/5a78c3a57f8b9a70238c131c/html5/thumbnails/2.jpg)
Starten von SAS
Das Programmpaket SAS be�ndet sich installiert auf
einem Rechner des Rechenzentrums (KIZ) der Univer-
sität. Somit ist es für alle Kursteilnehmer notwendig,
neben einem gültigen Account auf den Rechnern der
Fakultät ebenfalls einen gültigen Account für die Rech-
ner des Rechenzentrums zu besitzen (Antrag stellen
usw.), um auf das Programmpaket SAS zugreifen zu
können. Im Folgenden wird dies vorausgesetzt.
Auf den Computerpools des KIZ ist SAS installiert. Will
man von einem anderen Rechner aus SAS starten kann
man z.B. eine Verbindung zum Rechner �zeus� herstel-
len.
1
![Page 3: Grundlegende Einführung in SAS - uni-ulm.de · PDF fileStarten von SAS Das Programmpaket SAS be ndet sich installiert auf einem Rechner des Rechenzentrums (KIZ) der Univer-sität](https://reader031.vdokument.com/reader031/viewer/2022030402/5a78c3a57f8b9a70238c131c/html5/thumbnails/3.jpg)
Von Linux-Rechnern aus:
1. Verbindung zu RZ-Rechner herstellen:turing$ ssh -X [username]@zeus.rz.uni-ulm.de
wobei der username der beim kiz (Uni-Mail) ist.
2. Eingabe des Linux-Passwortes (Mail-Passwort)
3. zeus$ export DISPLAY
4. Bereitstellen des SAS-Programmpaketes:zeus$ module load math/sas
5. Aufruf von SAS:zeus$ sas
2
![Page 4: Grundlegende Einführung in SAS - uni-ulm.de · PDF fileStarten von SAS Das Programmpaket SAS be ndet sich installiert auf einem Rechner des Rechenzentrums (KIZ) der Univer-sität](https://reader031.vdokument.com/reader031/viewer/2022030402/5a78c3a57f8b9a70238c131c/html5/thumbnails/4.jpg)
Unter Windows müssen Putty und XMing installiert
sein. Dann muss im Putty zunächst unter Connecti-
on/SSH/X11 die Option �Enable X11 forwarding� ge-
setzt werden. Dann wird unter Session als Host Name
zeus.rz.uni-ulm.de angegeben. Jetzt wird auf dem But-
ton �Open� geklickt.
In die Konsole die sich nun ö�net, müsst ihr zunächst
Euren KIZ-Benutzernamen eingeben, danach geht es
wie unter Linux weiter.
Beim erstmaligen Aufruf wird von �option sas� ein per-
sönliches SAS-Verzeichnis angelegt, das dann unter der
Umgebungsvariable $SASHOME zugänglich ist. Ein Wech-
sel in dieses Verzeichnis kann also z.B. durch �cd $SASHOME�
erfolgen.
3
![Page 5: Grundlegende Einführung in SAS - uni-ulm.de · PDF fileStarten von SAS Das Programmpaket SAS be ndet sich installiert auf einem Rechner des Rechenzentrums (KIZ) der Univer-sität](https://reader031.vdokument.com/reader031/viewer/2022030402/5a78c3a57f8b9a70238c131c/html5/thumbnails/5.jpg)
Nach dem Start ö�nen sich auf Ihrem Monitor mehre-
re Fenster, u.a. der SAS-Programm-Editor, das SAS-
LOG-Fenster und das SAS-Output-Fenster. Zusätzlich
erscheint die SAS-Toolbox.
Der Editor
Tastaturkürzel:
Basis Strg+X Wechsel Einfüge-Modus/ Überschreibe-Modus
Ausführung F3 SubmitF4 Recall
4
![Page 6: Grundlegende Einführung in SAS - uni-ulm.de · PDF fileStarten von SAS Das Programmpaket SAS be ndet sich installiert auf einem Rechner des Rechenzentrums (KIZ) der Univer-sität](https://reader031.vdokument.com/reader031/viewer/2022030402/5a78c3a57f8b9a70238c131c/html5/thumbnails/6.jpg)
Kopieren / EinfügenStrg + F Mark (beginnt markierten Bereich)Strg + H Markierung aufhebenStrg + K Cut (Bereich ausschneiden)Strg + R Store (Kopieren)Strg + T Einfügen
Weitere Strg + Y In Kommandomodus wechseln /Kommmandomodus verlassen
Weitere Kürzel gibt es bei Extras->Optionen->Funktionstasten
5
![Page 7: Grundlegende Einführung in SAS - uni-ulm.de · PDF fileStarten von SAS Das Programmpaket SAS be ndet sich installiert auf einem Rechner des Rechenzentrums (KIZ) der Univer-sität](https://reader031.vdokument.com/reader031/viewer/2022030402/5a78c3a57f8b9a70238c131c/html5/thumbnails/7.jpg)
Zeilen löschen / einfügen Um Zeilen einzufügen, ge-
hen Sie mit dem Cursor in den Bereich mit den Zei-
lennummern, und geben �i� ein, bzw. z. B. �i5�, um 5
Zeilen nach der aktuellen einzufügen. Um Zeilen zu lö-
schen, kann man gleich vorgehen, nur statt �i� ist �d�
einzugeben.
Hilfe zu SAS
Zur auf den KIZ-Rechner installierten SAS-Version 9.3
gibt es eine Seite, auf der die gesamte Dokumentation
verlinkt ist:
http://support.sas.com/documentation/93/index.html
6
![Page 8: Grundlegende Einführung in SAS - uni-ulm.de · PDF fileStarten von SAS Das Programmpaket SAS be ndet sich installiert auf einem Rechner des Rechenzentrums (KIZ) der Univer-sität](https://reader031.vdokument.com/reader031/viewer/2022030402/5a78c3a57f8b9a70238c131c/html5/thumbnails/8.jpg)
Grundprinzipien der SAS-Programmierung
• Befehle hören mit einem Semikolon auf.
• Groÿ- und Kleinschreibung spielen keine Rolle.
• Variablennamen können Buchstaben, Zahlen und Un-
terstriche ( ) enthalten, können aber nicht mit einer
Zahl beginnen. Systemvariablen beginnen typischer-
weise mit einem .
• Kommentare haben immer folgende Form: /* Kommentar
*/.
7
![Page 9: Grundlegende Einführung in SAS - uni-ulm.de · PDF fileStarten von SAS Das Programmpaket SAS be ndet sich installiert auf einem Rechner des Rechenzentrums (KIZ) der Univer-sität](https://reader031.vdokument.com/reader031/viewer/2022030402/5a78c3a57f8b9a70238c131c/html5/thumbnails/9.jpg)
Der DATA-Step
Als grobe Einteilung gilt: Der Data-Step dient dem Aus-
lesen, der Manipulation und dem Schreiben von Daten,
wohingegen der Proc-Step der Auswertung und (gra-
phischen) Ausgabe dient.
Wir empfehlen, der Übersicht halber Data- und Proc-
Steps mit RUN; abzuschlieÿen, es ist aber nicht immer
nötig. Nur einmal am Ende der Datei sollte es stehen,
damit SAS das Programm auch ausführt.
Das Ergebnis des Data-Steps ist immer eine .sas-Datei,
aber meistens eine temporäre.
8
![Page 10: Grundlegende Einführung in SAS - uni-ulm.de · PDF fileStarten von SAS Das Programmpaket SAS be ndet sich installiert auf einem Rechner des Rechenzentrums (KIZ) der Univer-sität](https://reader031.vdokument.com/reader031/viewer/2022030402/5a78c3a57f8b9a70238c131c/html5/thumbnails/10.jpg)
Erzeugen von Daten
Manuelles Einlesen der Daten: Beispiel:
DATA vorlesung1;
INPUT Name$ Benotung Punkte1 Punkte2 Gesamtpunkte M;
CARDS;
Gunter 5 4 6 10 5
Erika 5 10 3 13 6.5
;
RUN;
9
![Page 11: Grundlegende Einführung in SAS - uni-ulm.de · PDF fileStarten von SAS Das Programmpaket SAS be ndet sich installiert auf einem Rechner des Rechenzentrums (KIZ) der Univer-sität](https://reader031.vdokument.com/reader031/viewer/2022030402/5a78c3a57f8b9a70238c131c/html5/thumbnails/11.jpg)
Syntax:
• DATA-Zeile: Name der (temporäreren) SAS-Datei
• INPUT-Zeile: Spaltennamen, für String-Spalten mit
$ am Schluss;
• CARDS; zeigt den Beginn der Daten;
• RUN; dient (fast) nur zur Übersicht.
Achtung: Das Semikolon nach dem letzten Datenein-
trag muss in einer neuen Zeile stehen.
10
![Page 12: Grundlegende Einführung in SAS - uni-ulm.de · PDF fileStarten von SAS Das Programmpaket SAS be ndet sich installiert auf einem Rechner des Rechenzentrums (KIZ) der Univer-sität](https://reader031.vdokument.com/reader031/viewer/2022030402/5a78c3a57f8b9a70238c131c/html5/thumbnails/12.jpg)
Während wir uns mit dem PROC-Step erst nächstes
Mal befassen, besprechen wir hier zwei Anweisungen,
die benötigt werden, um die Korrektheit unserer Einga-
ben zu überprüfen.
PROC PRINT;
RUN;
gibt die zuletzt erzeugte Datei aus.
PROC PRINT data=vorlesung1;
RUN;
gibt die Datei vorlesung1 aus.
11
![Page 13: Grundlegende Einführung in SAS - uni-ulm.de · PDF fileStarten von SAS Das Programmpaket SAS be ndet sich installiert auf einem Rechner des Rechenzentrums (KIZ) der Univer-sität](https://reader031.vdokument.com/reader031/viewer/2022030402/5a78c3a57f8b9a70238c131c/html5/thumbnails/13.jpg)
Einlesen von Dateien:
Wir betrachten die Datei lehre.dat mit folgendem In-
halt:
Die Datei hat 4 Spalten, die erste ist ein String, dann
noch 3 Zahlen. Spaltentrenner sind Tabs. Dabei soll die
erste Zeile ignoriert werden, sie enthält die Spaltenna-
men:
Name Note Uebungspunkte1 Uebungspunkte2
Martin 1 16 23
Max 1 18 25
Bene 1 20 20
Susan 1 15 18
Charles 1 20 30
...
12
![Page 14: Grundlegende Einführung in SAS - uni-ulm.de · PDF fileStarten von SAS Das Programmpaket SAS be ndet sich installiert auf einem Rechner des Rechenzentrums (KIZ) der Univer-sität](https://reader031.vdokument.com/reader031/viewer/2022030402/5a78c3a57f8b9a70238c131c/html5/thumbnails/14.jpg)
Hier der SAS-Code zum Einlesen:
DATA vorlesung_d;
INFILE "Verzeichnis/lehre.dat" FIRSTOBS=2 DLM="09"x;
INPUT Name$ Benotung Punkte1 Punkte2;
RUN;
Syntax der INFILE-Zeile:
• Dateiname
• DLM: Datentrenner, per Default Leerzeichen, Tabkriegt man mit �09�x
• FIRSTOBS: erste relevante Zeile
• OBS: letzte relevante Zeile (wird selten gebraucht)
13
![Page 15: Grundlegende Einführung in SAS - uni-ulm.de · PDF fileStarten von SAS Das Programmpaket SAS be ndet sich installiert auf einem Rechner des Rechenzentrums (KIZ) der Univer-sität](https://reader031.vdokument.com/reader031/viewer/2022030402/5a78c3a57f8b9a70238c131c/html5/thumbnails/15.jpg)
Speichern von SAS-Daten
Nach Eingabe von
LIBNAME lib "~/SAS";
werden alle Dateien, deren Name mit lib. beginnt, in
~/SAS gespeichert.
Bsp.:
DATA lib.choc;
...
RUN;
Speichert die Daten in ~/SAS/choc.sas7bdat.
14
![Page 16: Grundlegende Einführung in SAS - uni-ulm.de · PDF fileStarten von SAS Das Programmpaket SAS be ndet sich installiert auf einem Rechner des Rechenzentrums (KIZ) der Univer-sität](https://reader031.vdokument.com/reader031/viewer/2022030402/5a78c3a57f8b9a70238c131c/html5/thumbnails/16.jpg)
Einlesen von SAS-Dateien
LIBNAME lib "~/SAS";
DATA choc2;
SET lib.choc;
RUN;
liest den Datensatz lib.choc (aus der Datei
~/SAS/choc.sas7bdat) in choc2 ein.
Einfache Funktionen
Das Schlüsselwort SET ist auch hilfreich, wenn bereits
vorhandene Dateien verändert, z.B. um weitere Spalten
ergänzt, werden sollen.
15
![Page 17: Grundlegende Einführung in SAS - uni-ulm.de · PDF fileStarten von SAS Das Programmpaket SAS be ndet sich installiert auf einem Rechner des Rechenzentrums (KIZ) der Univer-sität](https://reader031.vdokument.com/reader031/viewer/2022030402/5a78c3a57f8b9a70238c131c/html5/thumbnails/17.jpg)
DATA vorlesung2;
SET vorlesung_d;
Gesamtpunkte = Punkte1+Punkte2;
M = MEAN(Punkte1, Punkte2);
M2 = MAX(Punkte1, Punkte2);
M3 = MIN(Punkte1, Punkte2);
RUN;
Es werden also 4 weitere Spalten zur Datei vorlesung d
hinzugefügt. Allerdings bleibt die Datei vorlesung d un-
verändert und die erweiterte Datei wird unter dem neu-
en Namen vorlesung2 gespeichert.
16
![Page 18: Grundlegende Einführung in SAS - uni-ulm.de · PDF fileStarten von SAS Das Programmpaket SAS be ndet sich installiert auf einem Rechner des Rechenzentrums (KIZ) der Univer-sität](https://reader031.vdokument.com/reader031/viewer/2022030402/5a78c3a57f8b9a70238c131c/html5/thumbnails/18.jpg)
Weitere Operationen sind:
** Potenzierung * Multiplikation / Division+ Addition - Subtraktion
Hier noch ein Auszug aus den vielen SAS-Funktionen:
arithmetische (SUM MAX MIN MOD SQRT)
Rundungsfunktionen (INT CEIL FLOOR ROUND)
mathematische (EXP GAMMA LOG LOG2 LOG10)
trigonometrische (SIN COS TAN SINH COSH TANH ARSIN ARCOS ARTAN)
Wahrscheinlichkeitsfunktionen (POISSON PROBETA PROBF PROBNORM)
statistische (MEAN N NMISS STD VAR RANGE CV SKEWNESS)
Zufallszahlen (RANNOR NORMAL RANBIN RANPOI RANUNI UNIFORM)
String (LEFT RIGHT SUBSTR LENGTH)
Datum (DATE DAY HOUR TIME)
Kommunikation mit dem Betriebssystem (CMS X)
17
![Page 19: Grundlegende Einführung in SAS - uni-ulm.de · PDF fileStarten von SAS Das Programmpaket SAS be ndet sich installiert auf einem Rechner des Rechenzentrums (KIZ) der Univer-sität](https://reader031.vdokument.com/reader031/viewer/2022030402/5a78c3a57f8b9a70238c131c/html5/thumbnails/19.jpg)
Logischen Operationen:
Vergleiche (NE EQ LE)
& = AND
| = OR
Das Ergebnis ist �1�, wenn die Operation richtig ist,ansonsten �0�.
Hier noch ein Beispiel für das Aneinanderhängen vonStrings, das manchmal gebraucht wird:
A='HAUS';
B='GAST';
C=B||A;
C hat den Inhalt 'GASTHAUS'18
![Page 20: Grundlegende Einführung in SAS - uni-ulm.de · PDF fileStarten von SAS Das Programmpaket SAS be ndet sich installiert auf einem Rechner des Rechenzentrums (KIZ) der Univer-sität](https://reader031.vdokument.com/reader031/viewer/2022030402/5a78c3a57f8b9a70238c131c/html5/thumbnails/20.jpg)
Arrays
Normales Einlesen von Daten mit inhaltlich gleichen
Spalten (und bilden des Minimums):
Treten innerhalb eines DATA-Steps folgende Anweisun-
gen auf
INPUT F1 F2 F3 F4 F5 F6 F7 F8 F9 F10;
B = MIN(F1, F2, F3, F4, F5, F6, F7, F8, F9, F10);
so können diese abgekürzt werden zu:
INPUT F1-F10;
B=MIN(OF F1-F10);
19
![Page 21: Grundlegende Einführung in SAS - uni-ulm.de · PDF fileStarten von SAS Das Programmpaket SAS be ndet sich installiert auf einem Rechner des Rechenzentrums (KIZ) der Univer-sität](https://reader031.vdokument.com/reader031/viewer/2022030402/5a78c3a57f8b9a70238c131c/html5/thumbnails/21.jpg)
Beispiel zu Arrays
DATA Tiere;
INPUT Tier1$ Tier2$ Tier3$;
CARDS;
Hund Katze Maus
Hase Hamster Wellensittich
;
RUN;
DATA Haustier;
SET Tiere;
ARRAY Tierliste (*) $ Tier1-Tier3;
RUN;
20
![Page 22: Grundlegende Einführung in SAS - uni-ulm.de · PDF fileStarten von SAS Das Programmpaket SAS be ndet sich installiert auf einem Rechner des Rechenzentrums (KIZ) der Univer-sität](https://reader031.vdokument.com/reader031/viewer/2022030402/5a78c3a57f8b9a70238c131c/html5/thumbnails/22.jpg)
If und Schleifen
Einfaches Beispiel:
IF B_LAND='V' OR B_LAND='T' THEN
REGION='WESTEN';
ELSE
REGION = 'SONST ';
Datenauswahl mit IF:
IF A='weiblich';
Es werden nur jene Beobachtungen in der Datenmatrixbehalten, bei denen gilt: A='weiblich'. Das 'SubsettingIF' eliminiert jene Beobachtungen aus der Datenmatrix,für welche die Bedingung nicht erfüllt ist.
21
![Page 23: Grundlegende Einführung in SAS - uni-ulm.de · PDF fileStarten von SAS Das Programmpaket SAS be ndet sich installiert auf einem Rechner des Rechenzentrums (KIZ) der Univer-sität](https://reader031.vdokument.com/reader031/viewer/2022030402/5a78c3a57f8b9a70238c131c/html5/thumbnails/23.jpg)
SELECT-Anweisung (Fallunterscheidung):
holiday
SELECT (A);
WHEN (1) B = 3;
WHEN (2) ;
WHEN (3) B = 4;
OTHERWISE B = 0;
END;
While-Schleife:
DO WHILE (K_ALTER(I) NE .);
KINDER_Z = KINDER_Z + 1;
I = I + 1;
END;
22
![Page 24: Grundlegende Einführung in SAS - uni-ulm.de · PDF fileStarten von SAS Das Programmpaket SAS be ndet sich installiert auf einem Rechner des Rechenzentrums (KIZ) der Univer-sität](https://reader031.vdokument.com/reader031/viewer/2022030402/5a78c3a57f8b9a70238c131c/html5/thumbnails/24.jpg)
DO UNTIL-Schleife:
DO UNTIL (bedingung); anweisungen; END;
Wiederholungsschleifen:
DO I=1 TO 10;
/* I nimmt die Werte 1, 2, ..., 10 an */
DO K=1 TO 10 BY 2; /* 1, 3, 5, 7, 9 */
DO ZAEHLER=1 TO 2 BY 0.2 WHILE (J NE .);
/* 1, 1.2, 1.4, 1.6, 1.8, 2,
solange J nicht "missing value" */
DO I=1, 10, 100; /* 1, 10 , 100 */
DO ALPHA='JAN', 'FEB', 'MAR'; /* JAN, FEB, MAR */
23
![Page 25: Grundlegende Einführung in SAS - uni-ulm.de · PDF fileStarten von SAS Das Programmpaket SAS be ndet sich installiert auf einem Rechner des Rechenzentrums (KIZ) der Univer-sität](https://reader031.vdokument.com/reader031/viewer/2022030402/5a78c3a57f8b9a70238c131c/html5/thumbnails/25.jpg)
DROP, KEEP, OUTPUT und co
Soweit bisher besprochen, werden alle Variablen, die bei
der Erstellung einer Datei de�niert wurden, in der Datei
gespeichert. Da dies aber nicht unbedingt erwünscht
ist, gibt es die Befehle DROP und KEEP. Bsp.:
DATA Vorlesung3;
SET Vorlesung1;
M2=MAX(Punkte1, Punkte2);
M3=MIN(Punkte1, Punkte2);
KEEP Name M2 M3;
RUN;
24
![Page 26: Grundlegende Einführung in SAS - uni-ulm.de · PDF fileStarten von SAS Das Programmpaket SAS be ndet sich installiert auf einem Rechner des Rechenzentrums (KIZ) der Univer-sität](https://reader031.vdokument.com/reader031/viewer/2022030402/5a78c3a57f8b9a70238c131c/html5/thumbnails/26.jpg)
Äquivalent kann man die Zeile
KEEP Name M2 M3;
auch durch
DROP Benotung Punkte1 Punkte2 Gesamtpunkte M;
ersetzen.
Bei mehereren Datensätzen gleichzeitig:
DATA EINS (DROP=I J K) ZWEI (KEEP=A B C D) DREI (DROP=A C D);
25
![Page 27: Grundlegende Einführung in SAS - uni-ulm.de · PDF fileStarten von SAS Das Programmpaket SAS be ndet sich installiert auf einem Rechner des Rechenzentrums (KIZ) der Univer-sität](https://reader031.vdokument.com/reader031/viewer/2022030402/5a78c3a57f8b9a70238c131c/html5/thumbnails/27.jpg)
Verbinden von Datensätzen (spaltenweise):
DATA Vorlesung4;
MERGE Vorlesung1 Vorlesung3;
RUN;
Bem.: Es ist wichtig, dass die Datensätze gleich sortiert
sind (also z.B. alphabetisch nach Namen). Es kann zwar
mit
BY Name;
der Name einer gemeinsamen Spalte zum Verbinden der
Datensätze angegeben werden.
26
![Page 28: Grundlegende Einführung in SAS - uni-ulm.de · PDF fileStarten von SAS Das Programmpaket SAS be ndet sich installiert auf einem Rechner des Rechenzentrums (KIZ) der Univer-sität](https://reader031.vdokument.com/reader031/viewer/2022030402/5a78c3a57f8b9a70238c131c/html5/thumbnails/28.jpg)
Allerdings führt dies zu einer Fehlermeldung, falls die
Spalte Name nicht in beiden Datensätzen alphabetisch
sortiert ist. Der Sinn dieser Option besteht im spal-
tenweisen Zusammenführen von Dateien, deren Spalten
zwar nicht disjunkt, aber auch nicht identisch sind.
Aneinanderhängen von Datensätzen (zeilenweise):
DATA Vorlesung5;
SET Vorlesung4 Vorlesung2;
RUN;
27
![Page 29: Grundlegende Einführung in SAS - uni-ulm.de · PDF fileStarten von SAS Das Programmpaket SAS be ndet sich installiert auf einem Rechner des Rechenzentrums (KIZ) der Univer-sität](https://reader031.vdokument.com/reader031/viewer/2022030402/5a78c3a57f8b9a70238c131c/html5/thumbnails/29.jpg)
Simulation von Zufallsvariablen
Bezeichnungen in SAS:
• Verteilungsfunktion: F (x) = P (X ≤ x): CDF(...)
• (Zähl-)Dichte: PDF(...)
• Simulation: RAN...
Die Verwendung wird bei der Poissonverteilung genauer
erläutert, bei anderen Verteilungen erfolgt sie analog.
28
![Page 30: Grundlegende Einführung in SAS - uni-ulm.de · PDF fileStarten von SAS Das Programmpaket SAS be ndet sich installiert auf einem Rechner des Rechenzentrums (KIZ) der Univer-sität](https://reader031.vdokument.com/reader031/viewer/2022030402/5a78c3a57f8b9a70238c131c/html5/thumbnails/30.jpg)
Diskrete Verteilungen
• Poissonverteilung
P (X = k) =λk
k!· e−λ ∀k ≥ 0
in SAS: P (X ≤ k) ist implementiert unter CDF('POISSON',k, λ), die Berechnung ist wie folgt möglich:
DATA p(KEEP=w);
lambda=2;
k=3;
w = CDF('POISSON', lambda, k);
RUN;
Analog: P (X = x) ist PDF('POISSON', x, λ)
29
![Page 31: Grundlegende Einführung in SAS - uni-ulm.de · PDF fileStarten von SAS Das Programmpaket SAS be ndet sich installiert auf einem Rechner des Rechenzentrums (KIZ) der Univer-sität](https://reader031.vdokument.com/reader031/viewer/2022030402/5a78c3a57f8b9a70238c131c/html5/thumbnails/31.jpg)
Simulation einer Zufallsvariablen:
DATA sim(KEEP=x);
seed=0;
lambda=2;
x = RANPOI(seed, lambda);
RUN;
Simulation von 10 Realisierungen:
DATA sim(KEEP=x);
seed=0; lambda=2;
DO i=1 TO 10
x = RANPOI(seed, lambda);
OUTPUT;
END;
RUN;
30
![Page 32: Grundlegende Einführung in SAS - uni-ulm.de · PDF fileStarten von SAS Das Programmpaket SAS be ndet sich installiert auf einem Rechner des Rechenzentrums (KIZ) der Univer-sität](https://reader031.vdokument.com/reader031/viewer/2022030402/5a78c3a57f8b9a70238c131c/html5/thumbnails/32.jpg)
Bem.: Wird in einem Schleifendurchlauf immer der selbe
Wert als seed für den Zufallszahlengenerator verwendet,
erhält man trotzdem jeweils neue Zufallszahlen.
• Binomialverteilung
P (X = k) =(nk
)pk(1− p)n−k ∀k = 0, . . . , n
P (X = k) = PDF('BINOM', k, p, n)
Simulation: RANBIN(seed, n, p)
31
![Page 33: Grundlegende Einführung in SAS - uni-ulm.de · PDF fileStarten von SAS Das Programmpaket SAS be ndet sich installiert auf einem Rechner des Rechenzentrums (KIZ) der Univer-sität](https://reader031.vdokument.com/reader031/viewer/2022030402/5a78c3a57f8b9a70238c131c/html5/thumbnails/33.jpg)
Stetige Verteilungen
• Gleichverteilung in [a, b]
f(x) = 1b−a · 1[a,b](x), a < b
Simulation: RANUNI(seed)
Bem.: Keine Berechnung der Verteilungsfunktion,
keine Simulation für (a, b) 6= (0,1). SAS hält seine
Anwender o�ensichtlich für intelligent genug.
• Gamma-Verteilung
f(x) = λα
Γ(α) · xα−1 · e−λx · 1[0,∞)(x), α, λ > 0
f(x) = PDF('GAMMA', x, α, 1/λ)
(Simulation: RANGAM)
32
![Page 34: Grundlegende Einführung in SAS - uni-ulm.de · PDF fileStarten von SAS Das Programmpaket SAS be ndet sich installiert auf einem Rechner des Rechenzentrums (KIZ) der Univer-sität](https://reader031.vdokument.com/reader031/viewer/2022030402/5a78c3a57f8b9a70238c131c/html5/thumbnails/34.jpg)
• Normalverteilung
X ∼ N(µ, σ2), µ ∈ R, σ2 ∈ R+
f(x) = 1√2πσ
exp{−(x−µ)2
2σ2 }Dichte: PDF('NORMAL', x)
Simulation: RANNOR(seed)
Quantile: PROBIT(alpha)
• Chi-Quadrat-VerteilungX1, . . . , Xn unabhängig, N(0,1)-verteilt
⇒ Un =∑ni=1X
2i Chi-Quadrat-verteilt
f(x) = PDF('CHISQ', x, n)
χ2α,n=CINV(α, n)
keine direkte Simulation in SAS
33
![Page 35: Grundlegende Einführung in SAS - uni-ulm.de · PDF fileStarten von SAS Das Programmpaket SAS be ndet sich installiert auf einem Rechner des Rechenzentrums (KIZ) der Univer-sität](https://reader031.vdokument.com/reader031/viewer/2022030402/5a78c3a57f8b9a70238c131c/html5/thumbnails/35.jpg)
• t-VerteilungX ∼ N(0,1), Un ∼ χ2
n unabhängig
⇒ Tn = X√Unn
∼ tn
f(x) = PDF('T', x, n)
tα,n = TINV(α, n)
keine direkte Simulation in SAS
• F-VerteilungUm ∼ χ2
m, Un ∼ χ2n unabhängig
⇒Wm,n = Um/mUn/n
f(x) = PDF('F', x, m, n)
Fα,m,n = FINV(α, m, n)
keine direkte Simulation in SAS
34