Auswirkung der Basislinie auf die zeitliche Veränderung in gemischten Modellen?


7

Ich habe mich gefragt, ob und wie es möglich ist, innerhalb einer Stichprobe eine zeitliche Änderung des Ergebnisses zu modellieren, die vom Basiswert dieses Ergebnisses abhängt, wobei ein gemischtes Modell verwendet wird.

Stellen Sie sich zum Beispiel eine Situation vor, in der derselbe Wissenstest fünfmal an dieselbe Personengruppe durchgeführt wird. Da die Fragen immer gleich sind, lernen die Schüler im Laufe der Zeit die richtigen Antworten und erzielen bei jeder Verwaltung eine höhere Punktzahl. Bei denjenigen, die zuerst ein hohes Ergebnis erzielt haben, wird es jedoch weniger Veränderungen geben als bei denjenigen, die zuerst ein schlechtes Ergebnis erzielt haben. Somit ist es ziemlich offensichtlich, dass die Änderungsrate vom Grundlinienwert abhängt.

Ich weiß, dass ich in gemischten Modellen zusätzlich zu einem zufälligen Achsenabschnitt eine zufällige Steigung für die Zeit einschließen könnte, um der Tatsache Rechnung zu tragen, dass sich bei einigen Schülern mehr Änderungen ergeben als bei anderen. Kann ich jedoch zu Recht davon ausgehen, dass es nicht möglich oder sinnvoll ist, den Wert der ersten Messung als Basiskovariate (und ihre Wechselwirkung mit der Zeit) einzubeziehen? Es fühlt sich für mich auf jeden Fall nicht richtig an. Andererseits verwirrt es mich, dass es nicht möglich wäre, den Effekt des Grundlinienwerts explizit mit einem festen Effekt zu modellieren. Ich muss zugeben, dass ich darüber etwas verwirrt bin. Jede Hilfe wäre sehr dankbar.


Warum sollte es nicht möglich sein? Eines der am häufigsten verwendeten Modelle für wiederholte Messungen hat das Ergebnis (entweder Absolutwert oder Änderung gegenüber der Basislinie) als abhängige Variable und einen Faktor für die Bewertungszeit, eine Kovariate für die Basislinie und eine Basislinie für die Bewertungsinteraktion (normalerweise mit unstrukturierter Kovarianzmatrix und Nennergraden) der nach der Kenward-Rogers-Methode berechneten Freiheit).
Björn


@ Björn Meine Vorbehalte beruhten auf der Tatsache, dass ein Teil der Ergebnisdaten auch als unabhängige Variable verwendet werden würde, was mir intuitiv problematisch erschien (zum Beispiel hinsichtlich der Abschätzung oder Interpretation der Auswirkungen). Oder würde das Modell, auf das Sie sich beziehen, die Basisbeobachtungen aus den Ergebnisdaten ausschließen?
h_bauer

1
@AndyW Ich habe diesen Thread teilweise schon einmal gelesen und konnte ehrlich gesagt die Verbindung zu gemischten Modellen nicht wirklich herstellen, möglicherweise weil mir Hintergrundinformationen fehlen. Ich werde es noch einmal
versuchen

Wenn es in das Modell aufgenommen wird, wird es sicherlich auch nicht als Ergebnis modelliert.
Björn

Antworten:


7

Dies scheint ein Wachstumsmodellszenario zu sein. Angenommen, wir hatten die folgenden Variablen:

  • occasion: Mit Werten 1, 2, 3, 4, um 5die Gelegenheit zu reflektieren , dass Test genommen wurde, 1die erste oder Basislinie zu sein.
  • ID: die Kennung jedes Teilnehmers.
  • score: das Testergebnis für diesen Teilnehmer bei dieser Testgelegenheit.

