On m'a confié cette tâche et j'ai été perplexe. Un collègue m'a demandé d'estimer le et le x l o w e r du graphique suivant:
La courbe est en fait une distribution cumulative, et x est une sorte de mesure. Il souhaite savoir quelles sont les valeurs correspondantes sur x lorsque la fonction cumulative a commencé à devenir droite et à s'écarter de la droite.
Je comprends que nous pouvons utiliser la différenciation pour trouver la pente en un point, mais je ne sais pas trop comment déterminer quand pouvons-nous appeler la ligne droite. Tout coup de pouce vers une approche / littérature déjà existante sera grandement apprécié.
Je connais R aussi si vous connaissez des packages ou des exemples pertinents sur ce type d'enquêtes.
Merci beaucoup.
MISE À JOUR
Grâce à Flounderer, j'ai pu étendre davantage le travail, mettre en place un framework et bricoler les paramètres ici et là. À des fins d'apprentissage, voici mon code actuel et une sortie graphique.
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))