@whuber ชี้ให้เห็นว่าวิธีการทางสถิติไม่ได้ทำงานที่นี่อย่างแน่นอน คุณต้องสรุปการกระจายจากแหล่งอื่น ๆ เมื่อคุณรู้ว่าการกระจายคุณมีแบบฝึกหัดการแก้สมการไม่เชิงเส้น แสดงว่าโดยฟังก์ชัน quantile ของการกระจายความน่าจะเป็นของคุณเลือกด้วยพารามิเตอร์เวกเตอร์\สิ่งที่คุณมีคือระบบสมการไม่เชิงเส้นต่อไปนี้:θfθ
q0.05q0.5q0.95=f(0.05,θ)=f(0.5,θ)=f(0.95,θ)
โดยที่คือปริมาณของคุณ คุณต้องแก้ระบบนี้เพื่อหา\ทีนี้สำหรับการแจกแจง 3 พารามิเตอร์คุณจะพบว่าค่าของพารามิเตอร์เป็นไปตามสมการนี้ สำหรับการแจกแจงแบบ 2 พารามิเตอร์และ 1 พารามิเตอร์ระบบนี้มีการกำหนดค่าเกินพิกัดดังนั้นจึงไม่มีวิธีแก้ไขปัญหาที่แน่นอน ในกรณีนี้คุณสามารถค้นหาชุดของพารามิเตอร์ที่ช่วยลดความคลาดเคลื่อน:θqθ
(q0.05−f(0.05,θ))2+(q0.5−f(0.5,θ))2+(q0.95−f(0.95,θ))2
ที่นี่ฉันเลือกฟังก์ชั่นสมการกำลังสอง แต่คุณสามารถเลือกสิ่งที่คุณต้องการ จากความคิดเห็นของ @whuber คุณสามารถกำหนดน้ำหนักเพื่อให้สามารถติดตั้ง quantiles ที่สำคัญกว่าได้อย่างถูกต้องมากขึ้น
สำหรับพารามิเตอร์สี่ตัวขึ้นไประบบจะถูกกำหนดค่าต่ำสุดดังนั้นจึงมีคำตอบจำนวนไม่ จำกัด
นี่คือตัวอย่างรหัส R ที่แสดงวิธีการนี้ สำหรับวัตถุประสงค์ของการสาธิตฉันสร้างปริมาณจากการแจกแจงของซิงห์ - แมดดาลาจากแพ็คเกจVGAM การกระจายนี้มี 3 พารามิเตอร์และใช้ในการสร้างแบบจำลองการกระจายรายได้
q <- qsinmad(c(0.05,0.5,0.95),2,1,4)
plot(x<-seq(0,2,by=0.01), dsinmad(x, 2, 1, 4),type="l")
points(p<-c(0.05, 0.5, 0.95), dsinmad(p, 2, 1, 4))
ตอนนี้รูปแบบฟังก์ชั่นที่ประเมินระบบที่ไม่ใช่เชิงเส้นของสมการ:
fn <- function(x,q) q-qsinmad(c(0.05, 0.5, 0.95), x[1], x[2], x[3])
ตรวจสอบว่าค่าจริงตรงตามสมการหรือไม่:
> fn(c(2,1,4),q)
[1] 0 0 0
สำหรับการแก้ระบบสมการไม่เชิงเส้นผมใช้ฟังก์ชั่นnleqslv
จากแพคเกจnlqeslv
> sol <- nleqslv(c(2.4,1.5,4.3),fn,q=q)
> sol$x
[1] 2.000000 1.000000 4.000001
อย่างที่เราเห็นเราได้ทางออกที่ถูกต้อง ทีนี้ให้เราลองหาการกระจายของ log-normal กับ quantiles เหล่านี้ สำหรับสิ่งนี้เราจะใช้optim
ฟังก์ชั่น
> ofn <- function(x,q)sum(abs(q-qlnorm(c(0.05,0.5,0.95),x[1],x[2]))^2)
> osol <- optim(c(1,1),ofn)
> osol$par
[1] -0.905049 0.586334
ตอนนี้พล็อตผล
plot(x,dlnorm(x,osol$par[1],osol$par[2]),type="l",col=2)
lines(x,dsinmad(x,2,1,4))
points(p,dsinmad(p,2,1,4))
จากนี้เราจะเห็นได้ทันทีว่าฟังก์ชันกำลังสองไม่ดีนัก
หวังว่านี่จะช่วยได้