Bayes değişken seçimi - gerçekten işe yarıyor mu?


14

Güzel bir blog yazısı ve bağlantılı makaleleri takip ederek Bayes değişken seçimi ile oynayabileceğimi düşündüm . Ben yazdım programı içinde rjags (Oldukça çaylak değilim) ve getirilen fiyat verilerinin onun getirilerini (örneğin paladyum fiyatları) ve yüksek oranda SP500 gibi (korelasyon gereken başka şeyleri açıklamak olası değildir bazı şeylerle birlikte, Exxon Mobil için ).

Koşarken lm(), aşırı parametreli bir modelin güçlü kanıtlarının olduğunu görüyoruz, ancak bu paladyum kesinlikle dışlanmalıdır:

Call:
lm(formula = Exxon ~ 0 + SP + Palladium + Russell + OilETF + 
    EnergyStks, data = chkr)

Residuals:
       Min         1Q     Median         3Q        Max 
-1.663e-03 -4.419e-04  3.099e-05  3.991e-04  1.677e-03 

Coefficients:
           Estimate Std. Error t value Pr(>|t|)    
SP          0.51913    0.19772   2.626 0.010588 *  
Palladium   0.01620    0.03744   0.433 0.666469    
Russell    -0.34577    0.09946  -3.476 0.000871 ***
OilETF     -0.17327    0.08285  -2.091 0.040082 *  
EnergyStks  0.79219    0.11418   6.938 1.53e-09 ***

Dönüşlere dönüştükten sonra böyle basit bir model çalıştırmayı denedim

  model {
    for (i in 1:n) {
      mean[i]<-inprod(X[i,],beta)
      y[i]~dnorm(mean[i],tau)
    }
    for (j in 1:p) {
      indicator[j]~dbern(probindicator)
      betaifincluded[j]~dnorm(0,taubeta)
      beta[j] <- indicator[j]*betaifincluded[j]
    }
    tau~dgamma(1,0.01)
    taubeta~dgamma(1,0.01)
    probindicator~dbeta(2,8)
  }

ancak, seçilen gama dağılımlarına ait parametrelerden bağımsız olarak, hemen hemen her değişken için değişmeyen% 20'lik bir dahil olma olasılığı gibi oldukça saçma cevaplar aldım.

Ayrıca, bir seçim modeli olması gerekiyordu çünkü tahammül etmeye istekli küçük, küçük regresyon katsayılarım var, ama yine de garip görünüyordu.

                              Mean        SD  Naive SE Time-series SE
SP         beta[1]       -4.484e-03   0.10999  0.003478       0.007273
Palladium  beta[2]        1.422e-02   0.16646  0.005264       0.011106
Russell    beta[3]       -2.406e-03   0.08440  0.002669       0.003236
OilETF     beta[4]       -4.539e-03   0.14706  0.004651       0.005430
EnergyStks beta[5]       -1.106e-03   0.07907  0.002500       0.002647
SP         indicator[1]   1.980e-01   0.39869  0.012608       0.014786
Palladium  indicator[2]   1.960e-01   0.39717  0.012560       0.014550
Russell    indicator[3]   1.830e-01   0.38686  0.012234       0.013398
OilETF     indicator[4]   1.930e-01   0.39485  0.012486       0.013229
EnergyStks indicator[5]   2.070e-01   0.40536  0.012819       0.014505
           probindicator  1.952e-01   0.11981  0.003789       0.005625
           tau            3.845e+03 632.18562 19.991465      19.991465
           taubeta        1.119e+02 107.34143  3.394434       7.926577

Bayesian değişken seçimi gerçekten bu kadar kötü / hassas mı? Yoksa göze batan bir hata mı yapıyorum?


5
Cehaletimi affedin; ama bahsettiğiniz aşırı uyum için kanıt neydi?
curious_cat

İkinci çıktıda hangi değişkenlerin hangileri olduğunu açıklamalısınız. Bayesian değişken seçimini çeşitli problemlerde kullandım ve bazı durumlarda (regresyon dahil) genellikle oldukça iyi çalışıyor. Ama sonuçlarınız - özellikle tahminler - bana garip geliyor.
Glen_b

