So erhalten Sie das Konfidenzintervall für die Änderung des Populations-R-Quadrats

10

Als einfaches Beispiel wird angenommen, dass es zwei lineare Regressionsmodelle gibt

  • Modell 1 hat drei Prädiktoren x1a, x2bundx2c
  • Modell 2 hat drei Prädiktoren aus Modell 1 und zwei zusätzliche Prädiktoren x2aundx2b

Es gibt eine Populationsregressionsgleichung, bei der die erklärte Populationsvarianz für Modell 1 für Modell 2 . Die durch Modell 2 erklärte inkrementelle Varianz in der Population ist ρ 2 ( 2 ) Δ ρ 2 = ρ 2 ( 2 ) - ρ 2 ( 1 )ρ(1)2ρ(2)2Δρ2=ρ(2)2ρ(1)2

Ich bin daran interessiert, Standardfehler und Konfidenzintervalle für einen Schätzer von . Während das Beispiel 3 bzw. 2 Prädiktoren umfasst, betrifft mein Forschungsinteresse eine breite Palette unterschiedlicher Anzahlen von Prädiktoren (z. B. 5 und 30). Mein erster Gedanke war, als Schätzer zu verwenden und es zu booten, aber ich war mir nicht sicher, ob dies der Fall sein würde sei anständig. Δ r 2 a d j = r 2 a d j ( 2 ) - r 2 a d j ( 1 )Δρ2Δradj2=radj(2)2radj(1)2

Fragen

  • Ist ein vernünftiger Schätzer für ? Δ ρ 2Δradj2Δρ2
  • Wie kann ein Konfidenzintervall für die Änderung des Populations-R-Quadrats erhalten werden (dh )?Δρ2
  • Wäre Bootstrapping für die Berechnung des Konfidenzintervalls geeignet?Δρ2

Hinweise auf Simulationen oder die veröffentlichte Literatur sind ebenfalls sehr willkommen.

Beispielcode

Wenn es hilft, habe ich in R einen kleinen Simulationsdatensatz erstellt, mit dem eine Antwort demonstriert werden kann:

n <- 100
x <- data.frame(matrix(rnorm(n *5), ncol=5))
names(x) <- c('x1a', 'x1b', 'x1c', 'x2a', 'x2b')
beta <- c(1,2,3,1,2)
model2_rho_square <- .7
error_rho_square <- 1 - model2_rho_square
error_sd <- sqrt(error_rho_square / model2_rho_square* sum(beta^2))
model1_rho_square <- sum(beta[1:3]^2) / (sum(beta^2) + error_sd^2)
delta_rho_square <- model2_rho_square - model1_rho_square

x$y <- rnorm(n, beta[1] * x$x1a + beta[2] * x$x1b + beta[3] * x$x1c +
               beta[4] * x$x2a + beta[5] * x$x2b, error_sd)

c(delta_rho_square, model1_rho_square, model2_rho_square)
summary(lm(y~., data=x))$adj.r.square - 
        summary(lm(y~x1a + x1b + x1c, data=x))$adj.r.square

Grund zur Sorge um Bootstrap

Ich habe einen Bootstrap für einige Daten mit etwa 300 Fällen und 5 Prädiktoren im einfachen Modell und 30 Prädiktoren im vollständigen Modell ausgeführt. Während die Stichprobenschätzung unter Verwendung der angepassten r-Quadrat-Differenz war 0.116, war das Boostrapped-Konfidenzintervall meist größer als CI95% (0,095 bis 0,214) und der Mittelwert der Bootstraps lag bei weitem nicht in der Nähe der Stichprobenschätzung. Vielmehr schien der Mittelwert der Boostrapped-Proben auf der Stichprobenschätzung der Differenz zwischen den r-Quadraten in der Probe zentriert zu sein. Dies trotz der Tatsache, dass ich die stichprobenangepassten r-Quadrate verwendet habe, um die Differenz abzuschätzen.

