Site menu:

Sprache auf englisch umschalten

cNORM - Troubleshooting und Frequently Asked Questions



cNORM funktioniert in vielen Anwendungsszenarien "out of the box", v. a. bei einer hinreichend großen Datenmenge und einer genügend großen Varianzaufklärung der explanatorischen Variablen (also beispielsweise einem deutlichen Alterstrend). Es gibt jedoch auch Fälle, die schwieriger zu handhaben sind. Wir raten in jedem Fall dazu, die generierten Lösungen auf Plausibilität zu prüfen und die Parameter falls nötig "manuell" nachzujustieren. Ähnlich wie bei Faktorenanalysen ist die Modellauswahl ein mehrstufiger Prozess, bei dem i. d. R. verschiedene Modelle durchgerechnet und hinsichtlich unterschiedlicher Gütekriterien miteinander verglichen werden müssen. Im Fall von cNorm gibt es vor allem drei Gütekriterien, nämlich die Varianzaufklärung, die Einfachheit des Modells sowie die Modellplausiblität bzw. -konsistenz. Letztere muss in der Regel vor allem an den Modellrändern beachtet werden.

Kurz zusammengefasst:

  1. Ein Powerparameter von k = 4 ist für fast alle Anwendungszwecke ausreichend.
  2. Modelle mit einer geringen Anzahl an Termen (z. B. 'terms = 4' bis 'terms = 10' in 'bestModel') sind am robustesten und sie erbringen in Kreuzvalidierungen in der Regel die besten Ergebnisse. Vermeiden Sie Modelle mit vielen Termen und nehmen Sie stattdessen lieber ein etwas geringeres R2 in Kauf.
  3. Inspizieren Sie nach einer ersten Modellberechnung die Informationsfunktionen der Modelle ('plotSubset') und die Perzentillinien ('plotPercentiles' und 'plotPercentileSeries'). Berechnen sie in einem zweiten Schritt noch einmal das Modell mit denjenigen Parametern (also z. B. einer bestimmten Anzahl an Termen bei gegebenem k), die Sie zuvor als optimal bestimmt haben.
  4. Bei einem Datensatz mit vielen fein abgestuften Altersgruppen mit kleinen Stichproben kann es günstiger sein, die Altersgruppen zu breiteren Intervallen zusammenzulegen.



1. Perzentillinien überschneiden sich

Bei der Modellierung kann es v. a. in den Extrembereichen, bei starken Boden- oder Deckeneffekten oder im Fall einer Überanpassung zu inkonsistenten Modellen kommen. Diese äußern sich beispielsweise darin, dass sich die Linien der Perzentile überschneiden ('plotPercentiles') oder dass in der Modellierung eine entsprechende Warnung ausgegeben wird ('checkConsistency').

Mögliche Lösungen:

# Darstellung der Perzentile

plotPercentiles(data, model) # Darstellung des aktuellen Modells
plotPercentileSeries(data, model) # Darstellung einer Reihe an Modellen



2. Umgang mit Kovariaten

Die Frage, ob man für verschiedene Personengruppen einer Population (z. B. Männer versus Frauen, Personen mit hoher versus niedriger Bildung ...) getrennte Normen generieren sollte, geht über die rein statistische Modellierbarkeit der Daten hinaus. Bitte überlegen Sie, ob eine solche Unterscheidung für Ihren Anwendungszweck überhaupt sinnvoll ist oder nicht.

Mögliche Lösungen:

# Einbezug einer Kovariaten am Beispiel der PPVT4-Daten
# (1 = Jungen, 2 = Mädchen)

data1 <- rankByGroup(PPVT, group="group", raw="raw", covariate="sex")
data1 <- computePowers(data1)
model <- bestModel(data1)
plotPercentile(data1, model, covariate = 1) # Ausprägung der Kovariaten muss angegeben werden

# Häufig setzen sich Kovariaten in der Modellierung nicht durch und
# werden aussortiert. Aufnahme der Kovariaten und aller Interaktionen
# in das Model erzwingen (was aber zu instabilen Modellen führen
# könnte):

model <- bestModel(data1, force.in = c("COV", "L1COV", "A1COV", "L1A1COV"))


# Basierend auf Ihren theoretisch motivierten Erwartungen zum Einfluss der
# Kovariaten, können Sie auch spezifische Terme der Kovariaten spezifizieren,
# z. B. einen linearen Term und die Dreifachinteraktion:

model <- bestModel(data1, force.in = c("COV", "L1A1COV"))


# Darstellung der Modelle nebeneinander:

c(plotPercentiles(data1, model, covariate = 1),
plotPercentiles(data1, model, covariate = 2))



3. Notwendige Fallzahl für Modellierungen

