Vorzeichenwechsel der Reg.koeff. ordinaler Faktorvariablen

Alle Verfahren der Regressionanalyse.

Vorzeichenwechsel der Reg.koeff. ordinaler Faktorvariablen

Beitragvon Rota » Di 15. Feb 2022, 17:01

Hallo,

ich habe eine multiple lineare OLS-Regression durchgeführt, um die Effektstärken verschiedener unabhängiger Variablen x auf eine metrische abhängige Variable y zu erhalten. Da die meisten unabhängigen Variablen ordinal skaliert sind, habe ich sie in R als Faktor modelliert und erhalte dadurch bei Durchführung der Regression mittels der Funktion lm ( ) für jedes Faktorlevel mit Ausnahme des Referenzlevels einzelne Regressionskoeffizienten, der die jeweilige Zu-/Abnahme der abhängigen Variablen im Vergleich zur Referenzkategorie bei Zunahme der unabhängigen Variablen um eine Einheit anzeigt. Um die Effektstärken zwischen den unterschiedlich skalierten unabhängigen Variablen vergleichbar zu machen, habe ich mit der Funktion lm.beta( ) zudem die standardisierten Regressionskoeffizienten berechnet.

Ich verstehe nun nicht, wie ich feststellen kann, welche unabhängige Variable den stärksten Effekt auf die abhängige Variable y hat, da ich für die ordinalen unabhängigen Variablen ja keine (standardisierten) Regressionskoeffizienten über alle Level hinweg erhalte, sondern separate b- bzw. beta-Werte für jedes einzelne Faktorlevel.
Gibt es eine Möglichkeit, festzustellen, wie stark der Effekt über alle Faktorlevel einer Faktorvariablen hinweg insgesamt ausfällt, um so die unabhängige Variable mit dem stärksten Effekt auf die AV herauszufinden?

Außerdem verwirrt mich, dass einige ordinale Variablen von der ANOVA einen signifikanten Effekt auf die abhängige Variable ausgewiesen bekommen (p < 0.01), aber die (standardisierten) Regressionskoeffizienten in der OLS-Regression ungleichmäßige Vorzeichenwechsel aufweisen.
Ein Beispiel:
unabhängige Faktorvariable UV1 mit 4 Leveln hat beta-Werte von:
(Intercept: 0)
Level 2: -0.0424367024
Level 3: -0.0373716727
Level 4: 0.0207501244
Während Level 2 im Vergleich zu Level 1 (Intercept) nun also eine Abnahme der AV um ca. -0.04 bewirkt, wird die Abnahme bei Level 3 im Vgl. zu Level 1 schwächer (-0.03), und bei Level 4 steigt die AV plötzlich wieder an! Trotzdem zeigt die ANOVA eine Signifikanz von UV1 insgesamt von p < 0.01 (genauer: p = 1.680e-05 ***).
Ist der Effekt von UV1 auf die AV nun insgesamt positiv oder negativ? Signifikant scheint er ja zu sein (laut der ANOVA).

Kann mir jemand mit diesen Fragen weiterhelfen?
Liebe Grüße und vielen Dank!
Rota
Grünschnabel
Grünschnabel
 
Beiträge: 7
Registriert: Mi 2. Feb 2022, 20:13
Danke gegeben: 3
Danke bekommen: 0 mal in 0 Post

Re: Vorzeichenwechsel der Reg.koeff. ordinaler Faktorvariabl

Beitragvon PonderStibbons » Di 15. Feb 2022, 17:38

Koeffizientenvergleiche innerhalb von multiplen Regressionen zur Bestimmung "welcher hat Prädiktor den stärksten Zusammenhang"
(besser nicht: Effekt, das ist ein Begriff für experimentelle Designs) sind meiner Erfahrung und meiner Lektüre nach nicht
besonders sinnvoll, allein schon aufgrund der wechselseitigen Abhängigkeiten. Zumindest bräuchtest Du dazu statistische Tests

Eine einfaktorielle Varianzanalyse behandelt die 4 Stufen als 4 Kategorien, eine ordinale Reihung ist da nicht enthalten.
Es muss dort also nicht A >= B >= C >= D sein.

Mit freundlichen Grüßen

PonderStibbons
PonderStibbons
Foren-Unterstützer
Foren-Unterstützer
 
Beiträge: 11362
Registriert: Sa 4. Jun 2011, 15:04
Wohnort: Ruhrgebiet
Danke gegeben: 51
Danke bekommen: 2501 mal in 2485 Posts

folgende User möchten sich bei PonderStibbons bedanken:
Rota

Re: Vorzeichenwechsel der Reg.koeff. ordinaler Faktorvariabl

Beitragvon bele » Di 15. Feb 2022, 20:03

