Abizeit ist schon etwas her und ich wollte die Mathe-Themen noch mal nachschlagen. Tue mich aber etwas schwer damit.
Bezüglich:
https://www.openhab.org/docs/configurat ... tence.html
Durchschnitt ist ja klar
Aber bereits bei Delta/Deviation wüsste ich jetzt nicht, wie der Rückgabewert berechnet wird.
Werden alle Werte beim Delta betrachtet, oder nur die min und max?
Wird bei der Deviation der letzte Wert mit dem Mittelwert verglichen, oder welcher?
Links zu allgemeinen (einfachen) Erklärungen wären sicherlich Hilfreich, aber die konkrete Implementierung ist vielleicht noch interessanter.
Hintergrund: Ich habe im Verteilerschrank einen SmartMeter und meine Waschmaschine auf Phase3 erkannt
Da die normalen Plugs bei 10A zu ende sind und die Maschine 2400W braucht, möchte ich erst mal diesen Weg gehen. (Pieks beim Heizen sind 2200W am Anfang und am Ende sind einige Einweichphasen von 5min, so dass dort nur 50W Trommelbewegung messbar sind. Daher ist alles mit Mittelwert schon interessant.
--> Wann ist die Maschine fertig ?
Blockly Average/Delta/Deviation/Variance
-
- Beiträge: 142
- Registriert: 28. Aug 2021 10:34
-
- Beiträge: 142
- Registriert: 28. Aug 2021 10:34
Re: Blockly Average/Delta/Deviation/Variance
Ein Blick in den Quellcode: https://github.com/carlossg/openhab/blo ... sions.java
Delta:
Tatsächlich nur Zwei Werte, den jetzigen - den von vor x.
Also ist die Varianz = die "gemittelte" Summe aller (Abweichungen zum Durchschnitt)²
...Deviation baut auf der Varianz auf und ist einfach nur ihre Quadratwurzel...
Aber auch wenn ich nun weiß wie die Funktionen mathematisch aufgebaut sind, weiß ich immer noch nicht für welchen praktischen Anwendungsfall ich es gebrauchen kann und wie dann die Schwellwerte aussehen, die ich zu erwarten habe.
LG
Delta:
Code: Alles auswählen
HistoricItem itemThen = historicState(item, timestamp, serviceName);
if (itemThen != null) {
DecimalType valueThen = (DecimalType) itemThen.getState();
DecimalType valueNow = (DecimalType) item.getStateAs(DecimalType.class);
if (( valueThen != null) && ( valueNow != null)) {
result = new DecimalType(valueNow.doubleValue() - valueThen.doubleValue());
};
}
Code: Alles auswählen
double total = 0;
int quantity = 0;
DecimalType histValue = null;
while(it.hasNext()) {
State state = it.next().getState();
if (state instanceof DecimalType) {
histValue = (DecimalType) state;
total += Math.pow(histValue.doubleValue()- average.doubleValue(), 2);
quantity++;
}
}
...
double variance = total / quantity;
Code: Alles auswählen
deviation = Math.sqrt(variance.doubleValue());
Aber auch wenn ich nun weiß wie die Funktionen mathematisch aufgebaut sind, weiß ich immer noch nicht für welchen praktischen Anwendungsfall ich es gebrauchen kann und wie dann die Schwellwerte aussehen, die ich zu erwarten habe.
LG
Zuletzt geändert von Oekel am 25. Jan 2022 21:00, insgesamt 2-mal geändert.
- udo1toni
- Beiträge: 13983
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Blockly Average/Delta/Deviation/Variance
Boah, Statistik... ganz lange her (> 32 a)...
Average ist der Mittelwert,
Deviation ist die Standardabweichung,
Variance ist ist die Varianz,
Delta ... Öhm... vermutlich der Bereich...
Die Varianz beschreibt die Streubreite der Werte um den Mittelwert, die Standardabweichung ist in dem Zusammenhang quasi die gemittelte Abweichung und das Delta ist dann Abstand Minimalwert zu Maximalwert.
Sicher bin ich mir da nicht. Und wann Du welchen der Werte brauchst, ist dann noch mal die nächste Frage, letztlich sind es Statistik-Funktionen, die vermutlich vor allem zur Auswertung von Wetter und anderen Messwerten interessant sein dürften.
Average ist der Mittelwert,
Deviation ist die Standardabweichung,
Variance ist ist die Varianz,
Delta ... Öhm... vermutlich der Bereich...
Die Varianz beschreibt die Streubreite der Werte um den Mittelwert, die Standardabweichung ist in dem Zusammenhang quasi die gemittelte Abweichung und das Delta ist dann Abstand Minimalwert zu Maximalwert.
Sicher bin ich mir da nicht. Und wann Du welchen der Werte brauchst, ist dann noch mal die nächste Frage, letztlich sind es Statistik-Funktionen, die vermutlich vor allem zur Auswertung von Wetter und anderen Messwerten interessant sein dürften.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 142
- Registriert: 28. Aug 2021 10:34
- udo1toni
- Beiträge: 13983
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Blockly Average/Delta/Deviation/Variance
Ah. ja, das ist ja auch ok.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet
- peter-pan
- Beiträge: 2573
- Registriert: 28. Nov 2018 12:03
- Wohnort: Schwäbisch Gmünd
Re: Blockly Average/Delta/Deviation/Variance
Wenn ich das richtig verstehe, was Tante Google dazu sagt und was mir noch so in Erinnerung ist, bedeutet "Delta" im wesentlichen die Differenz zwischen zwei Werten
https://www.helpster.de/delta-in-der-ma ... ung_213998
https://www.gabler-banklexikon.de/defin ... elta-56919
https://www.helpster.de/delta-in-der-ma ... ung_213998
https://www.gabler-banklexikon.de/defin ... elta-56919
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.1.2 openhabian
-
- Beiträge: 142
- Registriert: 28. Aug 2021 10:34
Re: Blockly Average/Delta/Deviation/Variance
Aber um mal wieder zum Topic zurück zu kommen:
Wann würdet ihr Deviation/Variance einsetzen?
Wann würdet ihr Deviation/Variance einsetzen?