Was sind zufällige Effekte und feste Effekte?
Bei der Gestaltung einer Studie möchten wir häufig unabhängige Variablen von denen isolieren, die kein Interesse haben, ihre wahren Auswirkungen auf die abhängigen Variablen zu beobachten. Angenommen, wir möchten beispielsweise die Auswirkungen der Verwendung von Github Copilot untersuchen (unabhängige Variable) zur Produktivität der Entwickler (abhängige Variable). Ein Ansatz besteht darin, zu messen, wie viel Zeit die Entwickler mit Copilot verbringen und wie schnell sie Codierungsaufgaben erledigen. Auf den ersten Blick können wir eine starke constructive Korrelation beobachten: mehr Kopilotenverbrauch, schnellere Aufgabenabschluss.
Andere Faktoren können jedoch auch beeinflussen, wie schnell Entwickler ihre Arbeit beenden. Zum Beispiel kann Unternehmen A möglicherweise schnellere CI/CD-Pipelines haben oder mit kleineren und einfacheren Aufgaben umgehen, während Unternehmen B möglicherweise lange Codeüberprüfungen benötigen oder komplexere und zeitaufwändigere Aufgaben erledigen. Wenn wir diese organisatorischen Unterschiede nicht berücksichtigen, können wir fälschlicherweise zu dem Schluss kommen, dass Copilot für Entwickler in Unternehmen B weniger effektiv ist, obwohl es die Umgebung ist, nicht die Umgebung, die sie wirklich verlangsamt.
Diese Artwork von Variationen auf Gruppenebene-Unterschiede zwischen Groups, Unternehmen oder Projekten-sind in der Regel als bekannt als “Zufällige Effekte“ oder “Feste Effekte“.
Fixe Effekte sind von interessierende Variablen, wobei jede Gruppe unter Verwendung einer HOT-Codierung separat behandelt wird. Da die Variabilität innerhalb der Gruppen innerhalb jeder Dummy-Variable ordentlich erfasst wird, gehen wir davon aus, dass die Varianz jeder Gruppe ähnlich oder homoskedastisch ist.
.
wo d1iD2i,… Sind jeweils Dummy -Variablen, die Gruppe D darstellen1iD2i,… Und γ₁, γ₂,… sind für jede entsprechende Gruppe feste Effektkoeffizienten.
Zufällige Effekte hingegen sind typischerweise keine Variablen von Interesse. Wir gehen davon aus, dass jede Gruppe Teil einer breiteren Bevölkerung ist und jeder Gruppeneffekt liegt irgendwo innerhalb einer breiteren Wahrscheinlichkeitsverteilung dieser Bevölkerung. Daher ist die Varianz jeder Gruppe heterogen.
(y_ {ij} = beta_0 + beta_1 x_ {ij} + u_j + varepsilon_ {ij} )
wo duJ ist ein zufälliger Effekt der Gruppe J von Probe I, die aus einer Verteilung entnommen wird, typischerweise eine Normalverteilung 𝒩 (0, σ²ᵤ).
Überdenken sorgfältig feste und zufällige Effekte
Es kann jedoch Ihre Analyse irreführen, wenn Sie diese Effekte zufällig in Ihr Modell einfügen, ohne sorgfältig darüber nachzudenken, welche Arten von Variationen sie tatsächlich erfassen.
Ich habe kürzlich an einer Projektanalyse gearbeitet Umweltauswirkungen von KI -Modellenwas ich untersuchte, wie bestimmte architektonische Funktionen (Anzahl der Parameter, Anzahl der Laptop, Datensatzgröße und Trainingszeit) und Hardwareauswahl ({Hardware} -Typ, Anzahl der {Hardware}) von KI -Modellen den Energieverbrauch während des Trainings beeinflussen. Ich fand das Training_timeAnwesend Hardware_quantityUnd Hardware_type den Energieverbrauch erheblich beeinflusst. Die Beziehung kann grob modelliert werden als:
( textual content {energie} = textual content {training_time} + textual content {hardware_quantity} + textual content {{Hardware}} )
Da ich dachte, es könnte Unterschiede zwischen Organisationen geben, beispielsweise in Bezug Group Da zufällige Effekte dazu beitragen würden, all diese nicht beobachteten potenziellen Unterschiede zu erklären. Um meine Annahme zu testen, habe ich die Ergebnisse von zwei Modellen verglichen: mit und ohne Groupum zu sehen, welches besser passt. In den beiden Modellen die abhängige Variable Power battle extrem rechtsgerichtet, additionally habe ich eine logarithmische Transformation angewendet, um seine Varianz zu stabilisieren. Hier habe ich generalisierte lineare Modelle (GLM) verwendet, da die Verteilung meiner Daten nicht regular battle.
glm <- glm(
log_Energy ~ Training_time_hour +
Hardware_quantity +
Training_hardware,
information = df)
abstract(glm)
glm_random_effects <- glmer(
log_Energy ~ Training_time_hour +
Hardware_quantity +
Training_hardware +
(1 | Group), // Random results
information = df)
abstract(glm_random_effects)
AIC(glm_random_effects)
Das GLM -Modell ohne Group produzierte eine AIC von 312,55 mit Training_timeAnwesend Hardware_quantityund bestimmte Arten von {Hardware} waren statistisch signifikant.
> abstract(glm)
Name:
glm(components = log_Energy ~ Training_time_hour + Hardware_quantity +
Training_hardware, information = df)
Coefficients:
Estimate Std. Error t worth Pr(>|t|)
(Intercept) 7.134e+00 1.393e+00 5.123 5.07e-06 ***
Training_time_hour 1.509e-03 2.548e-04 5.922 3.08e-07 ***
Hardware_quantity 3.674e-04 9.957e-05 3.690 0.000563 ***
Training_hardwareGoogle TPU v3 1.887e+00 1.508e+00 1.251 0.216956
Training_hardwareGoogle TPU v4 3.270e+00 1.591e+00 2.055 0.045247 *
Training_hardwareHuawei Ascend 910 2.702e+00 2.485e+00 1.087 0.282287
Training_hardwareNVIDIA A100 2.528e+00 1.511e+00 1.674 0.100562
Training_hardwareNVIDIA A100 SXM4 40 GB 3.103e+00 1.750e+00 1.773 0.082409 .
Training_hardwareNVIDIA A100 SXM4 80 GB 3.866e+00 1.745e+00 2.216 0.031366 *
Training_hardwareNVIDIA GeForce GTX 285 -4.077e+00 2.412e+00 -1.690 0.097336 .
Training_hardwareNVIDIA GeForce GTX TITAN X -9.706e-01 1.969e+00 -0.493 0.624318
Training_hardwareNVIDIA GTX Titan Black -8.423e-01 2.415e+00 -0.349 0.728781
Training_hardwareNVIDIA H100 SXM5 80GB 3.600e+00 1.864e+00 1.931 0.059248 .
Training_hardwareNVIDIA P100 -1.663e+00 1.899e+00 -0.876 0.385436
Training_hardwareNVIDIA Quadro P600 -1.970e+00 2.419e+00 -0.814 0.419398
Training_hardwareNVIDIA Quadro RTX 4000 -1.367e+00 2.424e+00 -0.564 0.575293
Training_hardwareNVIDIA Quadro RTX 5000 -2.309e+00 2.418e+00 -0.955 0.344354
Training_hardwareNVIDIA Tesla K80 1.761e+00 1.988e+00 0.886 0.380116
Training_hardwareNVIDIA Tesla V100 DGXS 32 GB 3.415e+00 1.833e+00 1.863 0.068501 .
Training_hardwareNVIDIA Tesla V100S PCIe 32 GB 3.698e+00 2.413e+00 1.532 0.131852
Training_hardwareNVIDIA V100 -3.638e-01 1.582e+00 -0.230 0.819087
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for gaussian household taken to be 3.877685)
Null deviance: 901.45 on 69 levels of freedom
Residual deviance: 190.01 on 49 levels of freedom
AIC: 312.55
Variety of Fisher Scoring iterations: 2
Andererseits das GLM -Modell mit Group produzierte eine AIC von 300,38, viel niedriger als das Vorgängermodell, was auf eine bessere Modellanpassung hinweist. Als ich jedoch genauer hinschaute, bemerkte ich ein bedeutendes Drawback: Die statistische Bedeutung anderer Variablen ist verschwunden, als ob Group nahm die Bedeutung von ihnen weg!
> abstract(glm_random_effects)
Linear blended mannequin match by REML ('lmerMod')
Formulation: log_Energy ~ Training_time_hour + Hardware_quantity + Training_hardware +
(1 | Group)
Knowledge: df
REML criterion at convergence: 254.4
Scaled residuals:
Min 1Q Median 3Q Max
-1.65549 -0.24100 0.01125 0.26555 1.51828
Random results:
Teams Identify Variance Std.Dev.
Group (Intercept) 3.775 1.943
Residual 1.118 1.057
Variety of obs: 70, teams: Group, 44
Fastened results:
Estimate Std. Error t worth
(Intercept) 6.132e+00 1.170e+00 5.243
Training_time_hour 1.354e-03 2.111e-04 6.411
Hardware_quantity 3.477e-04 7.035e-05 4.942
Training_hardwareGoogle TPU v3 2.949e+00 1.069e+00 2.758
Training_hardwareGoogle TPU v4 2.863e+00 1.081e+00 2.648
Training_hardwareHuawei Ascend 910 4.086e+00 2.534e+00 1.613
Training_hardwareNVIDIA A100 3.959e+00 1.299e+00 3.047
Training_hardwareNVIDIA A100 SXM4 40 GB 3.728e+00 1.551e+00 2.404
Training_hardwareNVIDIA A100 SXM4 80 GB 4.950e+00 1.478e+00 3.349
Training_hardwareNVIDIA GeForce GTX 285 -3.068e+00 2.502e+00 -1.226
Training_hardwareNVIDIA GeForce GTX TITAN X 4.503e-02 1.952e+00 0.023
Training_hardwareNVIDIA GTX Titan Black 2.375e-01 2.500e+00 0.095
Training_hardwareNVIDIA H100 SXM5 80GB 4.197e+00 1.552e+00 2.704
Training_hardwareNVIDIA P100 -1.132e+00 1.512e+00 -0.749
Training_hardwareNVIDIA Quadro P600 -1.351e+00 1.904e+00 -0.710
Training_hardwareNVIDIA Quadro RTX 4000 -2.167e-01 2.503e+00 -0.087
Training_hardwareNVIDIA Quadro RTX 5000 -1.203e+00 2.501e+00 -0.481
Training_hardwareNVIDIA Tesla K80 1.559e+00 1.445e+00 1.079
Training_hardwareNVIDIA Tesla V100 DGXS 32 GB 3.751e+00 1.536e+00 2.443
Training_hardwareNVIDIA Tesla V100S PCIe 32 GB 3.487e+00 1.761e+00 1.980
Training_hardwareNVIDIA V100 7.019e-01 1.434e+00 0.489
Correlation matrix not proven by default, as p = 21 > 12.
Use print(x, correlation=TRUE) or
vcov(x) for those who want it
match warnings:
Some predictor variables are on very totally different scales: contemplate rescaling
> AIC(glm_random_effects)
(1) 300.3767
Nachdem es sorgfältig darüber nachdachte, machte es viel Sinn. Bestimmte Organisationen bevorzugen konsequent bestimmte {Hardware} -Arten oder größere Unternehmen können sich möglicherweise teurere {Hardware} und Ressourcen leisten, um größere KI -Modelle zu schulen. Mit anderen Worten, die zufälligen Effekte hier überlappten und erklärten die Variationen unserer verfügbaren unabhängigen Variablen wahrscheinlich und haben daher einen großen Teil dessen absorbiert, was wir untersuchen wollten.
Dies zeigt einen wichtigen Punkt: Während zufällige oder feste Effekte nützliche Instrumente sind, um unerwünschte Unterschiede auf Gruppenebene zu kontrollieren, können sie auch die zugrunde liegenden Variationen unserer unabhängigen Variablen ungewollt erfassen. Wir sollten sorgfältig überlegen, was diese Effekte wirklich darstellen, bevor wir sie nur blind in unsere Modelle einführen, in der Hoffnung, dass sie das ganze Geräusch glücklich aufnehmen würden.
Referenzen: Steve Halfway, Datenanalyse in R,, https://bookdown.org/steve_midway/dar/random-effects.html
