Wie erhält man eine Kovarianzmatrix für eine eingeschränkte Regressionsanpassung?

8

Gibt es eine einfache Möglichkeit, die Kovarianz der Parameter aus einer eingeschränkten Regressionsanpassung zu erhalten?

Ich verwende die PCLS-Funktion im MGCV-Paket in R, um sie an die eingeschränkte Regression anzupassen, bin jedoch offen für andere Ansätze. Die Einschränkung, die ich auferlege, ist, dass die Koeffizienten positiv sein müssen.

Tal
quelle
Wie groß ist Ihre Stichprobe?
Jbowman
1
Befürchten Sie nicht, dass eine Kovarianzmatrix wahrscheinlich keine nützliche Beschreibung der Parameterunsicherheit für Schätzungen bei oder in der Nähe der Einschränkungen darstellt?
whuber
Die Stichprobe ist ungefähr 500. @whuber Ja, das ist ein Problem. Und da ich weiß, dass einige Schätzungen nahe an den Einschränkungen liegen werden, ist es möglicherweise nicht einmal sinnvoll, an eine Kovarianzmatrix zu denken. Da die PCLS-Funktion jedoch eine Art Optimierungsverfahren ausführt, würden Sie denken, Sie könnten die hessische Matrix erhalten, die einige Informationen liefern würde.
Glen
@whuber Unter Nicht-Negativitätsbedingungen würde ich diese Kovarianzmatrix für die geschätzten Bootstrap-Koeffizienten berechnen, die nur ungleich Null sind ... Dh betahat = bootout $ t; betahat [betahat == 0] = NA # ignoriere die Nullen, da sie sich an der Randbedingung befinden; vcov = cov (betahat, use = "pairwise.complete.obs"); SEs = sqrt (diag (vcov)) - Dies ist eine bessere Beschreibung der geschätzten Parameter unter Nicht-Negativitätsbedingungen. Wenn Sie aus dieser vcov-Matrix simulieren würden, müssen Sie dann nur negative Werte auf Null setzen.
Tom Wenseleers
@ Tom Danke. Meine Besorgnis wurde durch den Gedanken motiviert, dass die Kovarianzmatrix aufgrund der Randbeschränkung eine schlechte Beschreibung der Stichprobenverteilung insgesamt sein könnte. Vielleicht wäre eine bessere Verwendung eines Bootstraps oder eines anderen Resampling-Verfahrens nicht die Schätzung der Kovarianzmatrix, sondern die direkte Untersuchung der Verteilung der Parameterschätzungen.
whuber

Antworten:

5

Zuerst würde ich mit sehr einfachem Bootstrap gehen.

Grundsätzlich etwas wie folgt:

  1. Erstellen Sie einen neuen Datensatz, indem Sie Paare von abtasten .(x,y)
  2. Führen Sie Ihre Regression für diesen neuen Datensatz aus, und Sie erhalten einige Parameter .β^
  3. Wiederholen Sie 1 und 2 so oft wie möglich. Jetzt haben Sie eine große Menge vonβ^
  4. Nehmen Sie nun einfach die Beispielkovarianz Ihrer .β^
  5. Erledigt
CarrKnight
quelle
Das habe ich mir gedacht. Können Sie Schritt 1 näher erläutern? Mit Ersatz erneut probieren? Oder...?
Makro
Ja. Vanilla Bootstrap wird mit Ersatz abgetastet. Wenn Ihre Daten beispielsweise ein neuer Datensatz . Dies ist natürlich nicht die einzige Art von Resampling, die möglich ist. Eine andere Möglichkeit besteht darin, das gesamte wiederzuverwenden und das gesamte durch ein Rauschen zu schockieren . Aber das Resampling von Paaren ist das einfachste und agnostischste( 1 , 3 ) ; ( 1 , 3 ) ; ( 1 , 1 ) X Y.(x,y)={(1,1);;(1,2);;(1,3)}}(1,3);;(1,3);;(1,1)X.Y.
CarrKnight
Ich habe viel über Bootstrap gelesen, aber ich habe den Begriff Vanille-Bootstrap nie gehört. Vielleicht entspricht es dem, was als gewöhnlicher oder naiver Bootstrap bezeichnet wird. Was Bootstrap-Paare und Bootstrapping-Residuen betrifft, sind Bootstrapping-Paare einfacher, aber was meinen Sie mit Agnostiker (nicht stark modellabhängig?)?
Michael R. Chernick
3
@MichaelChernick: Vanille ist eine umgangssprachliche Bezeichnung für die "reguläre", "übliche" oder "einfache" Version von etwas.
Kardinal
1
@ MichaelChernick: Ich bin mir nicht sicher, wie regional umgangssprachlich die Verwendung von Vanille sein könnte. (Ich dachte, Sie hätten es wahrscheinlich gehört.) Auf jeden Fall meinte ich (sagte aber nicht sehr deutlich), dass ich fast sicher bin, dass CarrKnight den Begriff nicht auf eine Bootstrap-spezifische Weise verwendet hat. :)
Kardinal