Unsere Simulationen weisen darauf hin, dass ab einer Gruppengröße von 50 Fällen pro Altersgruppe sehr reliable Modelle berechnet werden können (siehe Abbildung), vielleicht auch darunter. Wichtiger als eine besonders große Fallzahl ist bei cNorm, dass die Gesamtstichprobe möglichst repräsentativ ist. (Bitte beachten Sie, dass Stichproben mit steigender Fallzahl nicht automatisch repräsentativer werden!) Wird die Fallzahl allerdings zu klein gewählt, dann reduziert sich nicht nur die Power der angewandten statistischen Verfahren, sondern es wird auch schwierig, die Stichprobe hinsichtlich aller relevanten Merkmale zu stratifizieren. Zudem spielt auch die Anzahl an Altersgruppen und die Stärke des Einflusses der explanatorischen Variablen eine Rolle.


Comparison of cNORM and Conventional Norming in Dependence of Number of Items per Scale and Sample Size per Age Group

cNORM ist zwar in der Lage, kleinere Verletzungen der Repräsentativität oder geringe Fallzahlen in einzelnen Altersgruppen teilweise zu kompensieren, da die Modelle auf der Basis des gesamten Datensatzes berechnet werden. Dennoch sollte bei der Normierung eines Testverfahrens auf eine sehr hochwertige Datengrundlage geachtet werden.

Mögliche Lösung:



4. Geringe Varianzaufklärung der explantorischen Variablen

Seit Version 1.1.8 prüft cNORM in der Datenvorbereitung (Funktionen 'prepareData' und 'computePowers') automatisch mittels einer polynomialen Regression (bis zum Powerparameter k) den Anteil aufgeklärter Varianz durch die explanatorische Variable. Es werden also nicht nur lineare, sondern auch komplexere Zusammenhänge erfasst, üblicherweise bis zur vierten Potenz (Grundeinstellung). Liegt nur ein kleiner Zusammenhang zwischen der explanatorischen Variablen und den Rohwerten vor, so wirft cNORM eine Warnmeldung aus. Es stellt sich in diesem Fall die Frage, ob der Einbezug der explanatorischen Variablen in die Berechnung der Normen wirklich sinnvoll ist oder ob nicht beispielsweise eine einzelne Normtabelle ausreicht. Bei einer niedrigen Varianzaufklärung der explanatorischen Variablen kann es bisweilen vorkommen, dass die Modelle nicht sehr stabil sind und dass die voreingestellte Varianzaufklärung des Gesamtmodells von R2 = .99 nicht erreicht wird.

Mögliche Lösungen:



5. Stark mäandernde Perzentillinien in der Funktion 'plotPercentiles'


Mögliche Überanpassung

Das Modell weist wahrscheinlich einen Overfit auf, z. B. weil die Varianzaufklärung der explanatorischen Variable nicht sehr hoch ist, zu viele Prädiktoren verwendet wurden, die Skala generell nicht reliabel misst, starke Verletzungen der Repräsentativität in einzelnen Normgruppen vorliegen, usw... Meist ist es die Folge zu kleiner Fallzahlen in den Stichproben, wie z. B. im obigen Beispiel mit n ≤ 50. Möglicherweise kommt das cNORM-Package im konkreten Fall auch an die Grenze seiner Leistungsfähigkeit. Bitte beachten Sie die Lösungsvorschläge des vorangegangenen Punktes. Meist empfiehlt es sich, ein einfacher strukturiertes Modell mit weniger Termen zu verwenden.

Mögliche Lösungen:

Reuziert man im obigen Beispiel den k-Parameter auf k=3, ergibt sich folgendes Model:


Vermeidung einer Überanpassung


6. Modellierung einer kontinuierlichen Altersvariablen klappt nicht

Wenn Sie für die Datenvorbereitung die Funktion 'prepareData' verwenden und dabei sowohl eine Gruppierungsvariable, eine kontinuierliche Altersvariable als auch die Breite des Altersfensters (Parameter 'width') angeben, dann wird das Ranking mittels eines gleitenden Fensters vorgenommen. Sie können stattdessen auch die Funktion 'rankBySlidingWindow' und anschließend 'computePowers' verwenden. Damit die Modellierung funktionieren kann, muss allerdings die Gruppierungs- mit der Altersvariablen korrespondieren. Das bedeutet: Die Werte der Gruppierungsvariablen sollten das mittlere Alter der jeweiligen Altersgruppe wiederspiegeln.

Mögliche Lösungen:

# Erzeugung einer konsistenten Gruppierungsvariable mit
# beispielsweise 4 Gruppen auf der Basis des Alters

data1 <- rankBySlidingWindow(data, age=data$age, width = 1, nGroups = 4)



7. Können Fälle der Normierungsstichprobe gewichtet werden?

Sowohl beim Ranking als auch in der Modellberechnung mit 'bestModel' kann mit dem Parameter 'weights' eine Gewichtung der Fälle vorgenommen werden. cNORM beinhaltet mit computeWeights() eine Funktion zur Post-Stratifikation der Daten auf der Basis von Raking. Hierdurch kann der Effekt unbalancierter Normstichproben reduziert werden. Bitte beachten Sie hierzu die Vignette "Weighted regression".



Jamovi
Überblick