Interessanterweise habe ich eine alternative Methode zur Berechnung von als ausprobiertΔρ2

  1. Berechnen Sie die Änderung des R-Quadrats der Stichprobe
  2. Passen Sie die Änderung des R-Quadrats der Stichprobe mithilfe der standardmäßigen angepassten R-Quadrat-Formel an

Bei Anwendung auf die Probendaten reduzierte dies die Schätzung von auf, aber die Konfidenzintervalle schienen für die zuerst erwähnte Methode CI95% (.062, .179) mit einem Mittelwert von .118 angemessen zu sein.Δρ2.082

Im Allgemeinen bin ich besorgt, dass beim Bootstrapping davon ausgegangen wird, dass es sich bei der Stichprobe um die Grundgesamtheit handelt, und daher Schätzungen, die sich aufgrund einer Überanpassung verringern, möglicherweise nicht angemessen funktionieren.

Jeromy Anglim
quelle
"Ich bin jedoch besorgt, dass das Bootstrapping eines solchen bevölkerungsbereinigten Werts problematisch sein könnte." -- Warum?
Januar
@ Januar Ich habe die Frage bearbeitet und versucht, meine Besorgnis über das Bootstrapping mit angepasstem R-Quadrat auszudrücken.
Jeromy Anglim
Was ist die Bevölkerung R im Quadrat ? Ich habe mir die hier gegebene Definition angesehen, aber für mich macht die Varianz keinen Sinn, weil die nicht identisch verteilt sind. y iσy2yi
Stéphane Laurent
@ StéphaneLaurent ist der Prozentsatz der Varianz, der in der Population durch die Populationsregressionsgleichung erklärt wird. Oder Sie können es asymptotisch als den Anteil der Varianz definieren, der in Ihrer Stichprobe erklärt wird, wenn sich Ihre Stichprobengröße der Unendlichkeit nähert. Siehe auch diese Antwort zu unvoreingenommenen Schätzungen des Bevölkerungs-R-Quadrats . Es ist besonders relevant in der Psychologie, wo wir oft mehr an der wahren Beziehung interessiert sind, als unsere geschätzte Vorhersagegleichung tatsächlich anzuwenden.
Jeromy Anglim
3
Ein F-Test kann als Test der Hypothese . Kann damit das von Ihnen gesuchte Standardfehler- und Konfidenzintervall abgeleitet werden? Δρ2=0
Maarten Buis

Antworten:

3

BevölkerungR2

Ich versuche zunächst, die Definition der Bevölkerung im R-Quadrat zu verstehen .

Zitieren Sie Ihren Kommentar:

Oder Sie können es asymptotisch als den Anteil der Varianz definieren, der in Ihrer Stichprobe erklärt wird, wenn sich Ihre Stichprobengröße der Unendlichkeit nähert.

Ich denke, Sie meinen, dies ist die Grenze der Stichprobe wenn man das Modell unendlich oft repliziert (mit den gleichen Prädiktoren bei jedem Replikat). R2

Wie lautet also die Formel für den asymptotischen Wert der Probe ? Schreiben Sie Ihr lineares Modell wie in /stats//a/58133/8402 und verwenden Sie dieselben Notationen wie dieser Link. Dann kann man überprüfen, ob die Probe zu wenn man das Modell unendlich oft repliziert .R²Y=μ+σG
R2popR2:=λn+λY=μ+σG

Zum Beispiel:

> ## design of the simple regression model lm(y~x0)
> n0 <- 10
> sigma <- 1
> x0 <- rnorm(n0, 1:n0, sigma)
> a <- 1; b <- 2 # intercept and slope
> params <- c(a,b)
> X <- model.matrix(~x0)
> Mu <- (X%*%params)[,1]
> 
> ## replicate this experiment k times 
> k <- 200
> y <- rep(Mu,k) + rnorm(k*n0)
> # the R-squared is:
> summary(lm(y~rep(x0,k)))$r.squared 
[1] 0.971057
> 
> # theoretical asymptotic R-squared:
> lambda0 <- crossprod(Mu-mean(Mu))/sigma^2
> lambda0/(lambda0+n0)
          [,1]