Zufällige Abschnitte für IDkümmern sich um die verschiedenen Basislinien (sofern genügend Teilnehmer vorhanden sind.

Ein einfaches lineares Mischeffektmodell für diese Daten lautet daher (unter Verwendung der lme4Syntax):

score ~ occasion + (1|ID)

oder

score ~ occasion + (occasion|ID)

wobei letzteres ermöglicht, dass die lineare Steigung des Anlasses zwischen den Teilnehmern variiert

Für das spezielle Beispiel im OP haben wir jedoch das zusätzliche Problem, dass die scoreVariable oben durch die maximale Punktzahl im Test begrenzt ist. Um dies zu ermöglichen, müssen wir nichtlineares Wachstum berücksichtigen. Dies könnte auf verschiedene Weise erreicht werden, wobei die einfachste die Hinzufügung quadratischer und möglicherweise kubischer Terme zum Modell ist:

score ~ occasion + I(occasion^2) + I(occasion^3) + (1|ID)

Schauen wir uns ein Spielzeugbeispiel an:

require(lme4)
require(ggplot2)

dt2 <- structure(list(occasion = c(0, 1, 2, 3, 4, 0, 1, 2, 3, 4, 0, 1, 2, 3, 4, 0, 1, 2, 3, 4, 0, 1, 2, 3, 4, 0, 1, 2, 3, 4), score = c(55.5, 74.5, 92.5, 97.5, 98.5, 54.5, 81.5, 94.5, 97.5, 98.5, 47.5, 68.5, 86.5, 96.5, 98.5, 56.5, 86.5, 91.5, 97.5, 98.5, 60.5, 84.5, 95.5, 97.5, 99.5, 73.5, 87.5, 96.5, 98.5, 99.5), ID = structure(c(1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L, 4L, 5L, 5L, 5L, 5L, 5L, 6L, 6L, 6L, 6L, 6L), .Label = c("1", "2", "3", "4", "5", "6"), class = "factor")), .Names = c("occasion", "score", "ID"), row.names = c(25L, 26L, 27L, 28L, 29L, 31L, 32L, 33L, 34L, 35L, 37L, 38L, 39L, 40L, 41L, 43L, 44L, 45L, 46L, 47L, 49L, 50L, 51L, 52L, 53L, 55L, 56L, 57L, 58L, 59L), class = "data.frame")

m1 <- lmer(score~occasion+(1|ID),data=dt2)

fun1 <- function(x) fixef(m1)[1] + fixef(m1)[2]*x

ggplot(dt2,aes(x=occasion,y=score, color=ID)) + geom_line(size=0.65) + geom_point() +
 stat_function(fun=fun1, geom="line", size=1, colour="black")

Geben Sie hier die Bildbeschreibung ein

Hier haben wir Diagramme für 6 Teilnehmer, die über 5 aufeinanderfolgende Gelegenheiten gemessen wurden, und wir haben die festen Effekte mit der durchgezogenen schwarzen Linie aufgezeichnet. Dies ist eindeutig kein gutes Modell für diese Daten. Daher führen wir nach dem Zentrieren der Daten einen quadratischen und dann einen kubischen Term ein, um die Kollinearität zu verringern:

dt2$occasion <- dt2$occasion - mean(dt2$occasion)

m2 <- lmer(score~occasion + I(occasion^2) + (1|ID),data=dt2)
fun2 <- function(x) fixef(m2)[1] + fixef(m2)[2]*x + fixef(m2)[3]*(x^2)

m3 <- lmer(score~occasion + I(occasion^2) + I(occasion^3) + (1|ID),data=dt2)
fun3 <- function(x) fixef(m3)[1] + fixef(m3)[2]*x + fixef(m3)[3]*(x^2) + fixef(m3)[4]*(x^3)


p2 <- ggplot(dt2,aes(x=occasion,y=score, color=ID)) + geom_line(size=0.5) + geom_point()

p2 + stat_function(fun=fun2, geom="line", size=1, colour="black")

Geben Sie hier die Bildbeschreibung ein

Hier sehen wir, dass das quadratische Modell eine offensichtliche Verbesserung gegenüber dem Nur-Linear-Modell darstellt, aber nicht ideal ist, da es die Ergebnisse für die endgültige Messung unterschätzt und für die vorherige überschätzt.

Das kubische Modell scheint dagegen sehr gut zu funktionieren:

p2 + stat_function(fun=fun3, geom="line", size=1, colour="black")

Geben Sie hier die Bildbeschreibung ein

Ein etwas ausgefeilterer Ansatz besteht darin, die Explizität der oberen Grenze zu erkennen und (zum Beispiel) ein logistisches Wachstumskurvenmodell zu verwenden. Eine Möglichkeit, dies zu erreichen, besteht darin, das Ergebnis in einen Anteil (der Obergrenze) umzuwandeln, z. B. und dann das Logit dieses Anteils als Ergebnis eines linearen Mischeffektmodells zu modellieren . Zusätzlich zum Erkennen der Obergrenze hat dies den zusätzlichen Vorteil, dass die Heteroskastizität in den Residuen der nicht transformierten Daten modelliert wird, da es wahrscheinlich ist, dass bei aufeinanderfolgenden Tests (unter der Annahme, dass die Ergebnisse besser werden) weniger Varianz auftritt.ππ/(1π)

Wenn dies wie erwartet in die Praxis umgesetzt wird, wird auch der allgemeine Trend in den Daten sehr gut modelliert:

pi <- dt2$score/100
dt2$logitpi <- log(pi/(1-pi))

m0 <- lmer(logitpi~occasion+(1|ID),data=dt2)
funlogis <- function(x) 100*exp(fixef(m0)[1] + fixef(m0)[2]*x)/(1+exp(fixef(m0)[1] + fixef(m0)[2]*x))
p2 + stat_function(fun=funlogis, geom="line", size=0.5, colour="black")

Geben Sie hier die Bildbeschreibung ein

Das Folgende zeigt den kubischen Modus und die logistischen Wachstumsmodelle, die zusammen dargestellt sind, und wir sehen nur einen sehr geringen Unterschied zwischen ihnen, obwohl wir, wie oben erwähnt, das logistische Wachstumsmodell aufgrund des Problems der Heteroskedastizität bevorzugen könnten:

p2 +  stat_function(fun=fun3, geom="line", size=1, colour="black")  +
stat_function(fun=funlogis, geom="line", size=1, colour="blue")

EIN

Ein differenzierterer Ansatz wäre immer noch die Verwendung eines nichtlinearen Modells mit gemischten Effekten, bei dem die logistische Wachstumskurve explizit modelliert wird, wodurch zufällige Variationen der Parameter der logistischen Funktion selbst ermöglicht werden.


Vielen Dank für das ausführliche Beispiel! Insbesondere der Punkt über die Logit-Transformation des Skalenprozentsatzes ist ein guter Punkt, den ich nicht berücksichtigt hatte. Während eine zufällige Steigung die Variation in den Wachstumskurven absorbieren würde, wird die Tatsache, dass die Wachstumsrate durch den Basislinienwert bestimmt wird, nicht explizit angesprochen. Glauben Sie, dass es in den von Ihnen skizzierten Modellen in irgendeiner Weise möglich ist, eine Art "Baseline Score * Time" -Interaktion einzubeziehen? Oder ist das überhaupt sinnvoll?
h_bauer
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.