76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support

Begonnen von DS_Starter, 11 Februar 2024, 14:11:00

Vorheriges Thema - Nächstes Thema

dieter114

Hallo Heiko,
seit der Umstellung auf 1&1 läuft die OpenMeteo API absolut ohne Probleme.  8)  ;D
Aber die Version 2.10.2 macht irgendwie Probleme:
Die Anzeige Qualität ist entweder Gelb oder Rot sehr selten mal grün.
Die CON Berechnugen sind erstaunlich gut nur die PV Werte weichen merklich ab.
Gerade die waren vorher erheblich Besser (< 2-3%).
Jetzt habe ich >15% im Schnitt.
Hat sich da möglicherweise Irgendwas geändert was ich nicht nachvollzogen habe?
Liebe Grüße WDS

RPi II+III+V,OWX, HM Zisterne, MAPLESDuino(adv), ESPEasy, Tasmota, MQTT2Server, WU-Upload, TabletUI, Poolsteuerung fhem, Fronius, BYD Solaranlage

DS_Starter

#6931
ZitatHat sich da möglicherweise Irgendwas geändert was ich nicht nachvollzogen habe?
Nein, die PV-Werte sind durch die meteorologischen Verhältnisse mehr oder weniger stark volatil.
Das System steuert über Faktoren dagegen, aber der Gesamtprozess ist schwierig zumal die prognostizierten Wetterverhältnisse mit den realen Zuständen auch nicht unbedingt übereinstimmen müssen.
Ein weites Feld.

Der nächste größere Schritt wird sein AI::FANN auch für die PV-Prognose einzuführen. Doch das braucht eine längere Entwicklungsphase am Stück.
Da weiß ich noch nicht wann ich damit beginne. Habe gerade noch ein paar andere Sachen in anderen Modulen die ich schon lange vor mir herschiebe.
Aber dein Thema benötigt erstmal kein ToDo von dir.

LG,
Heiko
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

herble

Hallo Heiko,

ich habe ein Problem mit der KI-Verbrauchsprognose, das durch einen einzelnen Datenpunkt verursacht wird. Bei mir taucht in den Trainingsdaten ein Hausverbrauch von 67707 Wh auf (einmaliger EV-Ladevorgang mit 11kW-Wallbox über mehrere Stunden). Dieser Wert dominiert die Min/Max-Normierung komplett.

Das Trainingssystem gibt selbst diesen Hinweis aus:
,,Modell-Skalierung stark verzerrt (Slope=0.34) trotz frühem Stop: Eingangsdaten auf Ausreißer und Normalisierungsfehler prüfen, [Entwicklerhinweis] Min/Max-Skalierung der Features kontrollieren"

Die Folge: Slope schwankt zwischen 0.26 und 0.90 je nach Zufallsinitialisierung, R² zwischen 0.20 und 0.48 – nicht durch Architektur- oder Hyperparameterfehler, sondern weil ein einzelner Wert die Normierungsskala aufspannt.

Meine Frage: Gibt es in aiControl einen Parameter (oder eine geplante Option), mit dem man die Normierungsobergrenze für Hausverbrauch manuell begrenzen kann – z.B. auf 12000 Wh – um solche Ausreißer aus der Skalierung herauszunehmen?

Alternativ: Würde es helfen, den betreffenden Datenpunkt aus den AI-Rohdaten zu entfernen, und wenn ja, wie geht das am saubersten?


Danke und LG,
Jürgen

300P

Nimm dazu das attr <SF-DeviceName> plantControl

conEnergyHourLimit   

Limitierung des maximal möglichen Energieverbrauches im Hausnetz pro Stunde (Wh).
Werte oberhalb des Limits werden durch SolarForecast als ungültig bewertet und nicht gespeichert.
Wert: Ganzzahl, default: 100000


Der Default-Wert ist schon schön viel (100 kWh)  :o und läßt naturgemäß deinen Wert von 67707 Wh logischerweise auch zu. ;)
Gruß
300P

FHEM 6.4|RPi|SMAEM|SMAInverter|SolarForecast| DbLog|DbRep|MariaDB|Buderus-MQTT_EMS|
Fritzbox|fhempy|JsonMod|HTTPMOD|Modbus ser+TCP| ESP32_AI_on_the_Edge|ESP32CAM usw.

DS_Starter

#6934
Für bereits gespeicherte Daten gibt es in dem Trainingsprozess bereits einen Percentile-Filter erkennbar an der Logausgabe mit Trainings-Debug:

DEBUG> AI FANN - True Outliers above ...
und den verwendeten Grenzen:
DEBUG> AI FANN - Target-Norm: ...
Die AI-Rohdaten können bereinigt werden mit:

set ... reset aiData delValue=con>=xxxxxx
Es ist vorab auch eine Suche nach unerwünschten Datenpunkten oder eine gezieltes Setzen möglich.

LG,
Heiko
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

dieter114

Nur mal so als Denkanstoss:
Wie wäre es denn mit einem "Ausschalter" für alle Berechnungen
damit mal das Auto eines Freundes außer der Reihe geladen werden kann
oder irgendwelche Umbauten oder Versuche zu machen sind?
Also Modul FC hör einmal für xx Stunden auf zu arbeiten und dann geht es normal weiter?
Liebe Grüße WDS

RPi II+III+V,OWX, HM Zisterne, MAPLESDuino(adv), ESPEasy, Tasmota, MQTT2Server, WU-Upload, TabletUI, Poolsteuerung fhem, Fronius, BYD Solaranlage

DS_Starter

#6936
Hallo dieter114,

ZitatAlso Modul FC hör einmal für xx Stunden auf zu arbeiten und dann geht es normal weiter?
Naja, das gibt es schon und heißt "disable=1"  ;)
Und auch ein "set ... attrKeyVal plantControl conEnergyHourLimit=X" kann verwendet werden um die Aufzeichnung des Energieverbrauchs für eine gewisse Zeit zu senken oder ganz auszuschalten (0).
Letzendlich muß das System in einer stochastischen Welt voller unvorhersehbarer Momente mit der Situation klarkommen.
Sonst könnte man auch sagen ... ich schalte jetzt mal die Waschmaschine an und dafür SF aus, denn SF konnte es ja nicht vorhersehen und soll deswegen nicht durcheinanderkommen.
Ist sicherlich übertrieben, aber ich denke du kannst nachvollziehen was ich damit andeuten will.

Im Prinzip ist es ein Kernproblem der Normierung. Einzelne sehr hohe Werte (keine Fehler) können einen ansonsten demgegenüber recht niedrigen Verbrauchsbereich dominieren, stellen also selbst den Wert 1 dar, die anderen Werte sammeln sich dann vllt. im Bereich 0 ... 0.2, wobei die Dynamik in diesem Bereich leicht verloren gehen kann.
Möglicherweise kann ich aber den Normierungsalgo noch etwas verbessern, mal schauen.



LG,
Heiko
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter