베이지안 변수 선택-실제로 작동합니까?


14

나는 좋은 블로그 게시물 과 그 안에 연결된 논문에 따라 일부 베이지안 변수 선택을 가지고 장난감을 가지고 있다고 생각했습니다 . rjags (내가 꽤 신인 임) 에서 프로그램 을 작성하고 Exxon Mobil에 대한 가격 데이터 를 가져 왔으며 , 수익률 (예 : 팔라듐 가격)을 설명 할 수없는 것 및 SP500과 같이 관련성이 높은 다른 것 ).

실행 lm(), 우리는 거기에 강력한 overparameterized 모델의 증거,하지만 팔라듐 확실히 제외되어야 것을 볼 수 :

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 ***

반환으로 변환 한 후 다음과 같은 간단한 모델을 실행하려고했습니다.

  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)
  }

그러나 선택한 감마 분포에 대한 매개 변수에 관계없이 각 변수에 대해 변하지 않는 20 %의 포함 확률과 같은 무의미한 답변을 얻었습니다.

나는 또한 작고 작은 회귀 계수를 얻었습니다.이 모델은 선택 모델이어야한다고 생각한 후에 용납 할 수 있지만 여전히 이상하게 보입니다.

                              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

베이지안 변수 선택이 그렇게 나쁘거나 민감합니까? 아니면 눈부신 오류가 있습니까?


5
내 무지를 용서해주십시오. 그러나 당신이 언급 한 것을 과도하게 맞추는 증거는 무엇입니까?
curious_cat

두 번째 출력에서 ​​어떤 변수가 어떤 것인지 설명해야합니다. 다양한 문제에 대해 베이지안 변수 선택을 사용했으며 회귀를 포함한 여러 상황에서 일반적으로 합리적으로 잘 작동합니다. 그러나 귀하의 결과, 특히 추정치가 이상하게 보입니다.
Glen_b-복지 모니카

@curious_cat 과적 합의 증거는 예를 들어 Exxon (석유 회사)과 유가 사이의 음의 계수입니다. 이 모델을 고의적으로 다중 공선 성 으로 만들었 기 때문에 발생합니다 . (아마도 "과적 합"은이를 설명하기위한 잘못된 단어 일 것입니다.
Brian B

@BrianB 오일을 제외한 모든 설명 변수를 삭제하면 해당 계수가 양수가됩니까? 그냥 궁금해서
curious_cat

@curious_cat 예, 확실합니다 (약 0.7). 이것은 다중 공선 성 (또 다른 못생긴 단어)의 전형적인 사례입니다.
Brian B

답변:


3

BUGS 코드에서는 mean[i]<-inprod(X[i,],beta)이어야합니다 mean[i]<-inprod(X[i,],beta[]).

tau 및 taubeta에 대한 귀하의 이전 정보는 너무 유익합니다.

베타에 포함되기 전에 비 정보적인 정보가 필요합니다 (예 : gamma(0.1,0.1)타 베타). 이것은 왜 작은 회귀 계수를 얻는 지 설명 할 수 있습니다.


주목 해 주셔서 감사합니다. 불행히도 상황이 개선되지 않았습니다.
Brian B

2

작동하지만 모든 변수 포함 표시기에 동일한 기본 분포를 제공했습니다.

  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)

  }

제한된 수의 변수로 더 잘 작동 할 수 있습니다.


이 레시피를 시도하면 적어도 10000 샘플에서 더 나아지지 않았습니다.
Brian B

2

로그 반환을 사용하면 약간의 치우침 오류가 발생했지만 미래 값을 현재 값으로 나눈 값을 사용하면 가능성이 잘못됩니다. 실제로, 두 경우 모두 귀하의 가능성이 잘못되었습니다. 중요한 것은 잘못입니다.

통계는 데이터의 함수라고 생각하십시오. 반환 값은 데이터가 아니라 데이터의 변환입니다. 미래 가치를 현재 가치로 나눈 값입니다. 가격은 데이터입니다. 가격에는 분배 기능이 있어야하지만, 반품에 대한 분배 기능은 가격의 특성에만 의존해야합니다.

이중 경매에서 유가 증권의 경우 "승자의 저주"가 없습니다. 합리적인 행동은 기대에 입찰하는 것입니다. 많은 구매자와 판매자가 많으면 제한 책은 기대 분포이므로 정규 분포로 수렴해야합니다. 그래서정상적으로 배포되어야합니다. 또한+1정상적으로 배포되어야합니다. 따라서 수익률은

+11.

회귀에 대한 우도 함수는

1πσσ2+(와이β1엑스1β2엑스2β엑스α)2.

OLS는 잘못된 솔루션 일지라도 관측 된 데이터에 가장 잘 맞습니다. 베이지안 방법은 가능성을 통해 데이터 생성 기능을 찾으려고 시도합니다. 가능성이 잘못되었으므로 찾을 수 없었습니다.

추가 정보가 필요한 경우 여기에 종이가 있습니다.

편집하다 당신이 오해 한 것 같아요. 가능성을 밀도 함수로 변환하고 기대 값을 가지면, 그 가능성이 없다는 것을 알게 될 것입니다. 1852 년 또는 1851 년 어거스틴 코시 (Augustin Cauchy)의 증거에 따르면, 최소 제곱 솔루션의 형태는 완벽하게 부정확합니다. 항상 실패합니다. 베이지안이 우도에 민감하기 때문에 표준 회귀를 사용해야하는 것은 아닙니다. 베이 즈는 유일하게 사용할 수있는 유일한 솔루션이며, 특별한 경우에는 예외가 있습니다.

이것에 대한 경험적 테스트를 수행하면서 수학을 충분히 읽기 전에 베이지안과 빈번한 솔루션이 일치해야한다고 순진하게 생각했습니다. 샘플이 충분히 커지면 두 개가 수렴한다고하는 정리가 있습니다. 저는 1925-2013 년부터 CRSP 세계의 모든 종말 거래를 테스트했습니다. 그것은 정리가 말하는 것이 아닙니다. 나는 규칙을 오해하고 있었다.

또한 로그에서 문제를 시도했지만 여전히 일치하지 않습니다. 그래서 나는 무언가를 깨달았고 모든 분포는 모양이며 어떤 솔루션이 올바른지 결정하기 위해 기하학적 솔루션을 구성했습니다. 나는 데이터와 일치하는 대수적 대답을 결정하기 위해 순수한 기하학 문제로 취급했습니다.

베이지안 하나가 일치했습니다. 편견없는 추정기가 왜 그렇게 잘못되었는지 알 수 없기 때문에 이것은 매우 수학적 경로를 이끌어 냈습니다. 기록상, 1925-2013 년 기간 동안 분리 된 수익을 사용하고 셸 회사, 폐쇄 형 펀드 등을 제거하면 위치 중심 간의 불일치가 2 %이며 연간 수익률에 대해 위험 측정 값이 4 %로 과소 평가됩니다 . 이 불일치는 로그 변환에 적용되지만 다른 이유가 있습니다. 데이터의 개별 인덱스 또는 하위 집합에 따라 다를 수 있습니다.

불일치의 이유는 두 가지입니다. 첫 번째는 관련된 분포에 충분한 통계가 부족하다는 것입니다. 특정 유형의 문제는 중요하지 않습니다. 그러나 예측 또는 할당과 같은 프로젝션 목적에서는 매우 중요합니다. 두 번째 이유는 편향 추정량이 항상 평균의 버전이지만 분포에 평균이 없기 때문입니다.

위의 밀도는 정규 분포 또는 감마 분포와 같이 지수 패밀리의 구성원이 아닙니다. Pitman–Koopman–Darmois 정리에 따르면 매개 변수에 대한 충분한 포인트 통계가 없습니다. 이는 포인트 추정기를 만들려고하면 정보를 버려야한다는 것을 의미합니다. 후자는 전체 밀도이기 때문에 Bayesian 솔루션에는 문제가되지 않으며, 포인트 추정이 필요한 경우 예측 밀도를 찾고 그에 대한 비용 함수를 최소화하여 단일 포인트로 줄일 수 있습니다. 베이지안 가능성은 항상 최소한으로 충분합니다.

위의 함수에 대한 최소 분산 편견 추정량은 데이터의 중심을 24.6 %로 유지하고 다듬은 평균을 찾고 나머지 데이터를 버리는 것입니다. 즉, 데이터의 75 % 이상이 삭제되고 정보가 손실됩니다. 참고로 메모리에서 작업 할 때 24.8 % 일 수 있습니다. 로텐 베르크의 논문은 다음에서 찾을 수 있습니다.

Rothenberg, TJ 및 FM Fisher, CB Tilanus, Cauchy 샘플 추정에 관한 메모, 미국 통계 협회 저널, 1964, vol 59 (306), 460-463 페이지

두 번째 문제는 놀랍습니다. 지오메트리를 다룰 때까지 그 원인이 무엇인지 몰랐습니다. 수익률은 바닥에 -100 %로 제한됩니다. 절반 질량이 여전히 같은 지점에 있지만 중간 값이 2 %만큼 이동하고 사 분위 간 범위가 4 %만큼 이동합니다. 반 질량은 적절한 척도 측정이지만 반폭은 그렇지 않습니다. 절단이 없으면 절반 너비와 절반 질량은 같은 지점에있게됩니다. 마찬가지로, 중앙값과 모드는 같은 시점에 유지됩니다. 중앙값은 평균 행위자 또는 적어도 평균 거래에 대한 수익입니다. 따라서 항상 MVUE의 위치와 로그 평균입니다.