Hallo Rota,

Rota hat geschrieben:Da die meisten unabhängigen Variablen ordinal skaliert sind, habe ich sie in R als Faktor modelliert

An der Stelle möchte ich einhaken. factor steht in R für nominale Daten und ordered steht für ordinale Daten:

Code: Alles auswählen
a <- ordered(c("klein", "mittel", "groß", "klein", "mittel"),
             levels = c("klein", "mittel", "groß", "super"))
print(a)
print(sort(a))


Im konkreten Fall bringt Dir dieser Unterschied leider nichts, wie PonderStibbons schon geschrieben hat, macht die lineare Regression keinen Unterschied zwischen nominalen und ordinalen Unabhängigen.

Um die Effektstärken zwischen den unterschiedlich skalierten unabhängigen Variablen vergleichbar zu machen, habe ich mit der Funktion lm.beta( ) zudem die standardisierten Regressionskoeffizienten berechnet. ... Gibt es eine Möglichkeit, festzustellen, wie stark der Effekt über alle Faktorlevel einer Faktorvariablen hinweg insgesamt ausfällt, um so die unabhängige Variable mit dem stärksten Effekt auf die AV herauszufinden?


Alternativ könntest Du den ANOVA-Weg gehen. Sagen wir, wir hätten eine Regression mit zwei ordinalen und einem metrischen Prädiktor, wie wir wie folgt annehmen:

Code: Alles auswählen
set.seed(4711)
uv1 <- ordered(c("klein", "mittel", "groß", "klein", "mittel", "mittel",
               "groß", "groß", "klein", "klein", "groß", "klein"),
             levels = c("klein", "mittel", "groß"))
uv2 <- ordered(c("hell", "hell", "hell", "dunkel", "dunkel", "mittel",
               "dunkel", "mittel", "mittel", "dunkel", "hell", "mittel"),
             levels = c("hell", "mittel", "dunkel"))
uv3 <- rnorm(12)
av <- c(2, 3, 4, 0, runif(8))


So, nun könnten wir eine ANOVA rechnen und erhalten eine ANOVA-Tabelle mit der erklärten Varianz:

Code: Alles auswählen
> aov(av ~ uv1 + uv2 + uv3)
Call:
  aov(formula = av ~ uv1 + uv2 + uv3)

Terms:
                      uv1       uv2       uv3 Residuals
Sum of Squares   2.128923 10.313665  2.435713  2.846426
Deg. of Freedom         2         2         1         6

Residual standard error: 0.6887702
Estimated effects may be unbalanced


Da sieht man dann gleich, dass uv2 mehr Varianz erklärt als uv1 oder uv3. Mehr dazu hier: https://stats.stackexchange.com/questio ... tes-sum-sq

Alternativ machst Du davon das summary und erhälst jetzt einen p-Wert im ganzen Modell pro Variable, nicht pro Faktorstufe:

Code: Alles auswählen
> aov(av ~ uv1 + uv2 + uv3) |> summary()
            Df Sum Sq Mean Sq F value Pr(>F) 
uv1          2  2.129   1.064   2.244 0.1873 
uv2          2 10.314   5.157  10.870 0.0101 *
uv3          1  2.436   2.436   5.134 0.0640 .
Residuals    6  2.846   0.474                 
---



Level 2: -0.0424367024
Level 3: -0.0373716727
Level 4: 0.0207501244


Zunächst einmal solltest Du Dir angewöhnen, Koeffizienten immer gemeinsam mir ihren Standardfehlern anzuschauen. Entweder hat diese ordinale Variable keinen monotonen Zusammenhang mit der Abhängigen, oder --und das ist oft so-- Level 4 kommt vielleicht nur selten in dem Datensatz vor und deshalb hat er einen großen Standardfehler und könnte genausogut wie 0.02 auch -0.05 sein.

Ist der Effekt von UV1 auf die AV nun insgesamt positiv oder negativ?

Niemand zwingt ihn, entweder negativ oder positiv zu sein, es könnte auch ein Mittelmaß am besten sein.

Dann gäbe es noch die Möglichkeit, die Vorhersagegenauigkeit zu vergleichen, wenn man jeweils eine UV einfach weglässt. So sieht man z. B., dass das RMSE kleiner ist, wenn UV1 im Modell fehlt als wenn UV2 im Modell fehlt. Ähnliches kann man mit dem R^2 oder mit dem AIC machen...
Code: Alles auswählen
sqrt(sum(lm(av ~ uv1 + uv3)$residuals^2))
sqrt(sum(lm(av ~ uv2 + uv3)$residuals^2))


