76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support

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

Vorheriges Thema - Nächstes Thema

DS_Starter

Hallo Peter,

langsamer lernt dein Netz jetzt, das siehst du an der Ausnutzung der möglichen Epochen.
Aber es muß noch etwas anderes geben.
Expandiere auch die anderen Sektionen Modellparamter bis Rauschen und poste das mal.
Vllt. fällt dann noch etwas auf.
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

peterboeckmann

#6226
Hallo Heiko,

Zitat von: DS_Starter am 22 Mai 2026, 20:04:41Expandiere auch die anderen Sektionen Modellparamter bis Rauschen und poste das mal.
Vllt. fällt dann noch etwas auf.

Sehr gerne.

Vielleicht vorab noch der Hinweis, dass gelegentlich ein BEV geladen wird sowie mein attr aiControl:
aiTrainStart=3 aiStorageDuration=18250 aiTreesPV=30
aiConActivate=1
aiConProfile=v1_common_active
aiConHiddenLayers=40-20-10
aiConShuffleMode=1
aiConBitFailLimit=0.34
aiConAlpha=0.7
aiConMomentum=0.9
aiConLearnRate=0.001

Bewertungsüberblick:
Trainingsbewertung: ok (ok)
Lernverhalten: overfit gesundes Lernverhalten (21.4 % Epochenausnutzung)
Einstellhinweise:
Trainingsdaten wurden auswendig gelernt statt allgemeine Muster zu erkennen (Fehler auf unbekannten Testdaten 53.9 % höher als auf Trainingsdaten): Trainings-/Testaufteilung von 80/20 auf 70/30 ändern und/oder Lernrate (aiControl->aiConLearnRate) um Faktor 2 reduzieren damit das Netz langsamer und allgemeiner lernt

Rauschen Bewertung: merkliches Rauschen, Interpretation mit Vorsicht (borderline)
Drift Bewertung: fresh_model
Empfehlung für Retrain: keine

Modellparameter:
Normierungsgrenzen: PV=13640 Wh, Hausverbrauch: Min=0 Wh / Max=13733 Wh
Trainingsdaten: 9555 Datensätze (Training=7644, Validation=1911)
Architektur: Inputs=61, Hidden Layers=40-20-10, Outputs=1
Hyperparameter: Learning Rate=0.001, Momentum=0.9, BitFail-Limit=0.34
Aktivierungen: Hidden=SIGMOID, Steepness=0.9, Output=LINEAR
Trainingsalgorithmus: INCREMENTAL, Registry Version=v1_common_active
Zufallsgenerator: Mode=1, Period=10
Modellalter: 2 h

Trainingsmethoden:
bestes Modell bei Epoche: 3204 (max. 15000)
Training MSE: 0.000321
Validation MSE: 0.000697
Validation MSE Average: 0.000714
Validation MSE Standard Deviation: 0.000012
Validation Bit_Fail: 0
Model Bias: 159 Wh
Model Slope: 0.85
Trainingsbewertung: ok

Fehlerrate der Prognosen:
MAE: 210.92 Wh
MedAE: 135.05 Wh
RMSE: 259.10 Wh
RMSE relative: 35 %
RMSE Rating: good
MAPE: 77.10 %
MdAPE: 17.10 %
R²: 0.88

Rauschen:
Rauschen Bewertung: borderline
Empfehlung für Bit_Fail: 0.34 (Einstellung von aiControl->aiConBitFailLimit)

Drift-Kennzahlen:
Analysefenster: - h
Drift RMSE Ratio: -
Semantic Ratio: -
Slope Reference: 0.85
Slope Live: -
Slope Drift: 1
Bias Reference: 159
Bias Live: -
Bias Drift: 0
Score: -
Index: -
Drift Bewertung: fresh_model
Empfehlung für Retrain: keine
letzte Rekalibrierung: -

Viele Grüße,
Peter
MQTT,Modbus,HTTPMod,DbLog,LaCrosse,SolarForecast,TelegramBot,Twilight,vitoconnect,withings
fhem,fhempy,debmatic
Debian
RaspberryPi5,HomeMatic,HomeMaticIP,Shelly,JeeLink,SignalDuino,ZWDongle,SONOS,alexa,Hue,tradfri,MobileAlerts,Siemens Home Connect,Roborock S50,Wallbox,Harmony,Tuya Smartlife

DS_Starter

Hallo Peter,

ein Großteil der Problematik liegt mit ziemlicher Sicherheit am BEV, da ich noch kein Profil und auch keine Elemente für BEV eingebaut habe.
Ein Zeichen dafür ist die Diskrepanz zwischen MAPE=77.10 % und MdAPE=17.10 %. Der Median von 17 % ist eigentlich gut – aber Ausreißer reißen den Mittelwert auf 77 % hoch.

MAPE (Mean Absolute Percentage Error) → relative Abweichung in %
   Richtwerte:
   < 10 % → sehr gut - Modell liegt fast immer sehr nah an den echten Werten
   10–20 % → gut - Prognosen sind solide, kleine Abweichungen sind normal
   20–30 % → mittelmäßig / akzeptabel - Modell ist brauchbar, aber nicht präzise – für grobe Trends ok
   > 30 % → schwach - Modell verfehlt die Werte deutlich, oft durch Ausreißer oder fehlende Features
   ⚠️ Vorsicht: bei kleinen Werten (<200 Wh) kann MAPE stark verzerren → MdAPE heranziehen

MdAPE (Median Absolute Percentage Error) → Median der prozentualen Fehler in % (robuster gegenüber kleinen Werten)
   Richtwerte:
   < 10 % → sehr gut
   10–20 % → gut
   20–30 % → mittelmäßig
   > 30 % → schwach

Mit MAPE=77 sind wir hier -> > 30 % → schwach - Modell verfehlt die Werte deutlich, oft durch Ausreißer oder fehlende Features.

Fehlende Features deuten stark auf die fehlende BEV Intergration im Training hin. Verstärkt würde dieser Effekt wenn du sonst einen eher etwas geringen Hausverbrauch pro Stunde hast?

Konkrete Empfehlung um das Problem abzuschwächen:
- Steepness von 0.9 auf 0.5–0.7 reduzieren (aiConSteepness)
- Architektur auf z. B. 30-15-8 oder 20-10 reduzieren (aiConHiddenLayers)

- evtl. als zusätzlichen Schritt einen anderen Algo ausprobieren -> aiConTrainAlgo=RPROP

Die fehlenden Features kommen erst ins Training wenn ich ein BEV-Profil einbaue.

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