regression

logisticLackfit

Beschreibung

Berechnet den Hosmer-Lemeshow-Anpassungstest für ein logistisches Regressionsmodell. Dieser Test bewertet die Übereinstimmung zwischen den beobachteten und den vom Modell vorhergesagten Werten, indem die Daten basierend auf den vorhergesagten Wahrscheinlichkeiten in Gruppen aufgeteilt werden.

regression.logisticLackfit { binEps=double, cutpt=double | {double-1, double-2, ...}, df=double, dfReduce=integer, display={displayTables}, nGroups=integer, noncentrality=double, outputTables={outputTables}, powerAdj=TRUE | FALSE, restore={castable}, table={castable} };
Einstellungen
ParameterBeschreibung
binEpsGibt die Genauigkeit der vorhergesagten Wahrscheinlichkeiten an, die für die Klassifizierung verwendet werden.
cutptGibt die Trennpunkte für die Hosmer-Lemeshow-Partitionen an.
dfGibt die Freiheitsgrade an, die für den Hosmer-Lemeshow-Test verwendet werden sollen.
dfReduceGibt die Reduzierung der Freiheitsgrade für den Hosmer-Lemeshow-Test an.
displayGibt eine Liste von Ergebnistabellen an, die zur Anzeige an den Client gesendet werden sollen.
nGroupsGibt die maximale Anzahl von Gruppen an, die für den Hosmer-Lemeshow-Test erstellt werden sollen.
noncentralityGibt den Nichtzentralitätsparameter für den Hosmer-Lemeshow-Test an.
outputTablesListet die Namen der Ergebnistabellen auf, die als CAS-Tabellen auf dem Server gespeichert werden sollen.
powerAdjWenn auf True gesetzt, passt die Anzahl der Gruppen an, damit der Hosmer-Lemeshow-Test seine Trennschärfe beibehalten kann.
restoreStellt Regressionsmodelle aus einem Binär-Großobjekt (BLOB) wieder her.
tableGibt die Eingabedatentabelle an.
Erstellung der Beispieldaten

Erstellt eine Beispieltabelle 'getheart' in CAS, um die logistische Regression durchzuführen. Diese Tabelle enthält Daten über den Gesundheitszustand von Patienten und wird verwendet, um die Anfälligkeit für Herzerkrankungen zu modellieren.

Kopiert!
1DATA getheart;
2 INFILE DATALINES;
3 INPUT STATUS $ Age Weight;
4 DATALINES;
5Dead 50 210
6Alive 60 170
7Dead 55 220
8Alive 65 160
9Dead 45 200
10Alive 58 175
11Dead 68 230
12Alive 70 150
13Dead 48 205
14Alive 62 165
15;
16PROC CASUTIL; load DATA=getheart outcaslib=casuser casout='getheart' replace; RUN;

Beispiele

Dieses Beispiel zeigt die grundlegende Verwendung der Aktion `logisticLackfit`. Zuerst wird ein logistisches Regressionsmodell mit der Aktion `logistic` angepasst und in einem Item-Store gespeichert. Anschließend wird `logisticLackfit` verwendet, um den Hosmer-Lemeshow-Anpassungstest für das gespeicherte Modell durchzuführen, wobei die Standardanzahl von 10 Gruppen verwendet wird.

SAS® / CAS-Code Code wartet auf Validierung durch die Community
Kopiert!
1PROC CAS;
2regression.logistic TABLE='getheart' class={'Status'} model={depvar='Status', effects={'Age', 'Weight'}} store={name='myModel', replace=true};
3RUN;
4regression.logisticLackfit TABLE='getheart' restore='myModel';
5RUN;
6QUIT;
Ergebnis :
Die Ausgabe enthält die Tabelle 'LackfitPartition', die die 10 Partitionen für den Hosmer-Lemeshow-Test detailliert, und die Tabelle 'LackfitChiSq', die die Chi-Quadrat-Statistik, die Freiheitsgrade und den p-Wert für den Test anzeigt, um die Anpassungsgüte des Modells zu bewerten.

Dieses Beispiel erweitert das einfache Beispiel, indem es den Parameter `nGroups` verwendet, um die Anzahl der Gruppen für den Hosmer-Lemeshow-Test auf 8 festzulegen. Dies ermöglicht eine feinere Kontrolle über die Partitionierung der Daten für den Anpassungstest.

SAS® / CAS-Code Code wartet auf Validierung durch die Community
Kopiert!
1PROC CAS;
2regression.logistic TABLE='getheart' class={'Status'} model={depvar='Status', effects={'Age', 'Weight'}} store={name='myModel', replace=true};
3RUN;
4regression.logisticLackfit TABLE='getheart' restore='myModel' nGroups=8;
5RUN;
6QUIT;
Ergebnis :
Ähnlich wie im einfachen Beispiel werden die Tabellen 'LackfitPartition' und 'LackfitChiSq' erzeugt. Die 'LackfitPartition'-Tabelle wird jedoch 8 Gruppen anstelle der standardmäßigen 10 anzeigen, und die Chi-Quadrat-Statistik wird basierend auf dieser neuen Gruppierung neu berechnet.

Anstatt die Anzahl der Gruppen anzugeben, definiert dieses Beispiel explizit die Trennpunkte für die vorhergesagten Wahrscheinlichkeiten mit dem Parameter `cutpt`. Dies bietet maximale Kontrolle darüber, wie die Beobachtungen für den Hosmer-Lemeshow-Test gruppiert werden.

SAS® / CAS-Code Code wartet auf Validierung durch die Community
Kopiert!
1PROC CAS;
2regression.logistic TABLE='getheart' class={'Status'} model={depvar='Status', effects={'Age', 'Weight'}} store={name='myModel', replace=true};
3RUN;
4regression.logisticLackfit TABLE='getheart' restore='myModel' cutpt={0.1, 0.25, 0.5, 0.75, 0.9};
5RUN;
6QUIT;
Ergebnis :
Die 'LackfitPartition'-Tabelle wird basierend auf den angegebenen Trennpunkten (0.1, 0.25, 0.5, 0.75, 0.9) erstellt, was zu 6 Gruppen führt. Die 'LackfitChiSq'-Tabelle berechnet den Anpassungstest basierend auf diesen spezifischen Partitionen.

FAQ

Was ist die Aktion logisticLackfit?
Wofür wird der Parameter 'nGroups' verwendet?
Was bewirkt der Parameter 'cutpt'?
Welchen Zweck hat der Parameter 'dfReduce'?
Muss ich die Eingabetabelle angeben?