Üç yüzdelik değere dayalı bir dağıtım tahmin etme


23

Sadece yüzde yüzdelik bir şey biliyorsam, bir dağılımı anlamak için hangi yöntemleri kullanabilirim?

Örneğin, belirli bir veri setinde, beşinci yüzde 8.135, 50 yüzde yüzde 11.259 olduğunu ve 95. yüzde 23.611 olduğunu biliyorum. Başka herhangi bir sayıdan yüzdelik değerine gidebilmek istiyorum.

Bu benim verilerim değil ve bunlar benim sahip olduğum istatistiklerin hepsi. Dağılımın normal olmadığı açık. Sahip olduğum diğer bilgiler, bu verinin farklı okul bölgeleri için kişi başına devlet finansmanını temsil etmesidir.

Bu sorunun kesin bir çözümü olmadığını bilmek için istatistikler hakkında yeterince bilgim var, ancak iyi tahminler bulma konusunda ne yapacağımı bilmeye yetmiyor.

Lognormal dağılım uygun olur mu? Regresyonu gerçekleştirmek için hangi araçları kullanabilirim (veya kendim yapmam gerekir)?



Aynı sorunun (ve çözümünün) ayrıntılı bir örneği için, istatistik.stackexchange.com/questions/133129 adresindeki yinelenen konuya bakın .
whuber

Yanıtlar:


17

Bu çalışmayı yapmak için tamamen istatistiksel bir yöntem kullanmak, okul harcamalarının dağılımı hakkında kesinlikle hiçbir ek bilgi vermeyecektir: sonuç yalnızca rastgele bir algoritma seçimini yansıtacaktır.

Daha fazla veriye ihtiyacınız var .

Bunu yapmak kolaydır: önceki yıllardan, karşılaştırılabilir bölgelerden gelen verileri kullanın. Örneğin, 2008 yılında 14866 okul bölgesinde federal harcamalar Nüfus Sayımı sitesinden temin edilebilir . Ülke genelinde, toplam kişi başına düşen (kayıtlı) federal gelirlerin yaklaşık olarak lognormal olarak dağıtıldığını, ancak devletten aşağıya kırılmasının önemli farklılıklar gösterdiğini göstermektedir ( örn. , Alaska'da kütük harcamasının olumsuz eğriliği olduğunu, Colorado'daki kütük harcamasının güçlü pozitif eğriliği olduğunu) gösteriyor. . Olası dağılım biçimini belirlemek için bu verileri kullanın ve ardından miktarlarınızı o forma sığdırın.

Doğru dağıtım şekline bile yakınsanız, bir veya en fazla iki parametreye uyarak miktarları doğru şekilde üretebilmelisiniz. Uygunluğu bulmak için en iyi teknik, hangi dağıtım biçimini kullandığınıza bağlı olacaktır, ancak - daha önemlisi - buna bağlı olacaktır sonuçları ne .. Ortalama bir harcama tutarı tahmin etmeniz mi gerekiyor? Harcama konusunda alt ve üst sınırlar? Her ne ise, sonuçlarınızla iyi kararlar vermeniz için en iyi şansı verecek bir miktar uygunluk ölçütü benimsemek istiyorsunuz. Örneğin, ilginiz tüm harcamaların% 10'una odaklanmışsa, 95. yüzde oranına doğru bir şekilde uymak isteyeceksiniz ve 5. yüzde oranını sığdırmak konusunda çok az endişe duyabilirsiniz. Hiçbir gelişmiş montaj tekniği bu düşünceleri sizin için yapamaz.

Elbette kimse bu veri bilgili, karar odaklı yöntemin bazı istatistiksel tariflerden daha iyi (veya daha kötüsünü) gerçekleştireceğini yasal olarak garanti edemez, ancak - tamamen istatistiksel bir yaklaşımın aksine - bu yöntemin gerçekliği temel alan bir temeli vardır, ihtiyaçlarınız üzerine odaklanarak, ona biraz güvenilirlik ve eleştirilere karşı savunma vermek.


2
+1 Daha fazla veriye ihtiyacınız var ve sonuçları daha fazla vurgulamak için kullanmak istediğinizde .
vqv

2
Cevabınızda çok fazla bilgelik var gibi gözüküyor. Bana ne istedikleri hakkında sorun çıkaran insanlara daha fazla danışmam gerekecek. Bağlantılar ve tavsiyeler için teşekkür ederiz.
Mark Eichenlaub

1
@Mark İyi şanslar!
whuber

23

@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.05=f(0.05,θ)q0.5=f(0.5,θ)q0.95=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))

alt metin

Ş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 optimfonksiyonu 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))

alt metin

Bundan hemen ikinci dereceden işlevin çok iyi olmadığını görüyoruz.

Bu yardımcı olur umarım.


1
Harika! Tüm bu çaba için teşekkürler, mpiktas. R'ye aşina değilim, ancak kodunuz, ne yaptığınızı kolayca kolayca söyleyebilmem için yeterince açıklandı.
Mark Eichenlaub

