Ich habe diese Aufgabe erhalten und war ratlos. Ein Kollege hat mich gebeten, die und x l o w e r der folgenden Tabelle zu schätzen :
Die Kurve ist tatsächlich eine kumulative Verteilung, und x ist eine Art von Messungen. Er ist daran interessiert zu wissen, was die entsprechenden Werte für x sind, als die kumulative Funktion anfing, gerade zu werden und von der Geradheit abzuweichen.
Ich verstehe, dass wir die Differenzierung verwenden können, um die Steigung an einem Punkt zu finden, aber ich bin mir nicht sicher, wie wir bestimmen können, wann wir die Linie gerade nennen können. Jeder Anstoß zu einem bereits existierenden Ansatz / einer Literatur wird sehr geschätzt.
Ich kenne R auch, wenn Sie relevante Pakete oder Beispiele für diese Art von Untersuchungen kennen.
Danke vielmals.
AKTUALISIEREN
Dank Flounderer konnte ich die Arbeit weiter ausbauen, ein Framework einrichten und hier und da die Parameter basteln. Zu Lernzwecken sind hier mein aktueller Code und eine grafische Ausgabe.
library(ESPRESSO)
x <- skew.rnorm(800, 150, 5, 3)
x <- sort(x)
meanX <- mean(x)
sdX <- sd(x)
stdX <- (x-meanX)/sdX
y <- pnorm(stdX)
par(mfrow=c(2,2), mai=c(1,1,0.3,0.3))
hist(x, col="#03718750", border="white", main="")
nq <- diff(y)/diff(x)
plot.ts(nq, col="#6dc03480")
log.nq <- log(nq)
low <- lowess(log.nq)
cutoff <- .7
q <- quantile(low$y, cutoff)
plot.ts(log.nq, col="#6dc03480")
abline(h=q, col="#348d9e")
x.lower <- x[min(which(low$y > q))]
x.upper <- x[max(which(low$y > q))]
plot(x,y,pch=16,col="#03718750", axes=F)
axis(side=1)
axis(side=2)
abline(v=c(x.lower, x.upper),col="red")
text(x.lower, 1.0, round(x.lower,0))
text(x.upper, 1.0, round(x.upper,0))
quelle
Antworten:
Hier ist eine schnelle und schmutzige Idee, die auf dem Vorschlag von @ alex basiert.
Es sieht ein bisschen wie Ihre Daten aus. Die Idee ist nun, das Derivat zu betrachten und zu versuchen, herauszufinden, wo es am größten ist. Dies sollte der Teil Ihrer Kurve sein, an dem sie am geradesten ist, da sie eine S-Form hat.
Es ist wackelig, weil einige derx Werte sind sehr nahe beieinander. Das Erstellen von Protokollen hilft jedoch, und dann können Sie eine geglättete Version verwenden.
Jetzt könnten Sie versuchen, das zu findenx ist so:
Natürlich hängt das Ganze letztendlich von der Wahly kann auch bei dieser Methode Probleme verursachen. Derivate verhalten sich numerisch nicht gut. Bearbeiten: Bild der Ausgabe hinzugefügt.
cutoff
und auch von der Wahl des Glättungsalgorithmus ab und davon, dass Protokolle erstellt werden, wenn wir eine andere Transformation hätten durchführen können. Auch für reale Daten zufällige Variation inquelle