Nichtlineare Regression zwei äquivalente Modelle auf Papier, aber unterschiedliche geschätzte Parameter

7

Ich habe eine Antwortvariable gemessen

Y1

als Funktion von zwei gemessenen unabhängigen Variablen

X1 and X2

In meinem Forschungsbereich ist es üblich, Y1 in eine andere Antwortvariable umzuwandeln:

Y2 = 10*X1 * ((-1)+1 / Y1)

Dann passend zum folgenden Modell (M1):

Y2 ~ a * X1^b * X2^c + error

um zu schätzen (a, b, c).

Es ist jedoch auch möglich, diese drei Parameter zu schätzen, ohne Y1 in Y2 umzuwandeln, indem dieses äquivalente Modell (M2) verwendet wird (zumindest auf dem Papier äquivalent):

Y1 ~ 10*X1 / (a * X1^b * X2^c + 10*X1) + error

Das Problem ist, dass diese beiden Schätzmethoden (a, b, c) unterschiedliche Schätzungen ergeben. Ich persönlich glaube, dass M2 M1 vorzuziehen ist, da die Berechnung von Y2 aus Y1 und X1 Unsicherheiten aus X1 in die nichtlineare Antwortvariable einführt.

Ich möchte / muss wissen, welches Modell (M1 oder M2) ich verwenden soll und warum.

Danke im Voraus.

PS: Ich habe weder ein reproduzierbares Beispiel noch Grafiken präsentiert, weil ich denke, dass diese Frage ausreichend allgemein und klar ist und sie nicht benötigt. Danke für dein Verständnis.

Rodolphe
quelle
7
Es würde wahrscheinlich helfen, die Modelle mit Fehlerbegriffen richtig zu schreiben .
Scortchi - Monica wieder einsetzen
Entschuldigung, ich werde Fehlerbegriffe hinzufügen.
Rodolphe
3
Jetzt verstehe ich die Relevanz des allerersten Kommentars.
Rodolphe

Antworten:

11

Modell 2 ist

Y1=10X1aX1bX2c+10X1+δ

während Modell 1 ist

10X1(1+1Y1)=aX1bX2c+ε,

was gelöst werden kann, damit liestY1

Y1=10X1aX1bX2c+10X1+ε.

Implizit wird angenommen, dass die Fehler oder unabhängig voneinander unabhängig sind, identische Verteilungen aufweisen und auf Null zentriert sind. εδ

Um die beiden Modelle zu vergleichen , nehmen wir an, dass die Variabilität von wesentlich geringer ist als die Größe von . Wir können dann den Binomialsatz (oder gleichwertig eine Taylor-Reihe) verwenden, um die rechte Seite von Modell 1 (in erster Ordnung in ) als zu approximierenεaX1bX2c+10X1ε

Y110X1aX1bX2c+10X1(1εaX1bX2c+10X1+).

Im Vergleich zu Modell 2 sehen wir den Unterschied zwischen ihnen in den Fehlerbegriffen:

δ10X1(aX1bX2c+10X1)2ε.

Dies sind verschiedene Modelle, denn wenn das identische Verteilungen hat, kann das dies nicht - da sie das um Faktoren skalieren, die von den Variablen und abhängen . Umgekehrt kann das nicht , wenn das identische Verteilungen hat .εδεX1X2δε

Um zu entscheiden, welche verwendet werden soll (falls vorhanden), benötigen Sie zusätzliche Informationen zur Verteilung der Fehler. Dies kann auf viele Arten erreicht werden, einschließlich

  • Theoretische Überlegungen. Wenn der Fehler beispielsweise die von und bekannt ist, dass die Variabilität über einen Wertebereich von (ungefähr) konstant ist , ist das Modell 2 eine gute Wahl.Y1Y1

  • Analyse wiederholter Messungen.

  • Überprüfung der diagnostischen Informationen aus jedem Modell (in Bezug auf die mögliche Heteroskedastizität der Residuen).