Bu örnek için çok teşekkürler. Sanırım içinde 2 hata var ofn <- function(x,q) sum(abs(q-qlnorm(c(0.05,0.5,0.95),x[1],x[2]))^2). Teklif ediyorum , ofn <- function(x) sum(abs(q-qlnorm(c(0.05,0.5,0.95),x[1],x[2],x[3]))^2)çünkü qbir girdi değil ofnve X[3]eksik. Saygılarımızla

9

RriskDistributions paketini deneyin ve - lognormal dağılım ailesinden eminseniz - komutu kullanın

get.lnorm.par(p=c(0.05,0.5,0.95),q=c(8.135,11.259,23.611))

hangi probleminizi çözmeli. fit.percBilinen bir pdf ile sınırlamak istemiyorsanız, bunun yerine kullanın .


Süper basit çözüm!
luchonacho

6

Lognormal için 95. yüzdelik oranın ortancaya oranı, medyanın 5. yüzdelik oranına aynıdır. Bu burada neredeyse doğru değil, bu yüzden lognormal iyi bir uyum olmaz.

Üç parametreli bir dağıtıma uyacak kadar bilginiz var ve açıkça bir eğri dağılımına ihtiyacınız var. Analitik Basit olsun diye öneririm kaymıştır log-lojistik dağıtım onun kadar kuantil fonksiyonu için kapalı form ifadeleri almak gerekir, böylece makul basit kapalı formda yazılabilir (yani onun kümülatif dağılım fonksiyonunun tersi) bir miktar cebirle üç kuantu cinsinden üç parametresi (bunu bir egzersiz olarak bırakacağım!). Bu dağılım taşkın frekans analizinde kullanılır.

Bu, diğer varlıklardaki tahminlerde belirsizlik olduğuna dair herhangi bir gösterge vermeyecektir. Buna ihtiyacın var mı bilmiyorum ama bir istatistikçi olarak bunu sağlayabileceğimi hissediyorum, bu yüzden bu cevaptan gerçekten memnun değilim. Kesinlikle bu yöntemi ya da muhtemelen herhangi bir yöntemi, 5. ila 95. yüzdelik aralığın dışında (fazla) tahmin etmek için kullanmazdım.


1
Tavsiye için teşekkürler. Re: lognormal - Her şeyden 7077 çıkartarak ve sonunda geri ekleyerek medyanın yüzdelik oranlarını hesaplayabilirim. Bir fikir ne kadar kötü olurdu?
Mark Eichenlaub

1
İyi nokta, bu bir "kaymış log-normal dağılım" verirdi. Log-normal ve log-logistic, ikincisinin daha ağır kuyruklarından ayrı olarak oldukça benzerdir, böylece ikisini de deneyebilir ve sonuçları karşılaştırabilirsiniz.
saat

Nasıl karşılaştırılır? Değiştirilen lognormal, niceliklere mükemmel bir şekilde uyması için garanti edilir. Neredeyse herhangi üç parametreli bir aile mükemmel şekilde uyuyor. İki mükemmel uyumu nasıl karşılaştırırsınız?
whuber

@whuber Diğer değerlere karşılık gelen yüzdeliklerin sonuç tahminlerini karşılaştırmak
istedim

Bir şeyi özlüyorum: başka hangi değerler? OP, yalnızca yüzde yüzdüğünün mevcut olduğunu, başka hiçbir şeyin olmadığını belirtir .
whuber

2

Verilerden elde edebileceğiniz tek şey, dağılımın simetrik olmadığıdır. Bu kuantillerin hazır bir dağıtımdan mı yoksa sadece ecdf'den mi geldiğini bile söyleyemezsiniz.

Takılı bir dağıtımdan gelmişlerse, düşünebileceğiniz tüm dağıtımları deneyebilir ve herhangi bir eşleşme olup olmadığını görebilirsiniz. Olmazsa, neredeyse yeterli bilgi yoktur. Kuantil fonksiyon için 2. derece polinom veya 3. derece spline enterpolasyonu yapabilir ve bunu kullanabilir ya da dağıtım ailesine ve kuantilleri eşleştirmeye yönelik bir teoriyle karşılaşabilirsiniz, ancak bu yöntemlerle yapabileceğiniz herhangi bir çıkarım derinden şüphelenecektir.


1
Polinomların ve spline'ların geçerli CDF'ler olma olasılığı düşüktür.
whuber

