@Whuber'ın belirttiği gibi, istatistiksel yöntemler burada tam olarak çalışmıyor. Dağıtımı diğer kaynaklardan çıkarmanız gerekir. Dağılımı bildiğiniz zaman, doğrusal olmayan bir denklem çözme alıştırmanız vardır. Tarafından Göstermek parametre vektörü ile seçtiğiniz olasılık dağılımının kuantil fonksiyonu İçeride ISTV melerin RWMAIWi'nin . Sahip olduğunuz aşağıdaki lineer olmayan denklem sistemleri:fθ
q0.05q0.5q0.95=f(0.05,θ)=f(0.5,θ)=f(0.95,θ)
qθ
( q0.05- f( 0.05 , θ ) )2+ ( q0.5- f( 0,5 , θ ) )2+ ( q0.95- f( 0.95 , θ ) )2
Burada ikinci dereceden işlevi seçtim, ancak ne istersen onu seçebilirsin. @Whuber yorumlarına göre ağırlık atayabilir, böylece daha önemli miktarlarda daha doğru bir şekilde takılabilir.
Dört ve daha fazla parametre için sistem belirsizdir, bu nedenle sonsuz sayıda çözüm vardır.
İşte bu yaklaşımı gösteren bazı örnek R kodları. Gösteri amacıyla VGAM paketinden Singh-Maddala dağıtımından kuantiller üretiyorum . Bu dağılımın 3 parametresi vardır ve gelir dağılımı modellemesinde kullanılmaktadır.
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))
Şimdi doğrusal olmayan denklem sistemlerini değerlendiren işlevi oluşturun:
fn <- function(x,q) q-qsinmad(c(0.05, 0.5, 0.95), x[1], x[2], x[3])
Gerçek değerlerin denklemi sağlayıp sağlamadığını kontrol edin:
> fn(c(2,1,4),q)
[1] 0 0 0
Doğrusal olmayan denklem sistemini çözmek için nlqeslvnleqslv
paketindeki işlevi kullanıyorum .
> sol <- nleqslv(c(2.4,1.5,4.3),fn,q=q)
> sol$x
[1] 2.000000 1.000000 4.000001
Gördüğümüz gibi kesin çözümü alıyoruz. Şimdi bu normallere log-normal dağılımını uydurmaya çalışalım. Bunun için optim
fonksiyonu kullanacağız .
> 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
Şimdi sonucu çiz
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))
Bundan hemen ikinci dereceden işlevin çok iyi olmadığını görüyoruz.
Bu yardımcı olur umarım.