@curious_cat Aşırı takılma kanıtı, örneğin Exxon (bir petrol şirketi) ile petrol fiyatı arasındaki negatif katsayıdadır. Bu modeli kasıtlı olarak çoklu bağlantıya kurban ettim çünkü ortaya çıkıyor . (Belki de "aşırı takmak" bunu tarif etmek için yanlış kelimedir - sanırım aşırı parametrelendirme daha doğrudur).
Brian B

@BrianB Petrol hariç tüm açıklayıcı değişkenleri düşürürseniz bu katsayı pozitif olur mu? Sadece merak.
curious_cat

@curious_cat Evet, kesinlikle (kabaca 0,7). Bu klasik bir çoklu doğrusallık vakasıdır (başka bir çirkin kelime).
Brian B

Yanıtlar:


3

HATA kodunda mean[i]<-inprod(X[i,],beta)olmalıdır mean[i]<-inprod(X[i,],beta[]).

Tau ve taubeta ile ilgili öncelikleriniz çok bilgilendiricidir.

Betaifinkl öncesinde bilgilendirici olmayan bir bilgiye ihtiyacınız var, örneğin a gamma(0.1,0.1)on taubeta kullanın . Bu neden küçük regresyon katsayıları aldığınızı açıklayabilir.


Bunu not ettiğiniz için teşekkürler. Ne yazık ki durumu iyileştirmedi.
Brian B

2

Çalışıyor, ancak tüm değişken içerme göstergelerini aynı temel dağıtım verdiniz.

  model {
    for (i in 1:n) {
      mean[i]<-inprod(X[i,],beta)
      y[i]~dnorm(mean[i],tau)
    }
    for (j in 1:p) {
      indicator[j]~dbern(probindicator[j])
      probindicator[j]~dbeta(2,8)
      betaifincluded[j]~dnorm(0,taubeta)
      beta[j] <- indicator[j]*betaifincluded[j]
    }
    tau~dgamma(1,0.01)
    taubeta~dgamma(1,0.01)

  }

sınırlı sayıda değişkenle daha iyi çalışabilir.


Bu tarifi denemek daha iyi sonuç vermedi, en az 10000 örnek.
Brian B

2

Günlük dönüşlerini kullandıysanız, hafif bir sapma hatası yaptınız, ancak gelecekteki değerin bugünkü değere bölünmesiyle elde ederseniz, olasılığınız yanlıştır. Aslında, her iki durumda da olasılığınız yanlıştır. Önemi yeterince yanlış.

Bir istatistiğin verilerin herhangi bir işlevi olduğunu düşünün. İade veri değil, veri dönüşümleridir. Gelecekteki bir değerin bugünkü değere bölünmesiyle elde edilir. Fiyatlar veridir. Fiyatların bir dağıtım işlevi olmalıdır, ancak getiriler için dağıtım işlevi yalnızca fiyatların niteliğine bağlı olmalıdır.

ptpt+1

pt+1pt1.

1πσσ2+(yβ1x1β2x2βnxnα)2.

OLS, yanlış çözüm olsa bile gözlemlenen verilere en iyi şekilde uymasını sağlar. Bayesci yöntemler, olasılıkla veri üretme işlevini bulmaya çalışır. Olasılık yanlıştı, bu yüzden bulamadı.

Daha fazla bilgiye ihtiyacınız varsa bu konuda bir makalem var.

EDIT Sanırım yanlış anladın. Olasılığı bir yoğunluk fonksiyonuna dönüştürür ve beklentiyi alırsanız, bunun hiç olmadığını görürsünüz. Augustin Cauchy'nin 1852 veya belki 1851'de kanıtladığı gibi, en küçük kareler çözümünün herhangi bir formu mükemmel bir şekilde kesin değildir. Her zaman başarısız olur. Standart regresyon kullanmanız gerekmiyor, çünkü Bayesci olasılığa karşı duyarlı, Bayes, kabul edilebilir olan tek çözümdür, bazı olağandışı özel durumlar için bazı özel istisnalar vardır.

Bu konuda ampirik testler yaparken ve matematiği yeterince okumadan önce Bayesian ve Frequentist çözümün eşleşmesi gerektiğini düşündüm. Yaklaşık olarak, örnek yeterince büyüdükçe ikisinin yakınlaşacağını söyleyen bir teorem vardır. 1925-2013 yılları arasında CRSP evrenindeki tüm gün sonu işlemlerini test etmek için kullandım. Teorem böyle söylemez. Kuralları yanlış anlıyordum.