[1,] 0.9722689
> 
> # other approximation of the asymptotic R-squared for simple linear regression:
> 1-sigma^2/var(y)
[1] 0.9721834

Population eines SubmodellsR2

Nehmen wir nun an, das Modell ist mit und betrachten Sie das Untermodell .Y=μ+σGH1:μW1H0:μW0

Dann sagte I oben , dass die Population von Modell ist wo und und dann hat man einfach .R2H1popR12:=λ1n+λ1λ1=PZ1μ2σ2Z1=[1]W1PZ1μ2=(μiμ¯)2

Definieren Sie nun die Population des Submodells als den asymptotischen Wert des , der in Bezug auf das Modell berechnet wurde, jedoch unter der Verteilungsannahme des Modells ? Der asymptotische Wert (falls vorhanden) scheint schwieriger zu finden.R2 H0R2H0H1

Stéphane Laurent
quelle
Danke Stéphane. Ich muss darüber nachdenken, was du sagst. In Bezug auf Ihre Frage. Ich gehe davon aus, dass der wahre Datenerzeugungsprozess nicht bekannt ist, aber dass er für beide Modelle gleich ist, aber dass es einen wahren Anteil der Varianz gibt, der durch die lineare Regression in Modell 1 und Modell 2 erklärt wird.
Jeromy Anglim
@ JeromyAnglim Formula (A3) dieses Papiers ist ein besonderer Fall meiner Formel für das Einweg-ANOVA-Modell. Meine Formel sollte also die allgemeine Definition der Population , aber dies ist nicht das, was Sie in Ihrem OP verwenden. R2
Stéphane Laurent
1
@ JeromyAnglim Die Studie dieses Papiers scheint nahe an dem zu sein, wonach Sie suchen (mit zufälligen Prädiktoren).
Stéphane Laurent
Vielen Dank. Das Papier von Algina, Keselman und Penfield sieht sehr nützlich aus. Ich habe meiner Antwort einige Kommentare hinzugefügt .
Jeromy Anglim
@ JeromyAnglim Was ist also die Annahme über die Prädiktoren? Sie werden nach einer multivariaten Gaußschen Verteilung erzeugt?
Stéphane Laurent
1

Anstatt die von Ihnen gestellte Frage zu beantworten, werde ich fragen, warum Sie diese Frage stellen. Ich nehme an, Sie möchten wissen, ob

mod.small <- lm(y ~ x1a + x1b + x1c, data=x)

ist mindestens so gut wie

mod.large <- lm(y ~ ., data=x)

beim Erklären y. Da diese Modelle verschachtelt sind, scheint die naheliegende Möglichkeit, diese Frage zu beantworten, darin zu bestehen, eine Varianzanalyse durchzuführen, in der sie verglichen werden, genauso wie Sie möglicherweise eine Abweichungsanalyse für zwei GLMs durchführen, z

anova(mod.small, mod.large)

Dann könnten Sie die Beispiel-R-Quadrat-Verbesserung zwischen Modellen als Ihre beste Vermutung für die Anpassungsverbesserung in der Population verwenden, wobei Sie immer davon ausgehen, dass Sie das R-Quadrat der Population verstehen können. Persönlich bin ich mir nicht sicher, ob ich das kann, aber damit spielt es keine Rolle.

Im Allgemeinen, wenn Sie an Bevölkerungsmengen interessiert sind, sind Sie vermutlich an einer Verallgemeinerung interessiert, sodass ein Stichprobenanpassungsmaß nicht ganz das ist, was Sie wollen, jedoch "korrigiert". Zum Beispiel scheint eine Kreuzvalidierung einer bestimmten Menge, die die Art und Menge der tatsächlichen Fehler schätzt, die Sie aus der Stichprobe erwarten könnten, wie z. B. MSE, genau das zu erreichen, was Sie möchten.

