So erstellen sie ein qq-diagramm in sas
Ein QQ-Plot, kurz für „Quantil-Quantil“, wird verwendet, um zu bewerten, ob ein Datensatz möglicherweise aus einer theoretischen Verteilung stammt.
In den meisten Fällen wird dieser Diagrammtyp verwendet, um zu bestimmen, ob ein Datensatz einer Normalverteilung folgt oder nicht.
Wenn die Daten normalverteilt sind, liegen die Punkte in einem QQ-Diagramm auf einer geraden diagonalen Linie.
Umgekehrt gilt: Je stärker die Punkte im Diagramm von einer geraden Diagonale abweichen, desto unwahrscheinlicher ist es, dass der Datensatz einer Normalverteilung folgt.
Der einfachste Weg, einen QQ-Plot in SAS zu erstellen, ist die Verwendung der PROC UNIVARIATE- Anweisung mit der QQPLOT- Anweisung:
proc univariate data =my_data noprint ; qqplot my_variable; run ;
Die folgenden Beispiele zeigen, wie Sie diese Syntax in der Praxis anwenden können.
Hinweis : Wir verwenden die NOPRINT- Anweisung, um alle anderen zusammenfassenden Statistiken und Tabellen zu entfernen, die automatisch von der PROC UNIVARIATE- Anweisung generiert werden.
Beispiel 1: Erstellen Sie in SAS ein QQ-Diagramm für normale Daten
Der folgende Code zeigt, wie man ein QQ-Diagramm für einen Datensatz erstellt, der 1000 Beobachtungen enthält, die aus einer Normalverteilung mit einem Mittelwert von 10 und einer Standardabweichung von 2 generiert wurden:
/*generate 1000 values that follow normal distribution with mean 10 and sd 2 */
data normal_data;
do i = 1 to 1000;
x = 10 + 2* rannor (1);
output ;
end ;
run ;
/*create some plot*/
proc univariate data =normal_data noprint ;
qqplot x;
run ;
Wir können sehen, dass die Punkte größtenteils entlang einer geraden diagonalen Linie liegen, mit einigen geringfügigen Abweichungen entlang der einzelnen Enden.
Basierend auf dieser Grafik können wir mit Sicherheit davon ausgehen, dass dieser Datensatz normalverteilt ist.
Beispiel 2: QQ-Diagramm für nicht normale Daten
Der folgende Code zeigt, wie man ein QQ-Diagramm für einen Datensatz mit 1000 Beobachtungen erstellt, die aus einer Exponentialverteilung generiert wurden:
/*generate 1000 values that follow an exponential distribution*/
data exp_data;
do i = 1 to 1000;
x = ranexp (1);
output ;
end ;
run ;
/*create some plot*/
proc univariate data =exp_data noprint ;
qqplot x;
run ;
Ich sehe, dass die Punkte erheblich von einer geraden Diagonale abweichen. Dies zeigt deutlich, dass der Datensatz nicht normalverteilt ist.
Dies sollte sinnvoll sein, da wir angegeben haben, dass die Daten einer Exponentialverteilung folgen sollen.
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben in SAS ausführen:
So verwenden Sie Proc Univariate für Normalitätstests in SAS
So führen Sie eine Protokolltransformation in SAS durch
So identifizieren Sie Ausreißer in SAS