Ich habe Matlab verwendet, um uneingeschränkte kleinste Quadrate (gewöhnliche kleinste Quadrate) auszuführen, und es gibt automatisch die Koeffizienten, die Teststatistik und die p-Werte aus.
Meine Frage ist, dass beim Durchführen von eingeschränkten kleinsten Quadraten (streng nichtnegative Koeffizienten) nur die Koeffizienten OHNE Teststatistik und p-Werte ausgegeben werden.
Ist es möglich, diese Werte zu berechnen, um die Signifikanz sicherzustellen? Und warum ist es nicht direkt auf der Software (oder einer anderen Software) verfügbar?
Antworten:
Das Lösen eines nicht negativen kleinsten Quadrats (NNLS) basiert auf einem Algorithmus, der es von regulären kleinsten Quadraten unterscheidet.
Algebraischer Ausdruck für Standardfehler (funktioniert nicht)
Mit regulären kleinsten Quadraten können Sie p-Werte ausdrücken, indem Sie einen t-Test in Kombination mit Schätzungen für die Varianz der Koeffizienten verwenden.
Inverse der Fisher-Informationsmatrix (nicht anwendbar)
Die Varianz / Verteilung der Schätzung der Koeffizienten nähert sich auch asymptotisch der beobachteten Fisher-Informationsmatrix :
Ich bin mir aber nicht sicher, ob dies hier gut zutrifft. Die NNLS-Schätzung ist keine unvoreingenommene Schätzung.
Monte-Carlo-Methode
Wenn die Ausdrücke zu kompliziert werden, können Sie den Fehler mithilfe einer Berechnungsmethode abschätzen. Mit der Monte-Carlo-Methode simulieren Sie die Verteilung der Zufälligkeit des Experiments, indem Sie Wiederholungen des Experiments simulieren (neue Daten neu berechnen / modellieren) und basierend darauf die Varianz der Koeffizienten schätzen.
quelle
Wenn Sie auf OK wäre , mit RI denken Sie auch nutzen könnten
bbmle
‚s -mle2
Funktion zur Optimierung der kleinsten Quadrate Likelihood - Funktion und berechnen 95% Konfidenzintervall auf den nicht - negativen NNLS Koeffizienten. Darüber hinaus können Sie berücksichtigen, dass Ihre Koeffizienten nicht negativ werden können, indem Sie das Protokoll Ihrer Koeffizienten optimieren, sodass sie auf einer rücktransformierten Skala niemals negativ werden können.Hier ist ein numerisches Beispiel, das diesen Ansatz veranschaulicht, hier im Zusammenhang mit der Entfaltung einer Überlagerung von gaußförmigen chromatographischen Peaks mit Gaußschem Rauschen: (Kommentare willkommen)
Lassen Sie uns zunächst einige Daten simulieren:
Lassen Sie uns nun das gemessene verrauschte Signal
y
mit einer Streifenmatrix dekonvolutieren, die eine verschobene Kopie des bekannten Gauß-förmigen Unschärfekerns enthältbM
(dies ist unsere Kovariaten- / Designmatrix).Lassen Sie uns zunächst das Signal mit nichtnegativen kleinsten Quadraten dekonvolutieren:
Lassen Sie uns nun die negative Log-Wahrscheinlichkeit unseres Gaußschen Verlustziels optimieren und das Log Ihrer Koeffizienten so optimieren, dass sie auf einer rücktransformierten Skala niemals negativ sein können:
Ich habe nicht versucht, die Leistung dieser Methode mit nichtparametrischem oder parametrischem Bootstrapping zu vergleichen, aber es ist sicherlich viel schneller.
Ich war auch geneigt zu denken, dass ich in der Lage sein sollte, Wald-Konfidenzintervalle für die nichtnegativen
nnls
Koeffizienten basierend auf der beobachteten Fisher-Informationsmatrix zu berechnen, die auf einer logarithmisch transformierten Koeffizientenskala berechnet wurden, um die Nichtnegativitätsbeschränkungen durchzusetzen, und bei dennnls
Schätzungen bewertet wurden.Ich denke, das geht so und sollte tatsächlich formal identisch sein mit dem, was ich
mle2
oben verwendet habe:Die Ergebnisse dieser Berechnungen und die von zurückgegebenen
mle2
sind nahezu identisch (aber viel schneller), daher halte ich dies für richtig und würde dem entsprechen, was wir implizit mitmle2
...Das
nnls
erneute Anpassen der Kovariaten mit positiven Koeffizienten in einer Anpassung unter Verwendung einer regulären linearen Modellanpassung funktioniert übrigens nicht, da eine solche lineare Modellanpassung die Nicht-Negativitätsbeschränkungen nicht berücksichtigen würde und daher zu unsinnigen Konfidenzintervallen führen würde, die negativ werden könnten. In diesem Artikel "Exakte Inferenz nach der Modellauswahl für das marginale Screening" von Jason Lee & Jonathan Taylor wird auch eine Methode zur Inferenz nach der Modellauswahl für nichtnegative nnls- (oder LASSO-) Koeffizienten vorgestellt, für die abgeschnittene Gauß-Verteilungen verwendet werden. Ich habe jedoch keine offen verfügbare Implementierung dieser Methode für nnls-Anpassungen gesehen - für LASSO-Anpassungen gibt es die selektive InferenzPaket, das so etwas macht. Wenn jemand eine Implementierung haben würde, lassen Sie es mich bitte wissen!Bei der obigen Methode könnte man auch die Daten in einen Trainings- und Validierungssatz (z. B. ungerade und gerade Beobachtungen) aufteilen und die Kovariaten mit positiven Koeffizienten aus dem Trainingssatz ableiten und dann Konfidenzintervalle und p-Werte aus dem Validierungssatz berechnen. Das wäre etwas widerstandsfähiger gegen Überanpassung, würde aber auch zu einem Leistungsverlust führen, da man nur die Hälfte der Daten verwenden würde. Ich habe es hier nicht getan, weil die Nicht-Negativitätsbeschränkung an sich bereits sehr effektiv gegen Überanpassung schützt.
quelle
Um genauer zu sein, was die Monte-Carlo-Methode @Martijn betrifft, können Sie Bootstrap verwenden, eine Resampling-Methode, bei der aus den Originaldaten (mit Ersetzung) mehrere Datensätze abgetastet werden, um die Verteilung der geschätzten Koeffizienten und damit alle zugehörigen Statistiken zu schätzen. einschließlich Konfidenzintervalle und p-Werte.
Die weit verbreitete Methode wird hier detailliert beschrieben: Efron, Bradley. "Bootstrap-Methoden: Ein weiterer Blick auf das Jackknife." Durchbrüche in der Statistik. Springer, New York, NY, 1992. 569-593.
Matlab hat es implementiert, siehe https://www.mathworks.com/help/stats/bootstrp.html, insbesondere den Abschnitt Bootstrapping eines Regressionsmodells.
quelle