Saya telah diberi tugas ini dan bingung. Seorang kolega meminta saya untuk memperkirakan dan dari bagan berikut: x l o w e r
Kurva sebenarnya adalah distribusi kumulatif, dan x adalah semacam pengukuran. Dia tertarik untuk mengetahui apa nilai yang sesuai pada x ketika fungsi kumulatif mulai menjadi lurus dan menyimpang dari menjadi lurus.
Saya mengerti bahwa kita dapat menggunakan diferensiasi untuk menemukan kemiringan pada suatu titik, tetapi saya tidak terlalu yakin bagaimana menentukan kapan kita dapat memanggil garis lurus. Setiap dorongan terhadap beberapa pendekatan / literatur yang sudah ada akan sangat dihargai.
Saya tahu R juga jika Anda mengetahui ada paket atau contoh yang relevan tentang investigasi semacam ini.
Terima kasih banyak.
MEMPERBARUI
Berkat Flounderer saya bisa memperluas pekerjaan lebih lanjut, membuat kerangka kerja, dan mengotak-atik parameter di sana-sini. Untuk tujuan belajar di sini adalah kode saya saat ini dan output grafis.
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))
sumber
Jawaban:
Ini adalah ide cepat dan kotor berdasarkan saran @ alex.
Itu terlihat sedikit seperti data Anda. Idenya adalah sekarang untuk melihat turunannya dan mencoba melihat di mana itu adalah yang terbesar. Ini harus menjadi bagian dari kurva Anda yang paling lurus, karena itu berbentuk S.
cutoff
sumber