student-t-QQPlot zeichnen

Wie erstelle ich Grafiken, was ist zu beachten?

Moderatoren: EDi, jogo

Antworten
Mim1
Beiträge: 6
Registriert: So Jun 21, 2020 12:11 pm

student-t-QQPlot zeichnen

Beitrag von Mim1 »

Hallo zusammen,

ich bin noch blutige R-Anfängerin und muss im Zuge meines Studiums einen Student-t-Verteilung-QQ-Plot für log returns (Aktienrenditen) erstellen.

Ich habe schon viel versucht, aber ich komme nicht darauf. Einen "normal QQ-Plot" kann ich problemlos erstellen. Den für eine t-distribution leider aber nicht.

Meine bisherigen Versuche sehen wie folgt aus:

qqplot(data1$logret, rt(2797, df=2796),
ylab = "T-quantiles",
xlab = "Data quantiles")
qqline(data1$logret, col = "blue", distribution = rt(2797, df=2796))

Es funktioniert aber leider nicht. Weiß jemand mir zu helfen? Erkennt ihr vielleicht meinen Fehler?

Vielen Dank im Voraus.

Liebe Grüße

Mim1
bigben
Beiträge: 2771
Registriert: Mi Okt 12, 2016 9:09 am

Re: student-t-QQPlot zeichnen

Beitrag von bigben »

Mim1 hat geschrieben: So Jun 21, 2020 12:18 pmEs funktioniert aber leider nicht.

Hallo!

Was funktioniert denn genau nicht? Was passiert, wenn Du das qqplot-Kommando in der Form eingibst. Gibt es eine Fehlermeldung? Eine Warnung? Kommt Rauch aus dem Computer oder fliegt die Sicherung raus? Oder gefällt Dir die entstehende Grafik nicht?
Dein qqline-Aufruf sieht anders aus als in den Anwendungsbeispielen in der Hilfeseite dazu aber erst müssen wir klären, ob der qqplot-Aufruf schon scheitert.

LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Mim1
Beiträge: 6
Registriert: So Jun 21, 2020 12:11 pm

Re: student-t-QQPlot zeichnen

Beitrag von Mim1 »

Hi, du hast recht! Ich sollte spezifizieren, was nicht funktioniert. :)

Ich erhalte folgende Meldung wenn ich den Code ausführe:

Contacting Delphi...the oracle is unavailable.
We apologize for any inconvenience.
> qqline(data1$logret, col = "blue", distribution = rt(2797, df=2796))
Fehler in qqline(data1$logret, col = "blue", distribution = rt(2797, :
is.function(distribution) is not TRUE

Vielen Dank nochmal für deine Mühe!
bigben
Beiträge: 2771
Registriert: Mi Okt 12, 2016 9:09 am

Re: student-t-QQPlot zeichnen

Beitrag von bigben »

Die Fehlermeldung verweist uns auf qqline. Zurück zu meiner Frage oben: Wurde denn vorher ein QQPlot ohne Linie richtig gezeichnet, oder nicht?

Wenn Du

Code: Alles auswählen

 help(qqline)
aufrufst findest Du ganz unten auf der Hilfeseite einen Vorschlag, wie man qqline mit einer Funktion die nicht die Normalverteilung ist, aufruft. Dort steht

Code: Alles auswählen

qqline(y, distribution = function(p) qchisq(p, df = 3),
       probs = c(0.1, 0.6), col = 2)
Die Chiquadratverteilung wird hier als function übergeben und Deine Fehlermeldung beschwert sich, dass keine Funktion übergeben wurde. Vielleicht solltest Du das Beispiel mit Deiner t-Verteilung nachbauen?

LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Mim1
Beiträge: 6
Registriert: So Jun 21, 2020 12:11 pm

Re: student-t-QQPlot zeichnen

Beitrag von Mim1 »

Nein, leider wird nichts gezeichnet. Ich erhalte ja hier die Fehlermeldung "Contacting Delphi...the oracle is unavailable.
We apologize for any inconvenience..". Ich weiß leider nicht was das bedeuten soll.

Zu der qqline: Ich verstehe nicht richtig, was hier "p" bedeuten soll.
bigben
Beiträge: 2771
Registriert: Mi Okt 12, 2016 9:09 am

Re: student-t-QQPlot zeichnen

Beitrag von bigben »

Zu Teil 1 des Problems wäre dann ein reproduzierbares Beispiel gut: viewtopic.php?f=20&t=11

Zu Teil 2 solltest Du Dich über Funktionen in R und wie man sie definiert informieren. Das sprengt sonst den Rahmen eines Forums. Vielleicht hier https://www.dataquest.io/blog/r-functions-tutorial/

LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Antworten