Sorunu günlüklerde de denedim ve hala eşleşmedi. Böylece bir şey fark ettim, tüm dağılımlar şekiller ve böylece hangi çözümün doğru olduğunu belirlemek için geometrik bir çözüm inşa ettim. Hangi cebirsel cevabın verilerle eşleştiğini belirlemek için bunu saf bir geometri problemi olarak gördüm.

Bayesliler eşleşti. Bu beni çok matematiksel bir yola sürükledi çünkü tarafsız tahmincinin neden bu kadar yanlış olduğunu anlayamadım. Sadece kayıt için, 1925-2013 dönemi boyunca ayrıştırılmış getirileri kullanarak ve kabuk şirketlerini, kapalı uçlu fonları ve benzerlerini kaldırarak, konum merkezi arasındaki tutarsızlık% 2'dir ve risk ölçüsü yıllık getiriler için% 4 oranında azdır. . Bu tutarsızlık, günlük dönüşümü altındadır, ancak farklı bir nedenden dolayı. Verilerin tek tek indeksleri veya alt kümeleri için farklı olabilir.

Tutarsızlığın nedeni iki yönlüdür. Birincisi, ilgili dağıtımların yeterli bir istatistiğe sahip olmamasıdır. Bazı problem türleri için bu önemli değil. Bununla birlikte, tahmin veya tahsis gibi projektif amaçlar için, bunlar biraz önemlidir. İkinci neden, tarafsız tahmin edicinin her zaman ortalamanın bir versiyonudur, fakat dağılımın bir anlamı yoktur.

Yukarıdaki yoğunluk normal veya gama dağılımı gibi üstel ailenin bir üyesi değildir. Pitman – Koopman – Darmois teoremi ile parametreler için yeterli nokta istatistiği mevcut değildir. Bu, bir nokta tahmincisi yaratma girişiminin bilgiyi atması gerektiği anlamına gelir. Bu, Bayes çözümleri için bir sorun değildir, çünkü posterior tüm yoğunluktur ve bir nokta tahminine ihtiyacınız varsa, tahmin yoğunluğunu bulabilir ve tek bir noktaya indirmek için bir maliyet fonksiyonunu en aza indirebilirsiniz. Bayes olasılığı her zaman minimal düzeyde yeterlidir.

Yukarıdaki fonksiyon için minimum varyans yansız tahmincisi, verilerin merkezdeki% 24.6'sını tutmak, kırpılmış ortalamasını bulmak ve geri kalan verileri atmaktır. Bu, verilerin% 75'inden fazlasının düştüğü ve bilgilerin kaybolduğu anlamına gelir. Hafızadan çalıştığım için sadece bir not,% 24.8 olabilir. Rothenberg'in makalesini şu adreste bulabilirsiniz:

Rothenberg, TJ ve FM Fisher ve CB Tilanus, Cauchy Örneğinden Tahmin Üzerine Bir Not, Amerikan İstatistik Derneği Dergisi, 1964, cilt 59 (306), s. 460-463

İkinci konu benim için şaşırtıcıydı. Geometri üzerinde çalışana kadar sebebin ne olduğunu anlayamadım. İade, altta% -100 oranında bağlanır. Bu, medyanı% 2 kaydırır ve çeyrekler arası aralık% 4 kaydırılır, ancak yarım kütle hala aynı noktalardadır. Yarı kütle ölçeğin doğru ölçüsüdür, ancak yarı genişlik değildir. Kesim olmasaydı, yarım genişlik ve yarım kütle aynı noktalarda olurdu. Benzer şekilde, medyan ve mod da aynı noktada kalacaktır. Ortanca ortalama aktör veya en azından ortalama ticaretin getirisidir. Bu nedenle, her zaman MVUE'nun yeri ve günlük ortalamasıdır.

Teoremi doğru anlamak, tüm Bayes kestiricilerinin kabul edilebilir kestiriciler olduğudur. İki koşuldan biri elde edilirse, sık tahmin ediciler kabul edilebilir tahmin edicilerdir. Birincisi, her örnekte, Frequentist ve Bayesian çözümünün aynı olmasıdır. İkincisi, Bayesian yönteminin sınırlayıcı çözeltisinin Frequentist çözümle eşleşmesi durumunda, Frequentist çözümün kabul edilebilir olmasıdır.