HTH,
Bernhard
----
`Oh, you can't help that,' said the Cat: `we're all mad here. I'm mad. You're mad.'
`How do you know I'm mad?' said Alice.
`You must be,' said the Cat, `or you wouldn't have come here.'
(Lewis Carol, Alice in Wonderland)
bele
Schlaflos in Seattle
Schlaflos in Seattle
 
Beiträge: 5906
Registriert: Do 2. Jun 2011, 23:16
Danke gegeben: 16
Danke bekommen: 1395 mal in 1381 Posts

folgende User möchten sich bei bele bedanken:
Rota

Re: Vorzeichenwechsel der Reg.koeff. ordinaler Faktorvariabl

Beitragvon Rota » Mi 16. Feb 2022, 13:25

Vielen Dank für diese beiden hilfreichen Antworten!
Mir war nicht bewusst, dass R bei Regressionen keinen Unterschied zwischen nominalen und ordinalen Variablen macht. Nun weiß ich jedenfalls, wie ich ordinale Variablen modelliere, vielen Dank.

So, nun könnten wir eine ANOVA rechnen und erhalten eine ANOVA-Tabelle mit der erklärten Varianz: [...] Da sieht man dann gleich, dass uv2 mehr Varianz erklärt als uv1 oder uv3.

Das ist genau die Lösung, die ich gesucht habe! Durch die angegebenen, erklärten Varianzen jedes Prädiktors kann ich sehen, welcher Prädiktor den größten Anteil der AV-Varianz erklärt, super – vielen Dank für die große Hilfe!
Dazu frage ich mich noch: Sind diese erklärten Varianzen unabhängig von der Skalierung der UVs zwischen den UVs vergleichbar? Ich frage deshalb, weil man bei einer OLS-Regression bspw. ja auch erst die beta-Koeffizienten berechnen muss, wenn die UVs nicht auf der selben Skala vorliegen, um die einzelnen Koeffizienten überhaupt in ihrer Stärke miteinander vergleichen zu können. Ich würde annehmen, dass die erklärte Varianz unabhängig von der UV-Skalierung und daher zwischen unterschiedlichen UVs direkt vergleichbar ist, stimmt das?

Auch der Hinweis, dass man sich immer die Standardfehler der Koeffizienten mit anschauen sollte, hilft mir sehr weiter. Tatsächlich ist der Standardfehler bei meiner Beispielvariablen bei Level 4 sehr groß. Toll, dass ich das jetzt mit in meine Interpretation einbeziehen kann.

Eine letzte Sache verstehe ich noch nicht –
Niemand zwingt ihn, entweder negativ oder positiv zu sein, es könnte auch ein Mittelmaß am besten sein.

