Mehrere Random Walks plotten

Methoden der Zeitreihenanalyse

Moderator: schubbiaschwilli

Luk12Luk12
Beiträge: 25
Registriert: Di Dez 01, 2020 12:31 pm

Mehrere Random Walks plotten

Beitrag von Luk12Luk12 »

Hallo zusammen :)
ich möchte eine Reihe von Random Walks erstellen und diese alle übereinanderplotten. Ich weiß nicht ob mein Ansatz so clever ist und obs nicht auch eine bessere Möglichkeit gibt. Bin noch nicht so lange am Programmieren dabei ;) :
ich habe mir gedacht, dass ich einfach eine Matrix erstellen kann, bei der jede Spalte einem Prozess entspricht. Den Algorithms, den ich mir dafür gebastelt habe, seht ihr unten. Ich bin mir aber noch recht unsicher. Macht das alles Sinn? Ist das so sinnvoll oder habt ihr einen besseren Ansatz?

Außerdem habe ich noch nicht gefunden, wie ich das dann plotten könnte: Ich möchte also jede spalte als einen Prozess plotten und alle übereinander legen.

Code: Alles auswählen

 R <- 15
 C <- 10
 ww     <-  matrix(rnorm(n = R*C, mean = 0, sd = 0.1), nrow = R, ncol = C)
 tr.st. <-  matrix(rnorm(n = R*C, mean = 0, sd = 0.1), nrow = R, ncol = C)
   for (t in 1:R){
    for (i in 2:C) {
         tr.st.[t,i]  <- *tr.st.[t,i-1] +ww[t,i] }}
 plot(tr.st.[,4],type="l")
Bin über jede Anregung und jeden Tipp dankbar :)

Danke und beste Grüße,
Lukas
bigben
Beiträge: 2777
Registriert: Mi Okt 12, 2016 9:09 am

Re: Mehrere Random Walks plotten

Beitrag von bigben »

Hallo Lukas,

kannst Du damit was anfangen:

Code: Alles auswählen

R <- 15
C <- 10

rws <- replicate(C, cumsum(rnorm(R, sd = .1)))

plot(NA, xlim = c(1, R), ylim = c(-2, 2),ylab ="")
abline(h = seq(-2, 2, .5), col = "lightgrey", lty = 3)
for(i in 1:C){
  lines(rws[,i], col = i)
}
LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Luk12Luk12
Beiträge: 25
Registriert: Di Dez 01, 2020 12:31 pm

Re: Mehrere Random Walks plotten

Beitrag von Luk12Luk12 »

Hi Bernhard,

das hilft mir sehr, vielen Dank!! :)

Leider habe ich wohl noch ein Fehler in meiner verschachtelten For schleife...leider werden keine Random Walk prozesse erstellt :/
Kann mir da jemand weiterhelfen, ich finde meinen Fehler nicht?

Danke und Gruß,
Lukas
schubbiaschwilli
Beiträge: 253
Registriert: Di Jun 27, 2017 12:09 pm

Re: Mehrere Random Walks plotten

Beitrag von schubbiaschwilli »

Gude!

Ich möchte mal auf folgenden Thread bzw. Beitrag verweisen: viewtopic.php?f=8&t=2675 bzw. viewtopic.php?p=13020#p13020

Dank&Gruß
schubbiaschwilli
Luk12Luk12
Beiträge: 25
Registriert: Di Dez 01, 2020 12:31 pm

Re: Mehrere Random Walks plotten

Beitrag von Luk12Luk12 »

Hi schubbiaschwilli,

ich schaue es mir an...danke schonmal :D

Gruß,
Lukas
bigben
Beiträge: 2777
Registriert: Mi Okt 12, 2016 9:09 am

Re: Mehrere Random Walks plotten

Beitrag von bigben »

Ich verstehe die an mich gerichtete Antwort nicht. Du hast gefragt, ob jemand einen besseren Ansatz hat und ich habe Dir einen besseren Ansatz gezeigt, der ohne verschachtelte for-Schleifen und deshalb auch weniger Gelgenheit, sich zu verhuddeln, auskommt.

Wenn Du unbedingt Deinen Code mit verschachtelten Schleifen retten willst: Ich finde die Fehlermeldung von R klar und deutlich:

Code: Alles auswählen

> for (t in 1:R){
+     for (i in 2:C) {
+         tr.st.[t,i]  <- *tr.st.[t,i-1] +ww[t,i] }}
Fehler: Unerwartete(s) '*' in:
"    for (i in 2:C) {
        tr.st.[t,i]  <- *"
Was verstehst Du an dieser Fehlermeldung nicht?

LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Luk12Luk12
Beiträge: 25
Registriert: Di Dez 01, 2020 12:31 pm

Re: Mehrere Random Walks plotten

Beitrag von Luk12Luk12 »

Hi Bernhard,

entschuldige, ich hatte vor dem * noch eine variable stehen. Es handelt sich um einen AR(1) Prozess, der ein random walk ist, wenn ich diese variable auf 1 habe.
Ich wollte die Variable hier draußen lassen, aber das * hatte sich mit eingeschlichen.

Entschuldige und Gruß,
Lukas
bigben
Beiträge: 2777
Registriert: Mi Okt 12, 2016 9:09 am

Re: Mehrere Random Walks plotten

Beitrag von bigben »

Ja, und wenn man das '*' weg lässt, dann läuft Dein Code glatt durch und in tr.st. finden sich die gwünschen Daten und wie man die plottet habe ich oben gezeigt. Was ist denn jetzt an der Frage noch offen?

LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Luk12Luk12
Beiträge: 25
Registriert: Di Dez 01, 2020 12:31 pm

Re: Mehrere Random Walks plotten

Beitrag von Luk12Luk12 »

Hi

das Problem ist, das wenn ich mir die Prozesse angucke keine Random Walks produziert werden, sondern wohl einfach nur weißes Rauschen.

Gruß,
Lukas
bigben
Beiträge: 2777
Registriert: Mi Okt 12, 2016 9:09 am

Re: Mehrere Random Walks plotten

Beitrag von bigben »

Ja, das ist der Fluch der verschachtelten Schleifen: Du hast Zeilen und Spalten verwechselst und die Random walks in den Zeilen und nicht in den Spalten erstellt. Wenn Du Dir Deine Daten in tr.st. zeilenweise anschaust, dann stimmt es wieder:

Code: Alles auswählen

plot(NA, xlim = c(1, C), ylim = c(-2, 2),ylab ="")
abline(h = seq(-2, 2, .5), col = "lightgrey", lty = 3)
for(i in 1:R){
  lines(tr.st.[i,], col = i)
}
LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Antworten