Zahl

Die roten Kurven zeigen die korrekten zugrunde liegenden Beziehungen. Die Punkte zeigen simulierte Daten. Ihre vertikalen Abweichungen von den roten Kurven repräsentieren die Fehler. Die Streuung der Fehler in Modell 1 links variiert sichtbar mit den unabhängigen Variablen. Die Dispersion in Modell 2 rechts nicht.

Diese Abbildung zeigt Daten, die mit dem folgenden RCode simuliert wurden . Um die Darstellung zu vereinfachen, wurden alle Werte von auf einen konstanten Wert gesetzt, wodurch alle Variationen in nur mit Variationen in . Diese Vereinfachung ändert nichts an der Art der Unterschiede zwischen den beiden Modellen.X2Y1X1

a <- 1
b <- 2
c <- 3
n <- 250
sigma <- 2
#
# Generate data according to two models.
#
set.seed(17)
x1 <- rgamma(n, 2) + 1
x2 <- rep(1, n)
epsilon <- rnorm(n, sd=sigma)
y.m1 <- 10 * x1 / (a * x1^b * x2^c + 10*x1 + epsilon)

# (Make them have comparable errors on average.)
tau <- mean(abs(-10 * x1 / (a * x1^b * x2^c + 10*x1)^2))
delta <- rnorm(n, sd=tau)
y.m2 <- 10 * x1 / (a * x1^b * x2^c + 10*x1) + delta
#
# Plot the simulated data.
#
reference <- function() curve(10 * x / (a*x^b + 10*x), add=TRUE, col="Red", lwd=2)
par(mfrow=c(1,2))
plot(x1, y.m1, main="Model 1", xlab="X1", ylab="Y1", col="#00000070")
reference()
plot(x1, y.m2, main="Model 2", xlab="X1", ylab="Y1", col="#00000070")
reference()
whuber
quelle
Dies ist wirklich nur eine Ausarbeitung von @ Scortchis Kommentar zu der Frage.
whuber
Vielen Dank ! Ich hätte @ Scortchis Kommentar nicht näher erläutern können, aber jetzt verstehe ich ihn und warum er so relevant war. Jetzt weiß ich, WARUM ich ein Modell auswählen muss (da sich diese beiden Modelle grundlegend voneinander unterscheiden) und wie ich das richtige Modell für meine Daten auswähle. Wenn ich Sie gut verstehe, werden die von einem der beiden Modelle geschätzten Residuen normal verteilt, die vom anderen Modell geschätzten Residuen jedoch nicht. Und ich sollte das Modell mit normalverteilten Residuen wählen.
Rodolphe
2
Du bist fast richtig. Wir haben keine Grundlage anzunehmen, dass die Fehler Normalverteilungen haben werden, und in der Praxis ist dies selten. Die Modelle, die am einfachsten zu interpretieren und mathematisch am besten nachvollziehbar sind, sind in der Regel Modelle mit nahezu symmetrischen Verteilungen von Residuen, die über alle Werte der unabhängigen Variablen nahezu identische Formen und Dispersionen aufweisen. Obwohl es keine Garantie gibt, ist es häufig der Fall, dass ein Modell mit einer dieser Eigenschaften (Symmetrie oder Homoskedastizität) zumindest in praktischer Näherung auch die andere aufweist.
whuber
5

Es gibt KEINE äquivalenten Modelle der kleinsten Quadrate. Der Fehler in einem Modell ist eine Transformation des Fehlers im anderen. Welches Modellfehler näher an der Normalverteilung liegt, sollte das bessere Modell sein. Bearbeiten: Weitere Informationen zur Fehlertransformation finden Sie in der Antwort von whuber.