Nochmal das Beispiel mit UV1, hier die Ausgabe für UV1 nach dem Befehl summary (lm(Modell$AV ~ ., data=Modell):

Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.3886105 0.2630106 1.478 0.139832
UV1_Level2 -0.0380623 0.0223375 -1.704 0.088685 .
UV1_Level3 -0.0513151 0.0362003 -1.418 0.156627
UV1_Level4 0.0471170 0.0896916 0.525 0.599471

Wegen des großen Std. Errors könnte der tatsächliche Regressionskoeffizient von Level 4 wie von Bernhard erläutert tatsächlich auch bei zB -0,043 liegen und der von Level 3 zwischen den Reg.koeffizienten von Leveln 2 und 4, sodass generell ein negativer Einfluss von UV1 auf die AV vorläge.

Wie ist nun zu verstehen, dass der Zusammenhang zwischen UV1 und der AV auch "ein Mittelmaß" zwischen positivem und negativem Einfluss sein könnte? Meinem Verständnis nach kann ein Zusammenhang einer UV mit der AV nicht signifikant sein, wenn die Werte der AV über die einzelnen Faktorlevel der UV hinweg nicht entweder tendenziell ansteigen (positiver Zusammenhang) oder tendenziell abnehmen (negativer Zshg); in meinem Fall ist der Einfluss von UV1 auf die AV aber insgesamt hochsignifikant. Wenn sich der Einfluss der einzelnen Faktorlevel auf die AV insgesamt auf ein Mittelmaß ausgleichen würde, bliebe die AV dann von dieser UV insgesamt nicht eher unverändert, sodass kein signifikanter Zusammenhang vorläge?
Falls ich falsch liege, würde es mich freuen, wenn ihr mir auf die Sprünge helfen könntet. Ich versuche, mit der Interpretation des Einflusses von UV1 auf die AV eine Hypothese zu überprüfen; und wenn UV1 signifikant ist, aber ich keinen tendenziell positiven oder negativen Zusammenhang zur AV finden kann, kann ich über die Plausibilität meiner Hypothese nichts aussagen.

Herzlichen Dank nochmal und viele Grüße!
Rota
Grünschnabel
Grünschnabel
 
Beiträge: 7
Registriert: Mi 2. Feb 2022, 20:13
Danke gegeben: 3
Danke bekommen: 0 mal in 0 Post

Re: Vorzeichenwechsel der Reg.koeff. ordinaler Faktorvariabl

Beitragvon bele » Mi 16. Feb 2022, 16:03

Hallo Rota,

Das ist genau die Lösung, die ich gesucht habe!


Das freut mich natürlich besonders.

Durch die angegebenen, erklärten Varianzen jedes Prädiktors kann ich sehen, welcher Prädiktor den größten Anteil der AV-Varianz erklärt, super – vielen Dank für die große Hilfe!
[...] Ich würde annehmen, dass die erklärte Varianz unabhängig von der UV-Skalierung und daher zwischen unterschiedlichen UVs direkt vergleichbar ist, stimmt das?


Wie Du richtig schreibst, handelt es sich um die AV-Varianz, die erklärt wird, nicht um Varianzen der UV. Deshalb spielt auch die genaue Skalierung der UV dabei nicht so die Rolle. Die Koeffizienten werden dagegen mit den UV multipliziert, deshalb ist die Skalierung der UV da besonders wichtig.


Auch der Hinweis, dass man sich immer die Standardfehler der Koeffizienten mit anschauen sollte, hilft mir sehr weiter. Tatsächlich ist der Standardfehler bei meiner Beispielvariablen bei Level 4 sehr groß. Toll, dass ich das jetzt mit in meine Interpretation einbeziehen kann.


Freut mich. Noch mehr wünsche ich mir natürlich, dass Du für alles weitere was mit Statistik zu tun hast immer die Frage stellst, wie präzise irgendein Wert bestimmt ist.

Eine letzte Sache verstehe ich noch nicht –
Niemand zwingt ihn, entweder negativ oder positiv zu sein, es könnte auch ein Mittelmaß am besten sein.

Nochmal das Beispiel mit UV1, hier die Ausgabe für UV1 nach dem Befehl summary (lm(Modell$AV ~ ., data=Modell):


Wie ist nun zu verstehen, dass der Zusammenhang zwischen UV1 und der AV auch "ein Mittelmaß" zwischen positivem und negativem Einfluss sein könnte?


Gemeint war, dass mittlere Werte in der UV auch zu höheren Werten in der AV führen könnten als kleine oder große UV-Werte. Bei kontinuierlichen Prädiktoren würde man von einem kurvilinearen Zusammenhang sprechen und das mit einem quadratischen Term modellieren.

Meinem Verständnis nach kann ein Zusammenhang einer UV mit der AV nicht signifikant sein, wenn die Werte der AV über die einzelnen Faktorlevel der UV hinweg nicht entweder tendenziell ansteigen (positiver Zusammenhang) oder tendenziell abnehmen (negativer Zshg);


Wie bereits geschrieben, hat die OLS-Regression kein Konzept von ordinalen Variablen. Ordinale gehen als nominale Variablen ins Modell ein und bei nominalen gibt es kein Konzept von "über die einzelnen Faktorlevel hinweg". Die Faktorlevel gehen bei dieser Berechnung ganz ohne Reihenfolge ein.

Ich versuche, mit der Interpretation des Einflusses von UV1 auf die AV eine Hypothese zu überprüfen; und wenn UV1 signifikant ist, aber ich keinen tendenziell positiven oder negativen Zusammenhang zur AV finden kann, kann ich über die Plausibilität meiner Hypothese nichts aussagen.


Mit der Varianzanalyse kannst Du zeigen, dass diese Variable beim Vorhersagen der AV nützlich ist und wieviel Varianz der AV aufgeklärt wird, wenn man jedem Faktorlevel frei einen Koeffizienten zuordnen darf. Wenn die Reihenfolge der Faktorenstufen (in R: "level") für Dich essentiell ist, musst Du entweder schauen, ob die Koeffizienten zu dieser Annahme passen, oder Du hast das falsche Verfahren. Eine Rangkorrelation beispielsweise kann ordinal-monotone Zusammenhänge prüfen.

LG,
Bernhard
----
`Oh, you can't help that,' said the Cat: `we're all mad here. I'm mad. You're mad.'
`How do you know I'm mad?' said Alice.
`You must be,' said the Cat, `or you wouldn't have come here.'
(Lewis Carol, Alice in Wonderland)
bele
Schlaflos in Seattle
Schlaflos in Seattle
 
Beiträge: 5906
Registriert: Do 2. Jun 2011, 23:16
Danke gegeben: 16
Danke bekommen: 1395 mal in 1381 Posts


Zurück zu Regressionanalyse

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 12 Gäste

cron