Freigeben über


Beispiele für lineare Regressionsmodellabfrage

Gilt für: SQL Server 2019 und früheren Analysis Services Azure Analysis Services Fabric/Power BI Premium

Wichtig

Data Mining wurde in SQL Server 2017 Analysis Services als veraltet eingestuft und wurde jetzt in SQL Server 2022 Analysis Services eingestellt. Die Dokumentation wird für veraltete und eingestellte Features nicht aktualisiert. Weitere Informationen finden Sie unter Abwärtskompatibilität von Analysis Services.

Beim Erstellen einer Abfrage für ein Data Mining-Modell können Sie eine Inhaltsabfrage erstellen, die Details über die bei der Analyse ermittelten Muster liefert. Alternativ dazu können Sie auch eine Vorhersageabfrage erstellen, die Vorhersagen für neue Daten anhand der im Modell befindlichen Muster vornimmt. Eine Inhaltsabfrage stellt beispielsweise zusätzliche Details über die Regressionsformel zur Verfügung, während eine Vorhersageabfrage Aufschluss darüber gibt, ob ein neuer Datenpunkt in das Modell passt. Mit einer Abfrage können Sie auch Metadaten zum Modell abrufen.

In diesem Abschnitt wird erläutert, wie Abfragen für Modelle erstellt werden, die auf dem Microsoft Linear Regression-Algorithmus basieren.

Hinweis

Da die lineare Regression auf einem Sonderfall des Microsoft Decision Trees-Algorithmus basiert, gibt es einige Ähnlichkeiten. Einige Entscheidungsstrukturmodelle, die kontinuierliche vorhersagbare Attribute verwenden, können Regressionsformeln enthalten. Weitere Informationen finden Sie unter Technische Referenz für den Microsoft Decision Trees-Algorithmus.

Inhaltsabfragen

Verwenden des Data Mining-Schemarowsets zur Ermittlung der für ein Modell verwendeten Parameter

Verwenden von DMX zur Ermittlung der Regressionsformel für das Modell

Zurückgeben des Koeffizienten für das Modell

Vorhersageabfragen

Vorhersagen von Einkommen mit einer SINGLETON-Abfrage

Verwenden von Vorhersagefunktionen mit einem Regressionsmodell

Suchen nach Informationen über das lineare Regressionsmodell

Die Struktur eines linearen Regressionsmodells ist äußerst einfach. Das Miningmodell repräsentiert die Daten als einzelnen Knoten, der die Regressionsformel definiert. Weitere Informationen finden Sie unter Miningmodellinhalt für logistische Regressionsmodelle (Analysis Services – Data Mining).

Zurück zum Anfang

Beispielabfrage 1: Verwenden des Data Mining-Schemarowsets zur Ermittlung der für ein Modell verwendeten Parameter

Metadaten für das Modell finden Sie, indem Sie das Data Mining-Schemarowset abfragen. Dazu gehören beispielsweise das Erstellungsdatum des Modells, das Datum der letzten Verarbeitung, der Name der Miningstruktur, auf der das Modell basiert, und der Name der als vorhersagbares Attribut verwendeten Spalte. Sie können auch die Parameter zurückgeben, die beim ersten Erstellen des Modells verwendet wurden.

SELECT MINING_PARAMETERS   
FROM $system.DMSCHEMA_MINING_MODELS  
WHERE MODEL_NAME = 'TM_PredictIncome'  

Beispielergebnisse:

MINING_PARAMETERS
COMPLEXITY_PENALTY=0.9,

MAXIMUM_INPUT_ATTRIBUTES=255,

MAXIMUM_OUTPUT_ATTRIBUTES=255,

MINIMUM_SUPPORT=10,

SCORE_METHOD=4,

SPLIT_METHOD=3,

FORCE_REGRESSOR=

Hinweis

Die Parametereinstellung "FORCE_REGRESSOR = " gibt an, dass der aktuelle Wert für den FORCE_REGRESSOR-Parameter NULL ist.

Zurück zum Anfang

Beispielabfrage 2: Abrufen der Regressionsformel für das Modell

