Ich mache ein Projekt, das unter anderem darin besteht, Zeitreihen zu erstellen, in denen einer der stochastischen Teile der Zeitentwicklung mehrerer Reihen eine spezifische Kovarianz hat. Das Problem ist, dass viele meiner Projekte verlangen, dass ich zumindest eine gewisse Kontrolle habe, wenn es darum geht, wie die Kovarianz zwischen den verschiedenen Zeitreihen aussieht, und ich habe keine Möglichkeit gefunden (mit relativer Geschwindigkeit) Kovarianzmatrizen zu finden sobald die Größe ~ 30 übersteigt.Wie erstelle ich eine gewünschte (große) Kovarianz/Korrelationsmatrix?
So zusammenzufassen:
I symmetrische Matrizen mit n ~ 50 machen wollen, die an bestimmten Orten gewünschten Zahlen haben, Null in anderen und sind positiv semidefinit (MATLABs cholcov nur Semidefinitheit verlangt, zum Glück).
Ich hoffe aufrichtig, dass jemand da draußen mindestens eine Idee hat!
// Niffe
PS: Ich habe bisher in MATLAB gearbeitet, bin aber offen für andere Sprachen, und auch Lösungen in nichts anderes als Mathematik.
@Niffe Wie sieht Ihre Eingabe aus? Nur ein Vektor mit Signalen über die Zeit? Oder zwei Signale korrelieren? Oder etwas anderes? – Marnix
@ Marnix- Die Kovarianzen werden für die Erstellung von Lévy-Prozess-Zeitreihen verwendet, also bevor ich die Kovarianzmatrizen habe, habe ich im Grunde keine Eingabe. Aber wenn ich den besten Weg gefunden habe, die Matrizen zu erstellen, werde ich sie mit Cholesky faktorisieren und mit multivariaten Normalverteilungen multiplizieren. – Niffe
@Niffe: ok Ich weiß, wie man Kovarianzen und alle bekommen kann, aber sie von Hand zu erstellen, wird noch Input benötigt, oder? Sie können nicht einfach eine Cov-Matrix aus dem Nichts erstellen? Ich denke ich kann dir dann nicht helfen;) – Marnix