"Regressionsgleichung"
Business Intelligence/18. September 2023 -Aktualisiert am 29. September 2024/3 Min. Lesezeit
Power BI Vorhersage-Daten in Tabellen anzeigen: Lineare Regression in Power BI implementieren
Datengetriebene Vorhersagen sind interessant für viele Geschäftsbereiche
Power BI bietet neben vielfältigen Möglichkeiten für Datenvisualisierung und Reporting auch einige erweiterte Funktionalitäten zur Datenanalyse. Die datengetriebene Vorhersage von unbekannten Datenpunkten, z.B. die Fortführung von Zeitreihen-Daten, ist für viele Geschäftsbereiche interessant, da sie dabei helfen kann, fundierte Entscheidungen zu treffen, Kosten zu senken, Effizienz zu steigern und Wettbewerbsvorteile zu erlangen.
Power BI Built-In Forecasting
Diese Vorhersage- bzw. “Forecasting”-Features sind im “Analyse”-Bereich von Visuals des Typs “Liniendiagramm” zu finden. So kann beispielsweise ein Liniendiagramm erstellt werden, das neben den tatsächlichen Datenpunkten auch eine bestimmte Anzahl vorhergesagter Werte in einem definierten Intervall enthält. Leider ist dieses Feature aktuell nicht für andere Visuals verfügbar.
Forecasts in PowerBI flexibel selber berechnen
Im Folgenden wollen wir eine Möglichkeit zeigen, wie Vorhersagewerte selbst berechnet werden können. Sobald ein entsprechendes Measure vorliegt, kann es ganz einfach in beliebigen Visuals, z.B. Tabellen verwendet werden. Als Vorhersagemodell nutzen wir der Einfachheit halber das Verfahren der linearen Regression. Dabei wird versucht, eine Gerade durch die beobachteten Werte so zu legen, dass die Abweichung zu den Punkten möglichst klein ist (“Methode der kleinsten Quadrate”). Die Gerade wird beschrieben als:
In unserem Power BI-Beispiel nehmen wir an, dass unsere Datenquelle alle für das Reporting relevanten Werte für x enthält, also sowohl die Werte mit beobachteten Daten für die abhängige Variable y als auch die Werte, für die y vorhergesagt werden soll. Für b0 und b1 erstellen wir Measures anhand der folgenden Gleichungen:
"b0"
"b1"
DAX-Measures für b0 und b1
1b0 =
2 VAR sum_y =
3 CALCULATE(
4 SUM(Data[y]),
5 ALL(Data),
6 NOT(ISBLANK(Data[y]))
7 )
8
9 VAR sum_x_squared =
10 CALCULATE(
11 SUM(Data[x^2]),
12 ALL(Data),
13 NOT(ISBLANK(Data[y]))
14 )
15
16 VAR sum_x =
17 CALCULATE(
18 SUM(Data[x]),
19 ALL(Data),
20 NOT(ISBLANK(Data[y]))
21 )
22
23 VAR sum_xy =
24 CALCULATE(
25 SUM(Data[x*y]),
26 ALL(Data),
27 NOT(ISBLANK(Data[y]))
28 )
29
30 VAR n =
31 CALCULATE(
32 COUNT(Data[x]),
33 ALL(Data),
34 NOT(ISBLANK(Data[y]))
35 )
36
37RETURN
38 (sum_y * sum_x_squared - sum_x * sum_xy) /
39 (n * sum_x_squared - sum_x * sum_x)
1b1 =
2 VAR sum_y =
3 CALCULATE(
4 SUM(Data[y]),
5 ALL(Data),
6 NOT(ISBLANK(Data[y]))
7 )
8
9 VAR sum_x_squared =
10 CALCULATE(
11 SUM(Data[x^2]),
12 ALL(Data),
13 NOT(ISBLANK(Data[y]))
14 )
15
16 VAR sum_x =
17 CALCULATE(
18 SUM(Data[x]),
19 ALL(Data),
20 NOT(ISBLANK(Data[y]))
21 )
22
23 VAR sum_xy =
24 CALCULATE(
25 SUM(Data[x*y]),
26 ALL(Data),
27 NOT(ISBLANK(Data[y]))
28 )
29
30 VAR n =
31 CALCULATE(
32 COUNT(Data[x]),
33 ALL(Data),
34 NOT(ISBLANK(Data[y]))
35 )
36
37RETURN
38 (n * sum_xy - sum_x * sum_y) /
39 (n * sum_x_squared - sum_x * sum_x)
Damit können wir dann die Regressionsgleichung für unbekannte bzw. vorhergesagte y-Werte in einem weiteren Measure erstellen:
1y_predicted =
2 IF(
3 ISBLANK(
4 SELECTEDVALUE(Data[y])
5 ),
6 [b0] + [b1] * SELECTEDVALUE(Data[x]),
7 BLANK()
8 )
Die vorhergesagten Werte in Power BI-Visualisierungen einsetzen
Dieses Measure lässt sich bereits in Visualisierungen wie Tabellen nutzen, um die vorhergesagten Werte in Abhängigkeit von x-Werten anzuzeigen.

"Der PowerBI Built-In Forecast und die hier beschriebene Methode im Vergleich"
Sollen die tatsächlichen und die vorhergesagten y-Werte auf derselben Achse oder in derselben Tabellenspalte gezeigt werden, bietet es sich an, beide Werte in einem weiteren Measure zusammenzuführen:
1y or y_predicted =
2 IF(
3 ISBLANK(
4 SELECTEDVALUE(Data[y])
5 ),
6 [y_predicted],
7 SELECTEDVALUE(Data[y])
8 )

"Vorhergesagte Werte in einer Power BI-Tabelle"
Fazit
Mit der vorgestellten Methode können Vorhersagen flexibel in beliebigen Power BI-Visuals angezeigt werden. Der User hat die volle Kontrolle über das Modell und kann es gegebenenfalls weiter anpassen. Machbar sind auch weitere Features wie Konfidenzintervalle oder Saisonalitätsfaktoren.