Foutmelding bij multiple regressies in spss
Regelmatig krijg ik vragen in verband met een foutmelding bij het uitvoeren van multiple regressieanalyse in spss: Tolerance = ,000 limit reached. In deze post leg ik uit wat deze melding betekent, wat de gevolgen zijn voor de uitkomsten van de analyse en hoe je het probleem kunt ondervangen.
Oorzaak foutmelding tolerance limit reached
De foutmelding tolerance limit reached heeft te maken met het feit dat een dusdanige hoge mate van multicollineariteit is gevonden dat de regressieanalyse niet uitgevoerd kan worden.
Een belangrijke assumptie van een multiple regressie is dat er geen sprake is van multicollineariteit; de predictors in het regressiemodel mogen onderling niet te sterk samenhangen. Wanneer je bovengenoemde melding krijgt is er zelfs sprake van een (bijna) perfect verband tussen twee of meer predictoren, ook wel singulariteit genoemd.
Gevolg foutmelding tolerance limit reached
Als je de foutmelding Tolerance = ,000 limit reached krijgt wanneer je een multiple regressie uitvoert in spss, worden wel resultaten in de output weergegeven. Hierdoor valt de foutmelding niet altijd direct op. Maar als je kijkt in de Coefficients tabel zul je zien dat een (of meer) predictor (onafhankelijke variabele, moderator, controlevariabele) niet is meegenomen in de analyse. In het voorbeeld hierboven is van de vijf jaartallen in het model de variabele Jaar_1 niet meegenomen in de resultaten, ook al hadden we deze in de opdracht wel in het model geplaatst.
Problemen in het regressiemodel
Er zijn twee veelvoorkomende redenen voor het optreden van de foutmelding tolerance limit reached
Geen referentie-categorie aangewezen
- Je wilde een gecategoriseerde (nominale) variabele meenemen in de analyse. Daarom heb je voor ieder level van de variabele een dummy gemaakt en deze in het model geplaatst. Dit is gebeurd in het voorbeeld van deze post. De dataset bevat data uit vijf verschillende jaren. Om te corrigeren voor jaartal, is een dummy (een 0/1 variabele) gemaakt voor elk van deze jaren. Deze dummies zijn vervolgens als controlevariabele in het model geplaatst.
Als gebruik gemaakt wordt van dummies moet altijd één categorie gekozen worden als referentie. Vaak is dit de eerste of de laatste categorie, maar er kunnen ook redenen zijn om een andere categorie te kiezen. De dummy van de referentie-categorie zou niet moeten worden meegenomen in het model. De oplossing van dit probleem is dan ook eenvoudig: haal de dummy-variabele van de referentiecategorie uit het model en draai de analyse opnieuw. De kans is groot dat de Tolerance-melding verdwenen is.
Hoofd- en subschalen in één model
- Een tweede reden voor deze melding kan het gebruik van hoofd- en sub-schalen zijn. Als je bijvoorbeeld de motivatie van een medewerker wilt meten dan kun je motivatie in het algemeen meten. Maar dit concept kan ook ingedeeld worden in sub-schalen als extrinsieke motivatie, intrinsieke motivatie et cetera. Wanneer je zowel de totale schaalscore als de sub-schaalscores in één regressieanalyse plaatst dan zit er heel veel overlap tussen deze variabelen. De totale schaalscore is immers opgebouwd uit dezelfde items als de sub-schalen. Ook hier is de oplossing vrij eenvoudig: doe de regressieanalyse twee keer, een keer met de hoofdschaal als predictor en een keer met de sub-schalen als predictors.
Als bovengenoemde veelvoorkomende situaties niet de oorzaak zijn van de foutmelding tolerance limit reached, raad ik aan om een correlatietabel te maken. In deze tabel geef je correlaties weer tussen alle predictors in je hoofdanalyse. Naar alle waarschijnlijkheid staan er twee (of meer) variabelen in het model die zeer sterk met elkaar correleren (r > 0.9).
Mogelijke oplossingen
Wat kun je dan doen? Je hebt vooraf goed nagedacht over welke predictors je wilde meenemen in de analyse. Toch zou het beter zijn om een van de sterk correlerende variabelen uit het model te halen. Als de ene variabele een kernvariabele is in jouw onderzoek en de andere ‘maar’ een controlevariabele dan is een logische keuze om de controlevariabele uit het model te laten. Maar het wordt lastiger als je voor beide variabelen een hypothese hebt opgesteld. Tabachnick en Fidell (2014) geven aan dat een van de twee variabelen eigenlijk overbodig is in het model. Ken je het verband tussen de ene predictor en de afhankelijke variabele, dan weet je eigenlijk ook het verband tussen de andere predictor en de afhankelijke variabele.
Ook kun je overwegen om een combinatie-score te berekenen uit de twee sterk correlerende variabelen. Daarna kun je deze combinatiescore meenemen in de analyse. Een andere optie is meerdere regressieanalyses uitvoeren, waarbij steeds een andere predictor wordt meegenomen.
Hulp nodig?
Hopelijk heb je iets gehad aan deze uitleg over de Foutmelding in spss Tolerance = ,000 limit reached. Wil je graag eens samen op zoek gaan naar oorzaak en oplossing van het genoemde probleem? Dan kun je contact opnemen via info@dataaffinity.nl of via het Contactformulier.
Bron
Tabachnick, B. G., & Fidell, L. S. (2014). Using multivariate statistics (6th ed.). Pearson.
Geef een reactie