Ich baue ein Modell, in dem mehrere meiner Kovariaten auf einem "Kreis" leben, in dem Sinne, dass sie Werte im Intervall [0,1] annehmen und 0 = 1. Ich wundere mich über Techniken, um mit dieser Situation umzugehen. Eine Idee besteht darin, eine kreisförmige Variable Theta als ein Paar von Variablen (sin (Theta), cos (Theta)) darzustellen. Irgendwelche Gedanken zu diesem Ansatz oder besseren Ansätzen?
Ich verwende speziell die GAMs des mgcv-Pakets. Gibt es eine Möglichkeit, dem Modell mitzuteilen, dass bestimmte additive Teile an den Endpunkten dieselben Werte haben sollten? Noch ein Paket?
Vielen Dank!
circular
Paket verweist, das möglicherweise von Interesse sein könnte. Hoffentlich erhalten Sie bessere Antworten.Antworten:
Es gibt zwei Möglichkeiten, mit zirkulären Variablen umzugehen. Eine hackige Methode wäre, Ihren Datensatz auf beiden Seiten der Randbedingungen manuell zu duplizieren. Die elegantere Lösung wäre meiner Meinung nach die Verwendung der integrierten Spline-Basisfunktionen mit periodischen Randbedingungen !
Zum Beispiel:
bs="cc"
Gibt einen zyklischen kubischen Regressionsspline an (siehecyclic.cubic.spline
). dh ein bestrafter kubischer Regressionsspline, dessen Enden bis zur zweiten Ableitung übereinstimmen.Splines auf der Kugel
bs="sos"
. Dies sind zweidimensionale Splines auf einer Kugel. Argumente sind Breiten- und Längengrade und sie sind das Analogon dünner Plattenkeile für die Kugel. Nützlich für Daten, die über einen großen Teil der Welt abgetastet werden, wenn Isotropie angemessen ist. SieheSpherical.Spline
für Details.bs="cp"
gibt eine zyklische Version eines P-Splines anquelle
Vielleicht möchten Sie sich Gill und Hangartner (2010) ansehen . Zirkuläre Daten in der Politikwissenschaft und wie man damit umgeht . Sie sprechen über verschiedene Modelle für Rund- / Uhr- / Saisondaten, und Jeff Gill liefert R-Code für das Papier, in dem Sie nach Inspiration suchen können. Es sollte eine Präsentationsversion dieses Materials geben, die die Methodik und den R-Code miteinander verwebt.
quelle