76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support

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

Vorheriges Thema - Nächstes Thema

peterboeckmann

Hallo Heiko,

Zitat von: DS_Starter am 05 März 2026, 19:24:32@Shadow3561, @peterboeckmann,

euch würde ich raten ein Training zunächst mit dem KI-Standardwerten auszuführen und dann erneut das Ergebnis zu bewerten.

das habe ich gestern abend mal mit folgender Konfiguration getan:
attr SolarForecast aiControl aiTrainStart=3 aiStorageDuration=18250 aiTreesPV=30 aiConActivate=1 aiConProfile=v1_common_active_pv
Das Bild der Verbrauchsprognose hat sich dabei nicht wirklich verbessert:

Du darfst diesen Dateianhang nicht ansehen.

Ich werde aus MAE und MedAE nicht wirklich schlau. Die liegen angeblich unter 200Wh. Der hier prognostizierte Verbrauch von 11 kWh nach Mitternacht ist unrealistisch und in der Vergangenheit auch gar nicht oder höchst selten vorgekommen.
Warum denkt das NN dann, dass die Vorhersage so genau ist (MAE: 180.37 Wh, MedAE: 79.75 Wh)?

Informationen zum neuronalen Netz der Verbrauchsvorhersage

letztes KI-Training: 05.03.2026 22:35:01 / Laufzeit in Sekunden: 1568
KI Abfragestatus: ok
letzte KI-Ergebnis Generierungsdauer: 19.72 ms
Verbrauchernummer Wärmepumpe: -

=== Modellparameter ===

Normierungsgrenzen: PV=11440 Wh, Hausverbrauch: Min=0 Wh / Max=15960 Wh
Trainingsdaten: 7691 Datensätze (Training=6152, Validation=1539)
Architektur: Inputs=69, Hidden Layers=80-40-20, Outputs=1
Hyperparameter: Learning Rate=0.005, Momentum=0.5, BitFail-Limit=0.35
Aktivierungen: Hidden=SIGMOID, Steepness=0.9, Output=LINEAR
Trainingsalgorithmus: INCREMENTAL, Registry Version=v1_common_active_pv
Zufallsgenerator: Mode=2, Period=10

=== Trainingsmetriken ===

bestes Modell bei Epoche: 2530 (max. 15000)
Training MSE: 0.000306
Validation MSE: 0.000402
Validation MSE Average: 0.000356
Validation MSE Standard Deviation: 0.000007
Validation Bit_Fail: 0
Model Bias: 159 Wh
Model Slope: 0.9
Trainingsbewertung: ok

=== Fehlermaße der Prognosen ===

MAE: 180.37 Wh
MedAE: 79.75 Wh
RMSE: 221.29 Wh
RMSE relative: 31 %
RMSE Rating: good
MAPE: 21.46 %
MdAPE: 11.16 %
R²: 0.92

=== Rauschen ===

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

=== Drift-Kennzahlen ===

Drift Score: 4.29
Drift RMSE ratio: 3.95
Drift Slope: 0.118
Drift Bias: 4.17
Drift Bewertung: none

Schade, dass ich die Begeisterung über die Genauigkeit der Verbrauchsprognose nicht teilen kann, die andere hier im Thread schon geäußert haben.

Vielleicht hat ja jemand einen Tipp (oder eine Art Leitfaden), wie ich bei der Konfiguration des NN am besten vorgehe?

Vielen Dank und viele Grüße,
Peter

TheTrumpeter

Zitat von: TheTrumpeter am 05 März 2026, 16:15:11Hab' grad einen Fehler in der Anzeige des "Rest-PV" Wertes in der Kopfzeile gefunden...

Der dort angezeigte Wert stimmt nicht mit der Summe der Balken-Werte überein, siehe Screenshot.
(Selbst wenn noch der ganze Wert von 16-18 Uhr verwendet würde und nicht nur anteilig ab 16:11 Uhr, ist es viel zu viel...)
Gerade wieder nachgerechnet...
Rest heute lt. Kopfzeile: 59438
Rest heute lt. Balken: 58060
Differenz ca. so groß wie die aktuelle Stunde, ev. wird die aktuelle Stunde doppelt berücksichtigt? 1x mit der kompletten Vorschau und 1x mit dem Rest der aktuellen Stunde? 59438 lt. Kopfzeile, 58060 lt. Balkensumme ab 07:00, Differenz=1378
Der Screenshot ist von 07:02, die Prognose für die aktuelle Stunde ist 1450. 1450 anteilig auf 58 Minuten ergeben 1401.
Gestern wäre die Differenz auch ungefähr der Restwert der aktuellen Stunde gewesen: 4636 lt. Kopfzeile, 2620 lt. Balkensumme, Differenz=2016
Der Screenshot war von 16:12, die Prognose für die aktuelle Stunde war 2520. 2520 anteilig auf 48 Minuten ergeben 2016Wh.

Beim Verbrauch scheint es ähnlich zu sein, wenngleich aufgrund der ähnlichen Stundenwerte nicht so klar ist ob die vergangene Stunde noch dabei ist oder die aktuelle Stunde annähernd doppelt. (6743 lt. Kopfzeile, 6413 lt. Balkensumme ab 07:00)
FHEM auf RPi3, THZ (LWZ404SOL), RPII2C & I2C_MCP342x (ADCPiZero), PowerMap, CustomReadings, RPI_GPIO, Twilight, nanoCUL (WMBus für Diehl Wasserzähler & Regenerationszähler für BWT AqaSmart), ESPEasy, TPLinkHS110