Kabul edilebilir tüm tahminciler, numune boyutu yeterince büyük olduğunda aynı çözeltiye yakınsar. Frequentist tahminci, modelinin gerçek model olduğunu ve verilerin rastgele olduğunu varsayar. Bayesian verilerin doğru olduğunu varsayar, ancak model rastgele. Sonsuz miktarda veriye sahipseniz, öznel model gerçeğe yaklaşmalıdır. Sonsuz miktarda veriye sahipseniz, ancak yanlış modeliniz varsa, Frequentist model olasılıkla sıfır ile gerçeğe yakınlaşacaktır.

Bu durumda, Bayes çözümü makul öncelikler altında, kesiciyi ve tahmin ediciyi oluşturmak için bilgi kaybından dolayı herhangi bir Frequentist kestiriciye her zaman stokastik olarak hükmedecektir.

Günlüklerde, olasılık fonksiyonu hiperbolik sekant dağılımıdır. Sonlu bir varyansı vardır, ancak kovaryans yoktur. OLS kullanılarak bulunan kovaryans matrisi, verilerin bir yapay nesnesidir ve temel alınan verilerde bulunan bir parametreye işaret etmez. Ham formda olduğu gibi, logdaki hiçbir şey kovarileri oluşturmaz, ancak hiçbir şey bağımsız değildir. Bunun yerine, kovaryans tanımını ihlal eden, ancak iç içe geçebilecekleri çok daha karmaşık bir ilişki vardır.

Markowitz ve Usman bunu dağıtımlarla ilgili çalışmalarında buldular, ancak hiperbolik sekant dağılımı bir Pearson ailesinde değil ve ham verilerden bir dağıtımı günlük verilerine dönüştürdüğünüzde istatistik özelliklerini de değiştirdiğinizi fark ederek verileri yanlış yorumladılar. . Temelde bunu buldular ama kaçırdılar çünkü aramak için bir nedenleri yoktu ve günlükleri kullanmanın istenmeyen sonuçlarını fark etmediler.

Markowitz ve Usman'ın bulunduğum yerde bana atıfta bulunmamasına rağmen, dışarıdaki dağılımı tahmin etmek için birkaç iyi işten birini yaptılar.

Her durumda, JAGS kullanmıyorum. Nasıl yapacağım hakkında hiçbir fikrim yok. Tüm MCMC işlerimi elle kodluyorum.

Bu konuda çok daha eksiksiz ve doğru bir makalem var:

Harris, DE (2017) Getirilerin Dağılımı. Matematiksel Finans Dergisi, 7, 769-804.

Herhangi bir varlık veya yükümlülük sınıfı için dağıtım oranları ve aynı zamanda muhasebe oranları için bir yöntem sağlayacaktır.

Ben gariptim, ama Bayes ve Pearson-Neyman yöntemleri arasındaki ilişkiyi yanlış anladığını görebiliyordum. Onları tersine çevirdin. Bayes her zaman çalışır, ancak çözümünüzü bozacak önceki bir yoğunluk ile sıkışıp kalırsınız. Uygun bir öncekiyle, önyargılı bir tahmin ediciyi garanti edersiniz ve bu tür bir olasılık işlevi için, birliğe entegrasyonu garanti etmek için uygun bir önceliği kullanmanız gerektiğine inanıyorum. Sık yöntemler hızlıdır ve genellikle işe yarar. Tarafsızdırlar, ancak geçerli olmayabilirler.


Logaritma ve günlük getiriler arasındaki fark 500'de yaklaşık 1 kısımdır (Temel olarak 50 baz puanlık bir getiri aldım). Ayrıca, her iki şekilde de ölçülen günlük getirilerin normal dağılıma göre oldukça uzak olduğunu belirtmekte fayda var (aksine ekonomik teorilere bakılmaksızın). Her durumda, algoritma bu sorunlara duyarlıysa, pratik amaçlar için işe yaramaz. JAGS koduna nasıl atıfta bulunma olasılığınızın nasıl işlediğini bilmek isterim - ayrıntılandırabilir misiniz?
Brian B

@BrianB Cevabı düzenledim. Yaptığım bir düşünme hatası yapıyorsun. Neden yanlış olduğumu anlamak sonsuza dek sürdü.
Dave Harris
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.