Aber es ist gut möglich, dass mir hier etwas fehlt ...

Konjugatprior
quelle
Ich schätze Ihre Antwort und es kann durchaus ein guter Rat für andere sein. Mein Forschungskontext bedeutet jedoch, dass ich mich zu Recht für das Delta-Rho-Quadrat interessiere. Während sich die meisten Statistiker häufig mehr mit dem prädiktiven Nutzen eines Modells befassen (z. B. kreuzvalidiertes Delta-R-Quadrat), bin ich Psychologe und interessiere mich speziell für das Eigentum der Bevölkerung. Darüber hinaus interessiert mich die statistische Signifikanz der Verbesserung nicht. Ich interessiere mich für die Größe der Verbesserung. Und ich finde, dass Delta-R-Quadrat eine nützliche Metrik ist, um diese Größe der Verbesserung zu indizieren.
Jeromy Anglim
In Bezug auf MSE verwenden verschiedene psychologische Studien Maßnahmen zu sehr unterschiedlichen Metriken. Standardisierte Maßnahmen wie das R-Quadrat haben also eine richtige oder falsche Anziehungskraft.
Jeromy Anglim
Fair genug, besonders bei MSE. Ich bin immer noch etwas verwirrt über das Interesse an Bootstrapping und Populationsinferenz, aber das mangelnde Interesse an Tests, da dies, vielleicht naiv, gleichwertige Bedenken zu sein scheinen, die unterschiedlich angesprochen werden. Ich habe auch Schwierigkeiten, die Stichprobenvorhersage genau von der Inferenz auf eine Population zu unterscheiden, aber das ist wahrscheinlich der Bayesianismus vor dem Kaffee (bei dem die Vorhersage nur ein weiteres Inferenzproblem der Population ist), der im Weg steht.
Conjugateprior
Vielleicht habe ich ein bisschen schnell gesprochen. In meinem Forschungskontext gibt es oft viele Hinweise darauf, dass das Delta-Rho-Quadrat größer als Null ist. Die Frage des Interesses ist, wie hoch der Anstieg ist. Das heißt, es ist eine triviale Zunahme oder eine theoretisch bedeutsame Zunahme. Vertrauen oder glaubwürdige Intervalle geben mir daher eine Einschätzung der Unsicherheit um diesen Anstieg. Ich habe das, was ich hier mache, noch nicht mit meinem Verständnis der Bayes'schen Statistik in Einklang gebracht, aber ich würde es gerne tun.
Jeromy Anglim
1

Im Folgenden werden einige Möglichkeiten zur Berechnung von Konfidenzintervallen für .ρ2

Doppelt angepasster R-Quadrat-Bootstrap

Meine derzeit beste Vermutung bei einer Antwort ist, einen doppelt angepassten R-Quadrat-Bootstrap zu machen. Ich habe die Technik implementiert. Es beinhaltet Folgendes:

  • Generieren Sie aus den aktuellen Daten eine Reihe von Bootstrap-Beispielen.
  • Für jedes Bootstrap-Beispiel:
    • Berechnen Sie das erste angepasste r-Quadrat für die beiden Modelle
    • Berechnen Sie das zweite angepasste r-Quadrat anhand der angepassten r-Quadrat-Werte aus dem vorherigen Schritt
    • Subtrahieren Sie Modell2 von den zweiten angepassten r-Quadrat-Werten von Modell1, um eine Schätzung von .Δρ2

Das Grundprinzip ist, dass das erste angepasste r-Quadrat die durch Bootrapping verursachte Verzerrung beseitigt (dh Bootstrapping setzt voraus, dass das Stichproben-R-Quadrat das Populations-R-Quadrat ist). Das zweite angepasste r-Quadrat führt die Standardkorrektur durch, die auf eine normale Stichprobe angewendet wird, um das r-Quadrat der Population zu schätzen.