정리에 대한 올바른 이해는 모든 베이지안 추정값이 허용 가능한 추정값이라는 것입니다. 두 가지 조건 중 하나에 해당하면 상용 추정자는 허용 가능한 추정기입니다. 첫 번째는 모든 샘플에서 Frequentist와 Bayesian 솔루션이 동일하다는 것입니다. 두 번째는 Bayesian 방법의 제한 솔루션이 Frequentist 솔루션과 일치하면 Frequentist 솔루션이 허용된다는 것입니다.

표본 크기가 충분히 커지면 허용 가능한 모든 추정량이 동일한 솔루션으로 수렴됩니다. Frequentist Estimator는 모델이 실제 모델이고 데이터가 무작위라고 가정합니다. 베이지안에서는 데이터가 참이라고 가정하지만 모형은 임의적입니다. 무한한 양의 데이터가 있다면 주관적 모델이 현실로 수렴해야합니다. 무한한 양의 데이터가 있지만 잘못된 모델이있는 경우 Frequentist 모델은 확률 0으로 현실로 수렴됩니다.

이 경우, 합리적인 사전에 베이지안 솔루션은 추정기를 작성하기위한 정보의 손실 및 절단으로 인해 항상 Frequentist 추정기를 지배적으로 지배합니다.

로그에서 우도 함수는 쌍곡 시컨트 분포입니다. 유한 분산은 있지만 공분산은 없습니다. OLS를 사용하여 찾은 공분산 행렬은 데이터의 인공물이며 기본 데이터에 존재하는 매개 변수를 가리 키지 않습니다. 원시 형태와 마찬가지로 로그 형태의 covaries는 없지만 독립적 인 것은 없습니다. 대신 공분산의 정의를 위반하지만 더 큰 관계를 맺을 수있는 훨씬 더 복잡한 관계가 존재합니다.

Markowitz와 Usman은 분포에 대한 연구에서 거의 그것을 발견했지만, 쌍곡선시 분포는 Pearson 가족이 아니며 분포를 원시 데이터에서 로그 데이터로 변경하면 통계 속성도 변경한다는 사실을 알지 못하여 데이터를 잘못 해석했습니다. . 그들은 기본적으로 이것을 발견했지만 그것을 찾을 이유가 없었고 로그를 사용하여 의도하지 않은 결과를 깨닫지 못했기 때문에 그것을 놓쳤습니다.

나는 Markowitz와 Usman이 내가있는 곳을 인용하지는 않았지만, 거기에있는 분포를 추정하는 데 아주 좋은 몇 안되는 일 중 하나를 수행했습니다.

어쨌든 JAGS는 사용하지 않습니다. 나는 그것을하는 방법을 모른다. 모든 MCMC 작업을 수동으로 코딩합니다.

이 주제에 대해 훨씬 더 정확하고 정확한 논문이 있습니다.

해리스, DE (2017) 수익 분배. 수학 금융 저널, 7, 769-804.

자산 또는 부채 클래스에 대한 분포를 구성하는 방법과 회계 비율을 제공합니다.

나는 말이 많았지 만 Bayes와 Pearson-Neyman 방법의 관계를 오해하고 있음을 알 수있었습니다. 당신은 그것들을 뒤집 었습니다. 베이는 항상 작동하지만 솔루션에 혼란을 줄 수있는 사전 밀도로 갇혀 있습니다. 적절한 사전 결정을 내리면 편향 추정기가 보장되고 이러한 유형의 우도 함수에 대해서는 통합에 대한 통합 성을 보장하기 전에 적절한 것을 사용해야한다고 생각합니다. 빈번한 방법은 빠르고 일반적으로 작동합니다. 편견이 없지만 유효하지 않을 수 있습니다.


일일 수준에서 로그와 가격 수익률의 차이는 500에서 약 1 분의 1입니다 (저는 50 기준 포인트 수익률을 기준으로 삼았습니다). 어느 쪽이든 측정 한 일일 수익률은 경제 이론과는 반대로 정규 분포와는 거리가 멀다는 점도 주목할 가치가 있습니다. 어쨌든 알고리즘이 이러한 문제에 민감한 경우 실제적인 목적으로는 쓸모가 없습니다. 필자가 인용 한 가능성 함수가 JAGS 코드에 어떻게 매핑되는지 알고 싶습니다.
브라이언 B

@BrianB 나는 대답을 편집했다. 당신은 내가 만든 생각을 잘못하고 있습니다. 내가 왜 틀렸는 지 알아내는 데 영원히 걸렸습니다.
Dave Harris
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.