Es gibt noch eine zweite Sache, und das ist die Frage, welche numerische Lösung durch den nichtlinearen Algorithmus der kleinsten Lösung erhalten wird. Die erhaltene Lösung kann von dem Algorithmus abhängen, der zur Lösung verwendet wird, sowie vom Startwert (anfängliche Schätzung) für die zu schätzenden Parameter. Abhängig vom Algorithmus und Startwert ist es möglich, dass der Algorithmus beendet wird, ohne ein lokales Optimum zu finden. Es ist möglich, dass ein lokales Optimum gefunden wird, das nicht das globale Optimum ist.

Sie sollten die global optimale Lösung wünschen. Ob Sie es finden, ist eine andere Sache. Hier hilft es zu wissen, was Sie bei der nichtlinearen Optimierung tun, was die meisten Leute, die nichtlineare kleinste Quadrate ausführen, leider nicht tun.

Mark L. Stone
quelle
Ich danke Ihnen sehr für Ihre Antwort. Ich verstehe jetzt, dass diese Modelle nicht gleichwertig sind, obwohl ich nicht ganz so gut verstehe, was es bedeutet, dass ein Fehlerbegriff der Kehrwert eines anderen ist. Sie geben mir jedoch die Möglichkeit, zwischen diesen beiden Modellen zu wählen (dasjenige, dessen Residuen näher an der Normalverteilung liegen). Wenn ich jedoch weiß, wie man Residuen auf Normalität testet, weiß ich derzeit nicht, wie man zwei Sätze von Residuen vergleicht und die normalste auswählt. Jeder Rat, Stichwort, ist willkommen.
Rodolphe
2
Ich habe meine Aussage über die wechselseitigen Fehler herausgeschnitten - siehe Whubers Antwort für weitere Informationen dazu. Bezüglich der Normalität von Fehlern lesen Sie die Antwort von whuiber, kehren Sie nach Möglichkeit zu den ersten Prinzipien des Modells zurück und führen Sie dies auch en.wikipedia.org/wiki/Normal_probability_plot aus .
Mark L. Stone
1
Ich verwende Rs nlsLM-Funktion aus dem Paket minpack.lm für die nichtlineare Parameterschätzung unter Verwendung des Levenberg-Marquardt-Anpassungsalgorithmus, da sie gegenüber schlechten Startwerten robuster sein soll. Auch, weil die Startwerte gemeinsame Schätzwerte aus früheren Experimenten sind und schließlich, weil der LM-Algorithmus dem Standard-Gauß-Newton-Algorithmus aus der konventionelleren nls-Funktion im Statistikpaket gleiche Schätzungen liefert.
Rodolphe
1
Die größere Robustheit von Levenberg-Marquardt (LM) gegenüber Gauss-Newton (GN) betrifft die Suche nach einem lokalen Minimum. Es gibt wirklich keine verbesserte Robustheit, ein globales Minimum zu finden, außer dass zumindest LM eine bessere Chance hat, ein lokales Minimum zu finden, was sich als globales Minimum herausstellen kann. als GN. Beide machen die gleiche Annäherung an das Hessische, basierend auf J ' J, wobei J der Jacobi ist, für ein Modell in der Form 1/2 (Summe der quadratischen Residuen). Wenn Sie dies in BARON minlp.com tun , können Sie ziemlich sicher sein, ein globales Minimum zu erhalten, wenn es behauptet, es gefunden zu haben.
Mark L. Stone
1
Wenn Sie keinen globalen Optimierer wie BARON verwenden, sind Ihre besten Aussichten, wenn Sie einen Newton-Algorithmus für die Vertrauensregion verwenden, z. B. in KNITRO ziena.com/knitro.htm mit hessopt 1 (nicht die nichtlinearen Routinen der kleinsten Quadrate unter MATLAB) mit LM oder GN). Selbst dann müssen Sie mehrere Startwerte verwenden, und es gibt keine Garantie dafür, dass Sie das globale Optimum finden. Die robustesten Algorithmen für nichtlineare kleinste Quadrate (auf die ich oben verwiesen habe) sind nicht auf nichtlineare kleinste Quadrate spezialisiert, sondern sind nichtlineare Allzweckoptimierer.
Mark L. Stone