Ich habe 6 Variablen ( ), die ich verwende, um vorherzusagen . Bei meiner Datenanalyse habe ich zuerst eine multiple lineare Regression versucht. Davon waren nur zwei Variablen signifikant. Wenn ich jedoch eine lineare Regression durchführte, bei der jede Variable einzeln mit verglichen wurde , waren alle bis auf eine signifikant ( zwischen weniger als 0,01 und weniger als 0,001). Es wurde vermutet, dass dies auf Multikollinearität zurückzuführen ist.
Meine ersten Untersuchungen dazu legen nahe, die Multikollinearität mithilfe von VIFs zu überprüfen . Ich habe das entsprechende Paket von R heruntergeladen und die resultierenden VIFs erhalten: 3.35, 3.59, 2.64, 2.24 und 5.56. Laut verschiedenen Online-Quellen sollten Sie sich über Multikollinearität mit Ihren VIFs Sorgen machen, und zwar entweder bei 4 oder 5.
Ich bin jetzt ratlos darüber, was dies für meine Daten bedeutet. Habe ich oder habe ich kein Multikollinearitätsproblem? Wenn ja, wie soll ich dann vorgehen? (Ich kann keine weiteren Daten erfassen, und die Variablen sind Teile eines Modells, die nicht offensichtlich zusammenhängen.) Wenn ich dieses Problem nicht habe, was soll ich dann aus meinen Daten entnehmen, insbesondere die Tatsache, dass diese Variablen von hoher Bedeutung sind einzeln, aber in Kombination überhaupt nicht signifikant.
Bearbeiten: Es wurden einige Fragen zum Datensatz gestellt, daher möchte ich Folgendes erweitern ...
In diesem speziellen Fall möchten wir verstehen, wie sich bestimmte soziale Signale (Gesten, Blicke usw.) auf die Wahrscheinlichkeit auswirken, dass jemand ein anderes Signal erzeugt. Wir möchten, dass unser Modell alle wichtigen Attribute enthält, daher ist es mir unangenehm, einige zu entfernen, die überflüssig erscheinen.
Derzeit gibt es hierzu keine Hypothesen. Vielmehr ist das Problem nicht untersucht, und wir möchten besser verstehen, welche Attribute wichtig sind. Soweit ich das beurteilen kann, sollten diese Attribute relativ unabhängig voneinander sein (man kann nicht einfach sagen, dass Blick und Gesten gleich sind oder eine Teilmenge einer anderen). Es wäre schön, p-Werte für alles angeben zu können, da wir möchten, dass andere Forscher verstehen, was betrachtet wurde.
Edit 2: Da es irgendwo unten auftauchte, ist mein 24.
quelle
Antworten:
Um zu verstehen, was passieren kann, ist es aufschlussreich, Daten zu generieren (und zu analysieren), die sich wie beschrieben verhalten.
Vergessen wir der Einfachheit halber die sechste unabhängige Variable. Die Frage beschreibt also Regressionen einer abhängigen Variablen gegen fünf unabhängige Variablen x 1 , x 2 , x 3 , x 4 , x 5 , in deneny x1,x2,x3,x4,x5
Jede gewöhnliche Regression ist bei Niveaus von 0,01 bis weniger als 0,001 signifikant .y∼xi 0.01 0.001
Die multiple Regression liefert nur für x 1 und x 2 signifikante Koeffizienten .y∼x1+⋯+x5 x1 x2
Alle Varianzinflationsfaktoren (VIFs) sind niedrig, was auf eine gute Konditionierung in der Entwurfsmatrix hinweist (dh auf mangelnde Kollinearität bei ).xi
Lassen Sie uns das wie folgt machen:
Generiere normalverteilte Werte für x 1 und x 2 . (Wir werden n später wählen .)n x1 x2 n
Sei wobei & epsi ; ein unabhängiger normaler Fehler des Mittelwerts 0 ist . Einige Versuche sind erforderlich, um eine geeignete Standardabweichung für & epsi ; zu finden ; 1 / 100 funktioniert (und ist ziemlich dramatisch: y ist extrem gut mit korrelierten x 1 und x 2 , obwohl es nur mäßig mit korreliert ist x 1 und x 2 einzeln).y=x1+x2+ε ε 0 ε 1/100 y x1 x2 x1 x2
Let = x 1 / 5 + δ , j = 3 , 4 , 5 , wobei δ unabhängige Standardnormal Fehler. Dies macht x 3 , x 4 , x 5 nur geringfügig von x 1 abhängig . Über die enge Korrelation zwischen x 1 und y induziert dies jedoch eine winzige Korrelation zwischen y und diesen x j .xj x1/5+δ j=3,4,5 δ x3,x4,x5 x1 x1 y y xj
Hier ist das Problem: Wenn wir groß genug machen, führen diese kleinen Korrelationen zu signifikanten Koeffizienten, obwohl y fast ausschließlich durch die ersten beiden Variablen "erklärt" wird.n y
Ich fand heraus, dass gut für die Wiedergabe der angegebenen p-Werte geeignet ist. Hier ist eine Streudiagramm-Matrix aller sechs Variablen:n=500
Wenn Sie die rechte Spalte (oder die unterste Zeile) untersuchen, können Sie feststellen , dass eine gute (positive) Korrelation mit x 1 und x 2 aufweist, jedoch nur eine geringe scheinbare Korrelation mit den anderen Variablen. Wenn Sie den Rest dieser Matrix untersuchen, können Sie sehen, dass die unabhängigen Variablen x 1 , … , x 5 nicht miteinander korreliert zu sein scheinen (der Zufall δy x1 x2 x1,…,x5 δ maskieren Sie die winzigen Abhängigkeiten, von denen wir wissen, dass sie vorhanden sind.) Es gibt keine außergewöhnlichen Daten - nichts schrecklich Außergewöhnliches oder mit hoher Hebelwirkung. Die Histogramme zeigen übrigens, dass alle sechs Variablen ungefähr normal verteilt sind: Diese Daten sind so normal und "normal vanille", wie man es sich nur wünschen kann.
Bei der Regression von gegen x 1 und x 2 sind die p-Werte im Wesentlichen 0. Bei den einzelnen Regressionen von y gegen x 3 , dann von y gegen x 4 und von y gegen x 5 sind die p-Werte 0,0024, 0,0083 bzw. 0,00064: das heißt, sie sind "hoch signifikant". Bei der vollständigen multiplen Regression steigen die entsprechenden p-Werte jedoch auf 0,46, 0,36 bzw. 0,52 an: überhaupt nicht signifikant. Der Grund dafür ist, dass einmal y gegen x 1 und x zurückgegangen isty x1 x2 y x3 y x4 y x5 y x1 Fig. 2 ist das einzige, was noch zu "erklären" übrig ist, die winzige Fehlermenge in den Residuen, die sich ε annähert , und dieser Fehler hängt fast gar nicht mit dem verbleibenden x i zusammen . ( „Fast“ korrekt: es gibt eine wirklich winzige Beziehung aus der Tatsache hervorgerufen, daß die Residuen teilweise von den Werten der berechneten wurden x 1 und x 2 und x i , i = 3 , 4 , 5 , einige schwachen haben Beziehung zu x 1 und x 2. Diese verbleibende Beziehung ist jedoch, wie wir gesehen haben, praktisch nicht nachweisbar.)x2 ε xi x1 x2 xi i=3,4,5 x1 x2
Die Konditionierungszahl der Designmatrix beträgt nur 2,17: Das ist sehr niedrig und zeigt keinerlei Hinweis auf eine hohe Multikollinearität. (Perfekter Mangel an Kollinearität würde sich in einer Konditionierungszahl von 1 widerspiegeln. In der Praxis ist dies jedoch nur bei künstlichen Daten und geplanten Experimenten zu beobachten. Konditionierungszahlen im Bereich von 1 bis 6 (oder höher, mit mehr Variablen) sind unauffällig.) Damit ist die Simulation abgeschlossen: Es wurde jeder Aspekt des Problems erfolgreich reproduziert.
Zu den wichtigen Erkenntnissen, die diese Analyse bietet, gehören:
p-Werte sagen nichts direkt über die Kollinearität aus. Sie hängen stark von der Datenmenge ab.
Beziehungen zwischen p-Werten in multiplen Regressionen und p-Werten in verwandten Regressionen (die Teilmengen der unabhängigen Variablen umfassen) sind komplex und normalerweise nicht vorhersehbar.
Folglich sollten, wie andere argumentiert haben, p-Werte nicht Ihr einziger Leitfaden (oder sogar Ihr Hauptleitfaden) für die Modellauswahl sein.
Bearbeiten
Es ist nicht erforderlich, dass 500 beträgt , damit diese Phänomene auftreten.n 500 Angeregt durch zusätzliche Informationen in der Frage ist das Folgende ein ähnlich aufgebauter Datensatz mit (in diesem Fall x j = 0,4 x 1 + 0,4 x 2 + δ für j = 3 , 4 , 5 ). Dies erzeugt Korrelationen von 0,38 bis 0,73 zwischen x 1 - 2 und x 3 - 5n=24 xj=0.4x1+0.4x2+δ j=3,4,5 x1−2 x3−5 . Die Bedingungsnummer der Designmatrix ist 9.05: etwas hoch, aber nicht schrecklich. (Einige Faustregeln besagen, dass Bedingungszahlen bis zu 10 in Ordnung sind.) Die p-Werte der einzelnen Regressionen gegen sind 0,002, 0,015 und 0,008: signifikant bis hoch signifikant. Somit ist eine gewisse Multikollinearität involviert, die jedoch nicht so groß ist, dass man daran arbeiten würde, sie zu ändern. Die grundsätzliche Einsicht bleibt gleichx3,x4,x5 : Bedeutung und Multikollinearität sind verschiedene Dinge; nur milde mathematische Zwänge gelten unter ihnen; und es ist möglich, dass der Einschluss oder Ausschluss einer einzelnen Variablen tiefgreifende Auswirkungen auf alle p-Werte hat, auch ohne dass schwerwiegende Multikollinearität ein Problem darstellt.
quelle
Es ist keine Entweder-Oder-Situation. Und ich bin skeptisch gegenüber der Richtlinie "4 oder 5". Für jeden Ihrer Prädiktoren liegt der Standardfehler des Koeffizienten zwischen dem 2,2- und dem 5,6-fachen des Werts, der für den Prädiktor ohne Korrelation mit den anderen gelten würde. Und der Anteil eines bestimmten Prädiktors, der von den anderen nicht erklärt werden kann, reicht von 1 / 2,2 bis 1 / 5,6 oder 18% bis 45%. Alles in allem scheint das eine ziemlich erhebliche Menge an Kollinearität zu sein.
Aber lassen Sie uns einen Moment zurücktreten. Versuchen Sie wirklich , * Y * vorherzusagen , anstatt zu versuchen , es zu erklären ? Wenn dies der Fall ist, müssen Sie sich vermutlich nicht darum kümmern, ob sich das Signifikanzniveau einer bestimmten Variablen ändert, wenn andere im Modell vorhanden sind. Ihre Arbeit ist wirklich viel einfacher, als es wäre, wenn eine wahre Erklärung benötigt würde.
Wenn die Erklärung Ihr Ziel ist, müssen Sie die Art und Weise berücksichtigen, in der sich diese Variablen gegenseitig beeinflussen. Dies erfordert mehr als statistische Informationen. Offensichtlich überlappen sie sich in der Art, wie sie sich auf Y beziehen , und diese Kollinearität wird es schwierig machen, zum Beispiel ihre Rangordnung für die Berücksichtigung von Y zu bestimmen . In dieser Situation gibt es niemanden, dem Sie folgen können.
Ich hoffe auf jeden Fall, dass Sie über Methoden zur Kreuzvalidierung nachdenken.
quelle
Sie haben Multikollinearität. Ihre erste Analyse hat dies gezeigt. Soweit es ein Problem ist, ist dies eine andere Frage, die in Ihrem Fall viele Antworten zu haben scheint.
Wenn Sie das Grundproblem besser hätten, wäre es vielleicht offensichtlicher, was zu tun ist? ...
Bei der Multikollinearität handelt es sich bei Ihren Regressionskoeffizienten um die eindeutigen (näher an eindeutigen) Beiträge jeder Variablen zu Ihrem Modell. Wenn einige miteinander korreliert sind, dann ist der einzigartige Beitrag jedes korrelierten Individuums kleiner. Das ist wahrscheinlich teilweise der Grund, warum keine von Bedeutung ist, wenn sie alle zusammen sind, aber wenn sie alleine verwendet werden, können sie es sein.
Das erste, was Sie wahrscheinlich tun müssen, ist zu überlegen, was die Wechselbeziehung zwischen Ihren Variablen bedeutet. Haben Sie zum Beispiel eine Reihe von Variablen, die nur für dasselbe stehen? Haben Sie gerade Ihre Prädiktoren in einem schlechten Maßstab gemessen und zufällige Korrelationen erhalten? Versuchen Sie nicht, die Regression zu korrigieren, sondern verstehen Sie Ihre Variablen.
Betrachten Sie X1 und X2 mit einer sehr starken Korrelation zwischen ihnen, sagen wir r = 0,90. Wenn Sie X1 in das Modell einfügen und es sich um einen signifikanten Prädiktor handelt, ist wahrscheinlich auch ein anderes Modell mit X2 von Bedeutung, da es fast dasselbe ist. Wenn Sie sie im Modell zusammenfügen, muss mindestens einer von ihnen leiden, da die multiple Regression ihre einzigartigen Beiträge auflösen wird. Sie könnten beide nicht signifikant sein. Aber das ist nicht der Punkt, der Punkt ist zu erkennen, warum sie sich so sehr überlappen und ob sie überhaupt etwas anderes sagen und ob Sie sie brauchen oder nicht? Vielleicht drückt einer eine Idee aus, die aussagekräftiger ist und mehr mit Ihrer Antwortvariablen zu tun hat als der andere. Vielleicht schlussfolgern Sie, dass es sich um dasselbe Produkt mit unterschiedlichen Variabilitätsstufen handelt.
Bei der Betrachtung von Modellen jeglicher Art, insbesondere bei interkorrelierten Prädiktoren, sind p-Werte eine schreckliche Methode, um festzustellen, ob ein neuer Prädiktor einen sinnvollen Beitrag leistet (wenn Sie dies versuchen ... nicht sicher, was Sie tun) versuchen es, weil es sich so anhört, als würden Sie nur versuchen, die Regression entweder A) einfach oder B) so zu gestalten, wie Sie es möchten ... beides ist nicht möglich. Am besten schauen Sie sich AIC an, um herauszufinden, welche Prädiktoren Sie behalten sollten und welche nichts beitragen.
quelle
Persönlich würde ich Bedingungsindizes und die Tabelle mit den erklärten Abweichungen verwenden, um die Kollinearität zu analysieren.
Ich würde p-Werte auch nicht als Kriterium für die Modellbildung verwenden, und wenn ich Modelle mit 6 IVs mit Modellen mit 1 vergleiche, würde ich Änderungen in der Effektgröße des Parameters für die Variable untersuchen, die beides ist.
Aber Sie können die Ergebnisse, die Sie erwähnen, ohne Kollinearität haben. Bei der Kollinearität geht es nur um die X-Variablen und ihre Beziehung. Zwei Variablen könnten sich jedoch stark auf Y beziehen, während sie sich nicht stark aufeinander beziehen.
quelle
Regarding multicollinearity there are various thresholds being mentioned usually converging around a VIF of 10 corresponding to an underlying R Square value of 0.90 between the tested variable vs the other independent variables. The VIFs of your variables appear passable, and you could technically keep them in a model.
Yet, I would use a stepwise regression method to see which are the best combination of variables and how much more explanation (incremental increase in R Square) you get by adding variables. The arbitrating benchmark should be the Adjusted R Square value that adjusts the R Square value downward by penalizing the model for adding variables.
Your variables are somewhat correlated with each other. This is inevitable, it is just a matter of degree. Given the VIFs you mention, I suspect intuitively that you will get the vast majority of the information/explanation bit from the best 2 variable combination. And, that adding variables may add only marginal incremental value.
When looking at the combination of variables that are selected by the stepwise regression process, I would also look at what variables are selected and if their regression coefficient signs are consistent with their correlation with y. If they are not, it can be due to a legitmate interaction between the variables. But, it could also be a result of model overfitting and that the regression coefficients are spurious. They reflect a mathematical fit, but are meaningless in terms of underlying causality.
Another way to select your variables is to decide from a logic standpoint which ones are the main 2 or 3 variables that should be in the model. You start with those and then check how much more information do you get by adding a variable. Check the adjusted R Square, consistency of the regression coefficient relative to the original regression, and obviously test all the models with hold out period. Pretty soon, it will be evident what is your best model.
quelle
fortune(224)
: no troll here, just want to highlight that you don't necessarily need to trust what software automagically gives (or offers) you as an option.If your explanatory variables are count data, and it is not unreasonable to assume that they are normally distributed, you can transform them into standard normal variates using the R
scale
command. Doing this can reduce the collinearity. But that will probably not solve the whole problem.A useful batch of R commands for analyzing and dealing with collinearity are found on Florian Jaeger's blog, including:
The
z.
function converts a vector into a standard normal variate. Ther.
function returns standardized residuals for regressing one predictor against another. You can use this to effectively divide the model deviance into different tranches so that only some variables have access to the most senior tranche, then the next tranche will be offered to residualized variables. (Sorry for my homespun terminology) So if a model of the formY ~ A + B
suffers from multicollinearity, then you can run either of
Y ~ A + r.(B)
Y ~ r.(A) + B
so that only the residuals of the "junior tranche" variable (when regressed against the "senior tranche" variable) are fitted to the model. This way, you are shielded from multicollinearity, but have a more complicated set of parameters to report.
quelle