Die folgende Abfrage gibt den Miningmodellinhalt für ein lineares Regressionsmodell zurück, das mit der Targeted Mailing-Datenquelle erstellt wurde, die bereits im Basic Data Mining Tutorialverwendet wurde. Dieses Modell sagt das Kundeneinkommen basierend auf dem Alter vorher.

Die Abfrage gibt den Inhalt des Knotens zurück, der die Regressionsformel enthält. Jede Variable und jeder Koeffizient wird in einer separaten Zeile der geschachtelten NODE_DISTRIBUTION-Tabelle gespeichert. Wenn Sie die vollständige Regressionsformel anzeigen möchten, verwenden Sie den Microsoft-Struktur-Viewer, klicken Sie auf den Knoten (Alle), und öffnen Sie die Mininglegende.

SELECT FLATTENED NODE_DISTRIBUTION as t  
FROM LR_PredictIncome.CONTENT  

Hinweis

Wenn Sie auf einzelne Spalten der geschachtelten Tabelle durch Verwenden einer Abfrage wie SELECT <column name> from NODE_DISTRIBUTIONverweisen, müssen einige Spalten, wie SUPPORT oder PROBABILITY, in Klammern eingeschlossen werden, um sie von den gleichnamigen reservierten Schlüsselwörtern zu unterscheiden.

Erwartete Ergebnisse:

T.ATTRIBUTE_NAME t.ATTRIBUTE_VALUE t.SUPPORT t.PROBABILITY t.VARIANCE t.VALUETYPE
Yearly Income Missing 0 0.000457142857142857 0 1
Yearly Income 57220.8876687257 17484 0.999542857142857 1041275619.52776 3
Age 471.687717702463 0 0 126.969442359327 7
Age 234.680904692439 0 0 0 8
Age 45.4269617936399 0 0 126.969442359327 9
35793.5477381267 0 0 1012968919.28372 11

In Vergleich dazu wird die Regressionsformel in der Mininglegendewie folgt angezeigt:

Yearly Income = 57,220.919 + 471.688 * (Age - 45.427)

In der Mininglegendesind einige Zahlen gerundet. Die NODE_DISTRIBUTION-Tabelle und die Mininglegende enthalten im Wesentlichen jedoch die gleichen Werte.

Die Werte in der VALUETYPE-Spalte geben Aufschluss über die Art der in jeder Zeile enthaltenen Informationen. Dies ist nützlich, wenn Sie die Ergebnisse programmgesteuert verarbeiten. In der folgenden Tabelle werden die Werttypen, die für eine lineare Regressionsformel ausgegeben werden, angezeigt.

VALUETYPE
1 (Missing)
3 (Continuous)
7 (Koeffizient)
8 (Score Gain)
9 (Statistik)
7 (Koeffizient)
8 (Score Gain)
9 (Statistik)
11 (Intercept)

Weitere Informationen zur Bedeutung der einzelnen Werttypen für Regressionsmodelle finden Sie unter Miningmodellinhalt für lineare Regressionsmodelle (Analysis Services – Data Mining)..

Zurück zum Anfang

Beispielabfrage 3: Zurückgeben des Koeffizienten für das Modell

Mit der VALUETYPE-Enumeration können Sie nur den Koeffizienten für die Regressionsgleichung zurückgeben, wie in der folgenden Abfrage veranschaulicht:

SELECT FLATTENED MODEL_NAME,  
    (SELECT ATTRIBUTE_VALUE, VALUETYPE  
     FROM NODE_DISTRIBUTION  
     WHERE VALUETYPE = 11)   
AS t  
FROM LR_PredictIncome.CONTENT  

Mit dieser Abfrage werden zwei Zeilen zurückgegeben, eine Zeile aus dem Miningmodellinhalt und die Zeile der geschachtelten Tabelle, die den Koeffizienten enthält. Die Spalte ATTRIBUTE_NAME ist hier nicht eingeschlossen, da sie für den Koeffizienten stets leer ist.

MODEL_NAME t.ATTRIBUTE_VALUE t.VALUETYPE
LR_PredictIncome
LR_PredictIncome 35793.5477381267 11

Zurück zum Anfang

Treffen von Vorhersagen aus einem linearen Regressionsmodell

