Lineare regression mit postgres

Benutze ich Postgres und ich habe eine große Anzahl von Zeilen mit Werten und Datums-pro station.
(Termine können getrennt werden durch mehrere Tage).

id      | value | idstation | udate
--------+-------+-----------+-----
1       |  5    | 12        | 1984-02-11 00:00:00
2       |  7    | 12        | 1984-02-17 00:00:00
3       |  8    | 12        | 1984-02-21 00:00:00
4       |  9    | 12        | 1984-02-23 00:00:00
5       |  4    | 12        | 1984-02-24 00:00:00
6       |  8    | 12        | 1984-02-28 00:00:00
7       |  9    | 14        | 1984-02-21 00:00:00
8       |  15   | 15        | 1984-02-21 00:00:00
9       |  14   | 18        | 1984-02-21 00:00:00
10      |  200  | 19        | 1984-02-21 00:00:00

Vergeben, was mag eine dumme Frage sein, aber ich bin nicht viel von einem Datenbank-guru.

Ist es möglich, direkt eine SQL-Abfrage, die berechnet lineare regression pro station für jeden Tag, wohl wissend, dass die regression werden muss, berechnen Sie nur mit der tatsächlichen id, Datum, bisherige id Datum und die next-id Datum ?

Beispielsweise die lineare regression für id 2 muss berechnen mit dem Wert 7(aktuell),5(der vorige),8(nächsten) Termine 1984-02-17 , 1984-02-11 und 1984-02-21

Bearbeiten : ich regr_intercept(Wert,udate) aber ich weiß wirklich nicht, wie zu tun, wenn ich nur die aktuellen, vorherigen und nächsten Wert/das Datum für die einzelnen Linien.

Edit2 : 3 Zeilen Hinzugefügt idstation(12); id zahlen und Daten sind geändert

Hoffe Ihr könnt mir helfen, danke !

  • Nicht klar; Sie verwenden möchten value als abhängige variable udate als die unabhängige variable, und die partition/Schichten durch idstation?
  • Ja, so ähnlich. Eigentlich habe ich Regr_intercept(udate,Wert) für jeden Tag an jeder station, aber ich brauche zur Berechnung der linearen regression mit den aktuellen, vorherigen und nächsten Tag. Ich sah, es ist ein Fehler in meinem Beispiel, die gut sein müssen : Zum Beispiel die lineare regression für id 2 muss berechnen mit dem Wert 7(aktuell),5(der vorige),8(nächsten) Termine 1984-02-23 , 1984-02-21 und 1984-02-26
InformationsquelleAutor Leasye | 2013-12-10
Schreibe einen Kommentar