An diesem Punkt kann ich nur sehen, dass die Anwendung dieses Algorithmus Schätzungen generiert, die ungefähr richtig erscheinen (dh der Mittelwert von theta_hat im Bootstrap liegt sehr nahe am Beispiel von theta_hat). Der Standardfehler stimmt mit meiner Intuition überein. Ich habe noch nicht getestet, ob es eine angemessene Abdeckung durch Frequentisten bietet, wenn der Datenerzeugungsprozess bekannt ist, und ich bin mir an dieser Stelle auch nicht ganz sicher, wie das Argument anhand der ersten Prinzipien gerechtfertigt werden könnte

Wenn jemand Gründe sieht, warum dieser Ansatz problematisch wäre, wäre ich dankbar, davon zu hören.

Simulation von Algina et al

Stéphane erwähnte den Artikel von Algina, Keselman und Penfield. Sie führten eine Simulationsstudie durch, um die 95% -Konfidenzintervallabdeckung von Bootstrapping- und asymptotischen Methoden zur Schätzung von . Ihre Bootstrapping-Methoden umfassten nur eine einzige Anwendung des angepassten R-Quadrats und nicht die oben erwähnte doppelte Anpassung des R-Quadrats. Sie fanden heraus, dass Bootstrap-Schätzungen nur dann eine gute Abdeckung lieferten, wenn die Anzahl der zusätzlichen Prädiktoren im vollständigen Modell eins oder vielleicht zwei betrug. Ich gehe davon aus, dass dies daran liegt, dass mit zunehmender Anzahl von Prädiktoren auch der Unterschied zwischen dem einfach und doppelt angepassten r-Quadrat-Bootstrap zunimmt.Δρ2

Smithson (2001) über die Verwendung des Noncentrality-Parameters

Smithson (2001) diskutiert die Berechnung von Konfidenzintervallen für das partielle basierend auf dem Nicht-Zentralitätsparameter. Siehe insbesondere die Seiten 615 und 616. Er schlägt vor, dass "es einfach ist, ein CI für und partielles zu konstruieren, aber nicht für die quadratische semipartielle Korrelation." (S.615)R2f2R2

Verweise

  • J. Algina, HJ Keselman & RD Penfield, Konfidenzintervalle für den quadratischen multiplen semipartiellen Korrelationskoeffizienten. PDF
  • Smithson, M. (2001). Korrigieren Sie die Konfidenzintervalle für verschiedene Größen und Parameter von Regressionseffekten: Die Bedeutung nichtzentraler Verteilungen bei der Berechnung von Intervallen. Educational and Psychological Measurement, 61 (4), 605-632.
Jeromy Anglim
quelle
1
Es scheint, dass niemand hier (einschließlich Sie) die Definition Ihrer Bevölkerung im R-Quadrat kennt. Daher ist dies meiner Meinung nach ein ernsthaft problematischer Ansatz.
Stéphane Laurent
@ StéphaneLaurent Danke dafür. Ich gebe zu, dass ich bis jetzt die Bevölkerung r-square nicht als Streitgegenstand gesehen habe. Zum Beispiel könnte ich einen Datenerzeugungsprozess vorschlagen, und es würde ein r-Quadrat geben, das angefahren wird, wenn sich meine Simulationsstichprobengröße der Unendlichkeit nähert. Ebenso gehe ich davon aus, dass es einen Datenerzeugungsprozess für meine Daten gibt. Wenn es daher möglich wäre, eine unendliche Stichprobe zu erhalten, könnte ich das wahre Populations-R-Quadrat berechnen.
Jeromy Anglim
Ja, aber ich habe den Eindruck, dass Sie auch einen Generierungsprozess für die Prädiktoren annehmen. Ich kann mir nicht vorstellen, wie dies für ein allgemeines lineares Modell sinnvoll sein könnte.
Stéphane Laurent