Mit der Registerkarte Miningmodellvorhersage im Data Mining-Designer können Sie Vorhersageabfragen für lineare Regressionsmodelle erstellen. Der Generator für Vorhersageabfragen ist sowohl in SQL Server Management Studio als auch in SQL Server Data Tools verfügbar.

Hinweis

Sie können Auch Abfragen für Regressionsmodelle erstellen, indem Sie die SQL Server 2005 (9.x) Data Mining-Add-Ins für Excel oder die SQL Server 2008 Data Mining-Add-Ins für Excel verwenden. Obwohl die Data Mining-Add-Ins für Excel keine Regressionsmodelle erstellen, können Sie jedes Miningmodell durchsuchen und abfragen, das auf einer instance SQL Server Analysis Services gespeichert ist.

Zurück zum Anfang

Beispielabfrage 4: Vorhersagen von Einkommen mit einer SINGLETON-Abfrage

Die einfachste Möglichkeit zum Erstellen einer einzelnen Abfrage für ein Regressionsmodell bietet das Dialogfeld SINGLETON-Abfrageeingabe . Sie können die folgende DMX-Abfrage erstellen, indem Sie das entsprechende Regressionsmodell auswählen und anschließend Singleton-Abfrageauswählen. Geben Sie anschließend den Wert 20 für Ageein.

SELECT [LR_PredictIncome].[Yearly Income]  
From   [LR_PredictIncome]  
NATURAL PREDICTION JOIN  
(SELECT 20 AS [Age]) AS t  

Beispielergebnisse:

Yearly Income
45227.302092176

Zurück zum Anfang

Beispielabfrage 5: Verwenden von Vorhersagefunktionen mit einem Regressionsmodell

Sie können viele der Standardvorhersagefunktionen mit linearen Regressionsmodellen verwenden. Im folgenden Beispiel wird veranschaulicht, wie den Vorhersageabfrageergebnissen einige aussagekräftige statistische Daten hinzugefügt werden. Aus diesen Ergebnissen ist ersichtlich, dass es eine beträchtliche Abweichung vom Mittelwert für dieses Modell gibt.

SELECT  
  ([LR_PredictIncome].[Yearly Income]) as [PredIncome],  
  (PredictStdev([LR_PredictIncome].[Yearly Income])) as [StDev1]  
From  
  [LR_PredictIncome]  
NATURAL PREDICTION JOIN  
(SELECT 20 AS [Age]) AS t  

Beispielergebnisse:

Yearly Income StDev1
45227.302092176 31827.1726561396

Zurück zum Anfang

Liste der Vorhersagefunktionen

Alle Microsoft-Algorithmen unterstützen einen gemeinsamen Satz von Funktionen. Der Microsoft Linear Regression-Algorithmus unterstützt jedoch die zusätzlichen Funktionen, die in der folgenden Tabelle aufgeführt sind.

Vorhersagefunktion Verbrauch
IsDescendant (DMX) Bestimmt, ob ein Knoten ein untergeordnetes Element eines anderen Knotens im Modell ist.
IsInNode (DMX) Zeigt an, ob der angegebene Knoten den aktuellen Fall enthält.
PredictHistogram (DMX) Gibt einen vorhergesagten Wert oder eine Gruppe von Werten für eine angegebene Spalte zurück.
PredictNodeId (DMX) Gibt "Node_ID" für jeden Fall zurück.
PredictStdev (DMX) Gibt die Standardabweichung für den prognostizierten Wert zurück.
PredictSupport (DMX) Gibt den Unterstützungswert für einen bestimmten Status zurück.
PredictVariance (DMX) Gibt die Varianz einer angegebenen Spalte zurück.

Eine Liste der Funktionen, die allen Microsoft-Algorithmen gemeinsam sind, finden Sie unter Data Mining-Algorithmen (Analysis Services – Data Mining). Weitere Informationen zur Verwendung dieser Funktionen finden Sie unter Data Mining Extensions (DMX)-Funktionsreferenz.

Weitere Informationen

Microsoft Linear Regression-Algorithmus
Data Mining-Abfragen
Technische Referenz für den Microsoft Linear Regression-Algorithmus
Miningmodellinhalt von linearen Regressionsmodellen (Analysis Services – Data Mining)