Hallo,
ich habe folgendes Problem: Ich habe ein Programm gestrickt, das regelmäßig einen Temperatursensor ausliest und die Werte loggt; allerdings hält es hält aus Ressourcengründen es keine "historischen Werte" vor, d.h. es ist keine Zeitreihe unmittelbar verfügbar. Es liegt im Wesentlichen nur der aktuell gelesene Wert und (wenn ich den programmiere) der gleitende Mittelwert vor.
Die Temperatur ist geregelt (ausserhalb des Programms), und schwankt durch verschiedene äußere Einflüsse; das Programm dient vor allem zur Warnung bei Übertemperatur.
Es gibt natürlich fix eingestellte Grenzwerte, ich möchte aber gern gewarnt werden, wenn es innerhalb des "erlaubten" Grenzwertbereichs Auffälligkeiten gibt. Dazu soll das Programm die laufenden Daten beobachten und Auffälligkeiten melden, bzw. die auffälligen Werte im Log markieren. Allerdings kann der Mittelwert je nach äußeren Einflüssen langsam schwanken.
Ein Kriterium, das ganz gut aussieht, wäre für 1-Minuten-Werte etwas in der Art: "Temperatur weicht um mehr als {x mal Sigma} vom (gleitenden) Mittelwert der letzten 4 Stunden ab".
Und jetzt zum Problem: Ich weiß, wie man iterativ einen brauchbaren gleitenden Mittelwert über die letzten n Werte generieren kann, ohne jeweils die gesamten Daten merken zu müssen (Letzter Mittelwert mal (1-1/n) + neuer Wert mal 1/n). Die Frage: Kann ich analog dazu einen akzeptablen gleitenden (Schätz-)Wert für die Standardabweichung der letzten n Werte generieren ?
Ideal wäre ein Hinweis auf Beispiel-Quellcode (in jeder eingermassen geläufigen Programmiersprache ...), den ich entsprechend adaptieren kann, ich nehme aber auch gerne Links zu Literatur oder allgemeine Erklärungen
Danke schon mal ...
Ordoban