Ich frage mich, wie genau die Beziehung zwischen partiellem und Koeffizienten in einem linearen Modell ist und ob ich nur einen oder beide verwenden sollte, um die Bedeutung und den Einfluss von Faktoren zu veranschaulichen.
Soweit ich weiß, summary
erhalte ich mit Schätzungen der Koeffizienten und mit anova
der Summe der Quadrate für jeden Faktor - der Anteil der Summe der Quadrate eines Faktors geteilt durch die Summe der Summe der Quadrate plus Residuen ist Teil ( Der folgende Code ist in R
).
library(car)
mod<-lm(education~income+young+urban,data=Anscombe)
summary(mod)
Call:
lm(formula = education ~ income + young + urban, data = Anscombe)
Residuals:
Min 1Q Median 3Q Max
-60.240 -15.738 -1.156 15.883 51.380
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -2.868e+02 6.492e+01 -4.418 5.82e-05 ***
income 8.065e-02 9.299e-03 8.674 2.56e-11 ***
young 8.173e-01 1.598e-01 5.115 5.69e-06 ***
urban -1.058e-01 3.428e-02 -3.086 0.00339 **
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 26.69 on 47 degrees of freedom
Multiple R-squared: 0.6896, Adjusted R-squared: 0.6698
F-statistic: 34.81 on 3 and 47 DF, p-value: 5.337e-12
anova(mod)
Analysis of Variance Table
Response: education
Df Sum Sq Mean Sq F value Pr(>F)
income 1 48087 48087 67.4869 1.219e-10 ***
young 1 19537 19537 27.4192 3.767e-06 ***
urban 1 6787 6787 9.5255 0.003393 **
Residuals 47 33489 713
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Die Größe der Koeffizienten für "jung" (0,8) und "städtisch" (-0,1, etwa 1/8 der ersteren, ohne Berücksichtigung von "-") entspricht nicht der erklärten Varianz ("jung" ~ 19500 und "städtisch" ~ 6790, dh um 1/3).
Daher dachte ich, ich müsste meine Daten skalieren, da ich davon ausging, dass die Koeffizienten eines Faktors schwer zu vergleichen sind, wenn der Bereich eines Faktors viel größer ist als der eines anderen Faktors:
Anscombe.sc<-data.frame(scale(Anscombe))
mod<-lm(education~income+young+urban,data=Anscombe.sc)
summary(mod)
Call:
lm(formula = education ~ income + young + urban, data = Anscombe.sc)
Residuals:
Min 1Q Median 3Q Max
-1.29675 -0.33879 -0.02489 0.34191 1.10602
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 2.084e-16 8.046e-02 0.000 1.00000
income 9.723e-01 1.121e-01 8.674 2.56e-11 ***
young 4.216e-01 8.242e-02 5.115 5.69e-06 ***
urban -3.447e-01 1.117e-01 -3.086 0.00339 **
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.5746 on 47 degrees of freedom
Multiple R-squared: 0.6896, Adjusted R-squared: 0.6698
F-statistic: 34.81 on 3 and 47 DF, p-value: 5.337e-12
anova(mod)
Analysis of Variance Table
Response: education
Df Sum Sq Mean Sq F value Pr(>F)
income 1 22.2830 22.2830 67.4869 1.219e-10 ***
young 1 9.0533 9.0533 27.4192 3.767e-06 ***
urban 1 3.1451 3.1451 9.5255 0.003393 **
Residuals 47 15.5186 0.3302
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Aber das macht eigentlich keinen Unterschied, Teil- und die Größe der Koeffizienten (dies sind jetzt standardisierte Koeffizienten ) stimmen immer noch nicht überein:
22.3/(22.3+9.1+3.1+15.5)
# income: partial R2 0.446, Coeff 0.97
9.1/(22.3+9.1+3.1+15.5)
# young: partial R2 0.182, Coeff 0.42
3.1/(22.3+9.1+3.1+15.5)
# urban: partial R2 0.062, Coeff -0.34
Kann man also sagen, dass "jung" dreimal so viel Varianz erklärt wie "städtisch", weil Teil- für "jung" dreimal so groß ist wie "städtisch"? Warum ist der Koeffizient von "jung" dann nicht dreimal so hoch wie der von "städtisch" (ohne das Zeichen zu beachten)?
Ich nehme an, die Antwort auf diese Frage gibt mir dann auch die Antwort auf meine ursprüngliche Frage: Soll ich Teil- oder Koeffizienten verwenden, um die relative Bedeutung von Faktoren zu veranschaulichen? (Einwirkungsrichtung - Vorzeichen - vorerst ignorieren.)
Bearbeiten:
Das partielle eta-Quadrat scheint ein anderer Name für das zu sein, was ich partiell . etasq {heplots} ist eine nützliche Funktion, die ähnliche Ergebnisse liefert:
etasq(mod)
Partial eta^2
income 0.6154918
young 0.3576083
urban 0.1685162
Residuals NA
Antworten:
Kurz gesagt , ich würde nicht sowohl den partiellen als auch den standardisierten Koeffizienten in derselben Analyse verwenden, da diese nicht unabhängig sind. Ich würde argumentieren, dass es normalerweise wahrscheinlich intuitiver ist, Beziehungen unter Verwendung der standardisierten Koeffizienten zu vergleichen, da sie sich leicht auf die Modelldefinition beziehen (dh Y =R2 ). Die teilweise R 2 , die wiederum im wesentlichen der Anteil der einzigartigen gemeinsame Varianz zwischen der Prädiktoreigenschaft und abhängiger Variable (dv) (so zum ersten Prädiktor es ist das Quadrat der Teilkorrelation r x 1 y . X 2 . . . X nY=βX R2 rx1y.x2...xn ). Für eine Anpassung mit einem sehr kleinen Fehler tendieren alle Teil- der Koeffizienten zu 1, so dass sie nicht nützlich sind, um die relative Wichtigkeit der Prädiktoren zu identifizieren.R2
Die Definitionen der Effektgröße
partielles - Der Anteil der Restvariation, der durch Hinzufügen des Prädiktors zum beschränkten Modell erklärt wird (das vollständige Modell ohne den Prädiktor). Gleich wie:R2
- Der Unterschied in der R 2 zwischen dem eingeschränkten und vollständigen Modell. Gleicht:ΔR2 R2
Alle diese Faktoren sind eng miteinander verbunden, unterscheiden sich jedoch hinsichtlich des Umgangs mit der Korrelationsstruktur zwischen den Variablen. Um diesen Unterschied ein bisschen besser zu verstehen, nehmen wir an, dass wir 3 standardisierte (Mittelwert = 0, sd = 1) Variablen deren Korrelationen r x y , r als Prädiktoren sind. Wir werden alle Effektgrößenkoeffizienten in Bezug auf die Korrelationen ausdrücken, damit wir explizit sehen können, wie die Korrelationsstruktur von jedem behandelt wird. Zuerst listen wir die Koeffizienten im Regressionsmodell x = β y Y + β z Z aufx,y,z . Wir nehmenxals abhängige Variable undyundzrxy,rxz,ryz x y z x=βyY+βzZ geschätzt mit OLS. Die Formel für die Koeffizienten:
Die Quadratwurzel desR 2 -Teils für die Prädiktoren ist gleich:
das ist gegeben durch:ΔR2−−−−√
Der Unterschied zwischen diesen ist der Nenner, der für die und √β enthält nur die Korrelation zwischen den Prädiktoren. Bitte beachten Sie, dass in den meisten Kontexten (für schwach korrelierte Prädiktoren) die Größe dieser beiden sehr ähnlich ist, sodass die Entscheidung Ihre Interpretation nicht zu sehr beeinflusst. Auch wenn die Prädiktoren eine ähnliche Stärke der Korrelation mit der abhängigen Variablen haben und nicht zu stark korreliert sind, korrelieren die Verhältnisse der√ΔR2−−−−√ R2partial−−−−−−√ ähnlich den Verhältnissen von .βstd
Zurück zu Ihrem Code. DieR2
anova
Funktion in R verwendet standardmäßig eine Quadratsumme vom Typ I, wohingegen das oben beschriebene partielle auf der Grundlage einer Quadratsumme vom Typ III berechnet werden sollte (was meiner Meinung nach einer Quadratsumme vom Typ II entspricht, wenn keine Wechselwirkung vorliegt in Ihrem Modell). Der Unterschied besteht darin, wie die erläuterte SS unter den Prädiktoren aufgeteilt ist. Beim Typ I SS wird dem ersten Prädiktor die gesamte erläuterte SS zugewiesen, dem zweiten nur die "übrig gebliebene SS" und dem dritten nur die übrig gebliebene SS. Daher ändert die Reihenfolge, in der Sie Ihre Variablen in Ihren Aufruf eingeben, ihre jeweilige SS . Dies ist höchstwahrscheinlich nicht erwünscht, wenn Sie Modellkoeffizienten interpretieren.lm
Wenn Sie in IhremF t F(1,n)=t2(n) R2 p R2
Anova
Aufruf aus demcar
Paket in R eine Quadratsumme vom Typ II verwenden , entsprechen die Werte für Ihre Anova den für Ihre Koeffizienten quadrierten t- Werten (da F ( 1 , n ) = t 2 ( n ) ). Dies weist darauf hin, dass diese Mengen tatsächlich eng miteinander verbunden sind und nicht unabhängig bewertet werden sollten. Um eine Quadratsumme vom Typ II in Ihrem Beispiel aufzurufen, ersetzen Sie durch . Wenn Sie einen Interaktionsterm einschließen, müssen Sie ihn durch eine Quadratsumme vom Typ III ersetzen, damit der Koeffizienten- und der Teil-R-Test gleich sindanova(mod)
Anova(mod, type = 2)
options(contrasts = c("contr.sum","contr.poly"))
vor dem AnrufAnova(mod,type=3)
). Teil ist die Variable SS geteilt durch die Variable SS plus den Rest SS. Dies ergibt die gleichen Werte wie Sie in der Ausgabe aufgelistet haben . Jetzt sind die Tests und p- Werte für Ihre Anova-Ergebnisse (Teil R 2 ) und Ihre Regressionskoeffizienten gleich.etasq()
Kredit
Die Formel für die Teilkorrelation ist hier in ttnphns answer angegeben: Mehrfachregression oder Teilkorrelationskoeffizient ? Und die Beziehungen zwischen den beiden
quelle
Wie bereits in mehreren anderen Antworten und Kommentaren erläutert, beruhte diese Frage auf mindestens drei Verwirrungen:
Die Funktiont
anova()
verwendet eine sequentielle (auch als Typ I bezeichnete) Quadratsummenzerlegung (SS), die von der Reihenfolge der Prädiktoren abhängt. Eine Zerlegung, die den Regressionskoeffizienten und Tests für ihre Signifikanz entspricht, ist Typ III SS, mit dem Sie erhalten könnenAnova()
Funktion aus demcar
Paket erhalten können.After these confusions are clarified, the question remains as to what are the most appropriate measures of predictor effect size, or importance.
In R, there is a package
relaimpo
that provides several measures of relative importance.Using the same
Anscombe
dataset as in your question, this yields the following metrics:Some of these metrics have already been discussed:
betasq
are squared standardized coefficients, the same values as you obtained withlm()
.first
is squared correlation between each predictor and response. This is equal toanova()
output. Other values don't match.last
is an increase inanova()
output. Other values don't match.Note that the package does not currently provide partialR2 as such (but, according to the author, it might be added in the future [personal communication]). Anyway, it is not difficult to compute by other means.
There are four further metrics in
relaimpo
-- and one more (fifth) is available if the packagerelaimpo
is manually installed: CRAN version excludes this metric due to a potential conflict with its author who, crazy as it sounds, has a US patent on his method. I am running R online and don't have access to it, so if anybody can manually installrelaimpo
, please add this additional metric to my output above for completeness.Two metrics are
pratt
that can be negative (bad) andgenizi
that is pretty obscure.Two interesting approaches are
lmg
andcar
.The first is an average ofSSeffect/SStotal over all possible permutations of predictors (here SSeffect is type I). It comes from a 1980 book by Lindeman & Merenda & Gold.
The second is introduced in (Zuber & Strimmer, 2011) and has many appealing theoretical properties; it is squared standardized coefficients after predictors have been first standardized and then whitened with ZCA/Mahalanobis transformation (i.e. whitened while minimizing reconstruction error).
Note that the ratio of the contribution of 'young' to 'urban' is around2:1 with 878:1 with
lmg
(this matches more or less what we see with standardized coefficients and semipartial correlations), but it'scar
. The reason for this huge difference is not clear to me.Bibliography:
References on relative importance on Ulrike Grömping's website -- she is the author of
relaimpo
.Grömping, U. (2006). Relative Importance for Linear Regression in R: The Package relaimpo. Journal of Statistical Software 17, Issue 1.
Grömping, U. (2007). Estimators of Relative Importance in Linear Regression Based on Variance Decomposition. The American Statistician 61, 139-147.
Zuber, V. and Strimmer, K. (2010). High-dimensional regression and variable selection using CAR scores. Statistical Applications in Genetics and Molecular Biology 10.1 (2011): 1-27.
Grömping, U. (2015). Variable importance in regression models. Wiley Interdisciplinary Reviews: Computational Statistics, 7(2), 137-152. (behind pay wall)
quelle
You wrote:
It is important not to confuse two things here. First, there is the question of model specification. The lm algorithm assumes that the OLS-assumptions are met. Among other things this means that for unbiased estimates, NO signficant variable can be missing from the model (except for when it is uncorrelated to all other regressors, rare).
So in finding a model, the additional influence on R² or adjusted R² is of course of interest. One might think it is proper to add regressors until the adjusted R² stops improving, for example. There are interesting problems with stepwise regression procedures such as this, but this is not the topic. In any case I assume there was a reason you chose your model.
HOWEVER: this additional influence on the R² is not identical to the real or total influence of the regressor on the independent variable, precisely because of multicollinerity: If you take away the regressor, part of its influence will now be attributed to the other regressors which are correlated to it. So now the true influence is not correctly shown.
And there is another problem: The estimates are only valid for the complete model with all other regressors present. Either this model is not yet correct and therefore discussion about influence is meaningless - or it is correct and then you can not eliminate a regressor and still use the OLS methods with success.
So: is your model and the use of OLS appropriate? If it is, then the estimates answer your question - they are your literal best guess of the influence of the variables on the regressand / dependent variable.
If not, then your first job is to find a correct model. For this the use of partial R² may be a way. A search on model specification or stepwise regression will produce a lot of interesting approaches in this forum. What works will depend on your data.
quelle
relaimpo
is to provide alternatives to partial R^2, for exactly the reason IMA gives!relaimpo
package I realized that there is a whole world of different approaches to quantifying relative importance of predictors in linear regression. I am currently looking through some papers linked there (this 2010 preprint looks pretty good so far), and this is a mess! I did not realize that this issue is so complicated, when I offered my bounty. It doesn't seem to have been properly discussed on CV. Is this an obscure topic? If so, why?Regarding the difference between the linear regression coefficient and the partial correlation you may read this, for example.
However, the confusion expressed in the question seems to be of another nature. It appears to be about the default type of sums-of-squares used by this or that statistical package (topic, repeatedly discussed on our site). Linear regression uses what is called in ANOVA Type III SS reckoning. In many ANOVA programs that is the default option too. In
R
functionanova
, it appears to me (I'm not R user, so I just suppose it) the default reckoning is Type I SS (a "sequential SS" which is dependent on the order the predictors are specified in the model). So, the discrepancy that you observed and which did not dissapear when you standardized ("scaled") your variables is because you specified the ANOVA with the default Type I option.Below are results obtained in SPSS with your data:
Sie können in diesen Ausdrucken auswählen, dass die Parameter (Regressionskoeffizienten) unabhängig von der Art der SS-Berechnung gleich sind. Sie können auch feststellen, dass das partielle Eta-Quadrat [das in unserem Fall SSeffect / (SSeffect + SSerror) und = partielles R-Quadrat ist, da die Prädiktoren numerische Kovariaten sind] in der Tabelle der Effekte und der Koeffizienten nur bei Typ SS vollständig identisch ist ist III. Wenn der Typ SS I ist, behält nur der letzte der drei Prädiktoren "urban" den gleichen Wert (.169). Dies liegt daran, dass es in der Reihenfolge der Eingabe der Prädiktoren die letzte ist. Bei Typ III SS spielt die Reihenfolge der Eingabe keine Rolle, wie bei der Regression. Übrigens wird die Diskrepanz auch bei p-Werten beobachtet. Obwohl Sie es in meinen Tabellen nicht sehen, weil es nur 3 Dezimalstellen in der Spalte "Sig" gibt,
Vielleicht möchten Sie mehr über verschiedene "SS-Typen" in ANOVA / linearem Modell lesen. Konzeptionell ist der Typ III oder "Regressionstyp" der SS grundlegend und primordial. Andere Arten von SS (I, II, IV, es gibt noch mehr) sind spezielle Vorrichtungen, um die Auswirkungen umfassender abzuschätzen, und zwar weniger verschwenderisch, als Regressionsparameter in der Situation korrelierter Prädiktoren zulassen.
Im Allgemeinen sind Effektgrößen und ihre p-Werte wichtiger als Parameter und ihre p-Werte, es sei denn, das Ziel der Studie besteht darin, ein Modell für die Zukunft zu erstellen. Mit Hilfe von Parametern können Sie Vorhersagen treffen, aber "Einfluss" oder "Effekt" kann ein umfassenderes Konzept sein als "Stärke der linearen Vorhersage". Um Einfluss oder Wichtigkeit zu melden, sind neben dem partiellen Eta-Quadrat andere Koeffizienten möglich. Das eine ist der Auslassungskoeffizient: Die Wichtigkeit eines Prädiktors ist die verbleibende Quadratsumme, wobei der Prädiktor aus dem Modell entfernt und normalisiert ist, sodass die Wichtigkeitswerte für alle Prädiktoren 1 ergeben.
quelle