Site menu:

Sprache auf englisch umschalten

cNORM - Modellierung


Der eigentliche Modellierungsprozess besteht nun darin, ein Regressionsmodell zu finden, das die ursprünglichen Daten so genau wie möglich, aber mit so wenigen Prädiktoren wie möglich abbildet. Gleichzeitig sollen die Daten so stark wie möglich von Normierungsfehlern gesäubert werden, die durch den Zufallsprozess bei der Datenerhebung und eventuell auch durch kleine Abweichungen von der Repräsentativität in einzelnen Stufen der Gruppenvariable zustande kommen. Dies wird durch die 'bestModel'-Funktion gemacht. Man kann diese Funktion auf zwei verschiedene Arten verwenden: Entweder man gibt vor, wie hoch der Anteil aufgeklärter Varianz (Radjusted2) mindestens sein soll. Dann wird diejenige Regressionsfunktion ausgewählt, die diese Anforderung mit der geringsten Anzahl an Prädiktoren erreicht. Oder man spezifiziert eine feste Anzahl an Prädiktoren. Dann wird dasjenige Modell ausgewählt, welches mit dieser Spezifikation die höchste Varianzaufklärung erreicht. Zur Ermittlung des jeweils besten Modells nutzt cNORM die 'regsubset'-Funktion aus dem 'leaps' package. Da vorab i. d. R. nicht bekannt ist, wie gut sich die Daten insgesamt modellieren lassen, beginnt man am besten mit den standardmäßig eingestellten Parametern (k = 4 and Radjusted2 = .99):

model <- bestModel(normData)

Die Funktion gibt die folgenden Ergebnisse zurück:

Final solution: 3
R-Square Adj. amounts to 0.990812753080448
Final regression model: raw ~ L3 + L1A1 + L3A3
Beta weights are accessible via 'model$coefficients':

(Intercept)

L3

L1A1

L3A3

-1.141915e+01

2.085614e-05

1.651765e-01

-5.911150e-07


Regression formula:
[1] "raw ~ -11.4191452286606 + (2.08561440071111e-05*L3) + (0.165176532450589*L1A1) + (-5.9111502682762e-07*L3A3)"

Use 'plotSubset(model)' to inspect model fit

Glücklicherweise wird bereits jetzt die vorgegebene Schwelle von Radjusted2 = .99 überschritten, und zwar mit nur drei Prädiktoren (plus Intercept). Die Funktion 'bestModel' gibt auch alle einzelnen Koeffizienten sowie die komplette Regressionsformel zurück. Letztere klärt in diesem Fall, wie bereits erwähnt, mehr als 99% der gesamten Datenvarianz auf.

Alle Informationen über die Modellselektion können unter 'model$subsets' abgerufen werden. Der Prozess der Variablenselektion wird Schritt für Schritt in 'outmat' und 'which' aufgelistet. Dort findet man R2, Radjusted2, Mallow's Cp und BIC. Die Regressionskoeffizienten für das selektierte Modell ('model$coefficients') sind ebenso verfügbar wie die angepassten Werte ('model$fitted.values') und alle weiteren Informationen. Eine Tabelle mit den entsprechenden Informationen kann mithilfe des folgenden Codes gedruckt werden:

printSubset(model)

Weiterhin kann Information über die Veränderung von Radjusted und anderer Informationskriterien (Mallow's Cp oder BIC) durch Hinzunahme weiterer Prädiktoren bei gegebenem k auch grafisch inspiziert werden. Verwenden Sie hierfür den folgenden Befehl:

plotSubset(model, type = 0)

In der Grafik wird standardmäßig Radjusted2 über der Anzahl an Prädiktoren ausgegeben. Alternativ kann auch Mallow's Cp in logarithmierter Form (type = 1) oder BIC (type = 2) über Radjusted2 aufgetragen werden.

Man sieht an dieser Grafik, dass der voreingestellte Wert von Radjusted = .99 bereits mit nur drei Prädiktoren erreicht wird. Die Hinzunahme weiterer Prädiktoren führt hingegen nur zu kleinen Steigerungen von Radjusted bzw. zu kleinen Verringerungen von Mallow's Cp. Ab der Stelle, ab der die eingezeichneten Punkte nah beieinander liegen, bringt also die Hinzunahme weiterer Prädiktoren nur wenig Nutzen. Um eine Überanpassung zu vermeiden, sollte deshalb aus diesem Bereich ein Modell mit möglichst wenigen Prädiktoren gewählt werden.

Das Modell mit drei Prädiktoren scheint also geeignet zu sein. Trotzdem muss das auf diese Weise gefundene Modell noch weiter mit den in Modellvalidierung beschriebenen Mitteln auf Plausibilität getestet werden. Vor allem ist es notwendig, die Grenzen der Modellgültigkeit zu ermitteln. Falls sich ein Modell nach dieser Prüfung doch als suboptimal herausstellt, sollten Radjusted2, die Anzahl an Prädiktoren oder gegebenenfalls auch k anders gewählt werden.



Datenaufbereitung
Modellvalidierung