İyi gözlem. Bu durumda, her zamanki ikinci dereceden polinom işe yaramaz, ancak aynı problemi yaşamaması gereken (bazıları hala etki alanı kırpması gerektirebilir), seçilebilecek çok sayıda ikinci dereceden kuşak vardır (Bézier'i düşünün). Benzer şekilde, uygun bir monotonik kübik spline bulmak mümkün olmalıdır. Monotonisiteyi garanti eden spline algoritmalarının farkındayım, ancak şu anda bir tane bulamıyorum, bu yüzden konuyu "cdf gibi çalışan bir şey seçmek" olarak bırakmak zorundayım.
sesqu

Kuantillerin logaritmalarına monoton bir eğri (ya da her neyse) uyacak kadar uzağa gidebilir, böylece kuantil aralığında makul bir şey elde edebilirsiniz. Ancak bu, kuyrukları iki uç noktadaki makinelerin ötesine yerleştirmede yardımcı olmuyor. Biri fitin böylesine önemli bir yönünün sayısal fitting prosedürünün kazara karakteristiklerine bırakılmasına izin vermemelidir.
whuber

2

Priori dağılımların parametrelerini tahmin etmek için niceliklerin kullanımı, literatürde insan tepki süresi ölçümünde "kuantil maksimum olasılık tahmini" (QMPE, aslen hatalı olarak "kuantil maksimum olasılık tahmini" olarak adlandırılmış olsa da, QMLE), uzunluğu Heathcote tarafından tartışıldı. ve meslektaşları . Bir dizi farklı priori dağılımına uyabilir (eski Gaussian, kaydırılmış Lognormal, Wald ve Weibull), daha sonra en iyi uyumu sağlayan dağıtım lezzetini bulmak için her bir dağılım için en iyi sonuçların toplam günlük olasılıklarını karşılaştırabilirsiniz.


2
Herhangi bir üç parametreli dağıtım, üç gruba mükemmel bir şekilde uyacak şekilde garanti edilir . Böylece bu yaklaşımı sadece bir veya iki parametreye uyacak şekilde kullanmak mantıklıdır. Ayrıca, tek parametreli bir uyumu, tek başına olasılığa dayanarak iki parametreli bir uyuma (farklı bir aileye sahip) göre karşılaştırmanın bir anlamı yoktur.
whuber

@whuber, re: "Herhangi bir üç parametreli dağıtımın üç cetvele mükemmel şekilde uyması garanti edilir". Bunu farketmemiştim, bilmek çok güzel! re: "Ayrıca, tek parametreli bir uyumu, tek başına olasılığa dayanarak, iki parametreli bir uyuma (farklı bir aileye sahip) karşılaştırmak da bir anlam ifade etmiyor." Ah evet, gerçekten; Farklı lezzet sayıları ile farklı değişkenlerdeki parametrelerin karşılaştırılması durumunda, bazı karmaşıklık düzeltmelerinin (AIC, BIC, ...) uygulanması gerektiğinden bahsetmedim. Gösterdiğin için teşekkürler.
Mike Lawrence

Biraz abarttım, çünkü parametrelerin ikisinin ölçek ve konum olduğunu ve üçüncünün çok çeşitli şekiller içerdiğini düşünüyordum. Buna rağmen, üç parametreli ailelerin çoğu, hepsinin farklı olması koşuluyla, yüzde yüzdeliklere uyması için yeterli esnekliğe sahiptir.
whuber

1

Verileri bir şekilde benzetmek için yüzdelik bilgilerinizi kullanabilir ve dağılımını parametrik olmayan olarak tahmin etmek için R paketindeki "logspline" kullanabilirsiniz. Aşağıda böyle bir yöntem kullanan benim işlevim.

calc.dist.from.median.and.range <- function(m, r) 
{
    ## PURPOSE: Return a Log-Logspline Distribution given (m, r).
    ##          It may be necessary to call this function multiple times in order to get a satisfying distribution (from the plot). 
    ## ----------------------------------------------------------------------
    ## ARGUMENT:
    ##   m: Median
    ##   r: Range (a vector of two numbers)
    ## ----------------------------------------------------------------------
    ## RETURN: A log-logspline distribution object.
    ## ----------------------------------------------------------------------
    ## AUTHOR: Feiming Chen,  Date: 10 Feb 2016, 10:35

    if (m < r[1] || m > r[2] || r[1] > r[2]) stop("Misspecified Median and Range")

    mu <- log10(m)
    log.r <- log10(r)

    ## Simulate data that will have median of "mu" and range of "log.r"
    ## Distribution on the Left/Right: Simulate a Normal Distribution centered at "mu" and truncate the part above/below the "mu".
    ## May keep sample size intentionaly small so as to introduce uncertainty about the distribution. 
    d1 <- rnorm(n=200, mean=mu, sd=(mu - log.r[1])/3) # Assums 3*SD informs the bound
    d2 <- d1[d1 < mu]                   # Simulated Data to the Left of "mu"
    d3 <- rnorm(n=200, mean=mu, sd=(log.r[2] - mu)/3)
    d4 <- d3[d3 > mu]                   # Simulated Data to the Right of "mu"
    d5 <- c(d2, d4)                     # Combined Simulated Data for the unknown distribution

    require(logspline)
    ans <- logspline(x=d5)
    plot(ans)
    return(ans)
}
if (F) {                                # Unit Test 
    calc.dist.from.median.and.range(m=1e10, r=c(3.6e5, 3.1e12))
    my.dist <- calc.dist.from.median.and.range(m=1e7, r=c(7e2, 3e11))
    dlogspline(log10(c(7e2, 1e7, 3e11)), my.dist) # Density
    plogspline(log10(c(7e2, 1e7, 3e11)), my.dist) # Probability
    10^qlogspline(c(0.05, 0.5, 0.95), my.dist) # Quantiles 
    10^rlogspline(10, my.dist) # Random Sample 
}
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.