Seleção de variáveis ​​bayesianas - realmente funciona?


14

Eu pensei que poderia brincar com alguma seleção de variáveis ​​bayesianas, seguindo um bom post no blog e os trabalhos relacionados. Escrevi um programa em rjags (onde sou um novato) e busquei dados de preços para a Exxon Mobil, além de algumas coisas que dificilmente explicam seus retornos (por exemplo, preços de paládio) e outras que devem ser altamente correlacionadas (como o SP500 )

Correndo lm(), vemos que existem fortes evidências de um modelo superparameterizado, mas que o paládio deve ser definitivamente excluído:

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

Depois de converter em retornos, tentei executar um modelo simples como este

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

mas descobri que, praticamente independentemente dos parâmetros para as distribuições gama escolhidas, obtive respostas sem sentido, como uma probabilidade de inclusão invariável de 20% para cada variável.

Também obtive coeficientes de regressão minúsculos, que estou disposto a tolerar, já que esse deveria ser um modelo de seleção, mas isso ainda parecia estranho.

                              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

A seleção de variáveis ​​bayesianas é realmente tão ruim / sensível? Ou estou cometendo algum erro flagrante?


5
Perdoe minha ignorância; mas qual foi a evidência de sobreajuste a que você se refere?
22133 curious_cat

Você deve explicar quais variáveis ​​são quais na segunda saída. Eu usei a seleção de variáveis ​​bayesianas em uma variedade de problemas e, em várias situações (incluindo regressão), geralmente funciona razoavelmente bem. Mas seus resultados - especialmente as estimativas - me parecem estranhos.
Glen_b -Reinstala Monica 6/13

@curious_cat A evidência de sobreajuste está, por exemplo, no coeficiente negativo entre a Exxon (uma companhia de petróleo) e o preço do petróleo. Surge porque eu deliberadamente tornei esse modelo vítima da multicolinearidade . (Talvez "sobreajuste" seja a palavra errada para descrevê-la - suponho que excesso de parâmetros seja mais preciso).
Brian B

@BrianB Esse coeficiente se torna positivo se você largar todas as variáveis ​​explicativas, exceto o petróleo? Apenas curioso.
Curious_cat

@curious_cat Sim, certamente (aproximadamente 0,7). Este é um caso clássico de multicolinearidade (outra palavra feia).
Brian B

Respostas:


3

No código BUGS, mean[i]<-inprod(X[i,],beta)deve ser mean[i]<-inprod(X[i,],beta[]).

Seus antecedentes em tau e taubeta são muito informativos.

Você precisa de um pré-informativo não informativo sobre betaifincluído, use, por exemplo, um gamma(0.1,0.1)on taubeta. Isso pode explicar por que você obtém pequenos coeficientes de regressão.


Obrigado por notar isso. Infelizmente, não melhorou a situação.
Brian B

2

Funciona, mas você deu a todos os indicadores de inclusão variáveis ​​a mesma distribuição subjacente.

  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)

  }

pode funcionar melhor com um número limitado de variáveis.


Experimentar esta receita não funcionou melhor, pelo menos em 10.000 amostras.
Brian B

2

Se você usou retornos de log, cometeu um erro levemente tendencioso, mas se usou o valor futuro dividido pelo valor presente, sua probabilidade está errada. Na verdade, sua probabilidade está errada em ambos os casos. É errado o suficiente para importar.

Considere que uma estatística é qualquer função dos dados. Retornos não são dados, são transformações de dados. Eles são um valor futuro dividido por um valor presente. Os preços são dados. Os preços devem ter uma função de distribuição, mas a função de distribuição para devoluções deve depender apenas da natureza dos preços.

ptpt+1

pt+1pt-1

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

O OLS força o melhor ajuste aos dados observados, mesmo que seja a solução errada. Os métodos bayesianos tentam encontrar a função de geração de dados através da probabilidade. Você tinha a probabilidade errada, por isso não foi possível encontrá-la.

Tenho um artigo sobre isso se precisar de informações adicionais.

EDIT Eu acho que você entendeu errado. Se você converter a probabilidade em uma função de densidade e atender à expectativa, descobrirá que ela não possui nenhuma. Como prova de Augustin Cauchy em 1852 ou talvez 1851, qualquer forma de solução de mínimos quadrados é perfeitamente imprecisa. Sempre falhará. Não é que você deva usar regressão padrão porque o Bayesiano é sensível à probabilidade; é que Bayes é a única solução disponível admissível, com algumas exceções especiais para alguns casos especiais incomuns.

Ao fazer os testes empíricos sobre isso, e antes de ler o suficiente da matemática, pensei ingenuamente que a solução bayesiana e a freqüentista deveriam corresponder. Existe, aproximadamente, um teorema que diz que quando a amostra se tornar grande o suficiente, os dois convergirão. Eu usei todos os negócios do final do dia no universo do CRSP de 1925-2013 para testá-lo. Não é isso que o teorema diz. Eu estava entendendo mal as regras.

Eu também tentei o problema nos logs e ele ainda não correspondia. Então, percebi algo, todas as distribuições são formas e, então, construí uma solução geométrica para determinar qual solução estava correta. Eu o tratei como um problema de geometria pura para determinar qual resposta algébrica correspondia aos dados.

O bayesiano combinava. Isso me levou a um caminho muito matemático, porque eu não conseguia descobrir por que o estimador imparcial estava tão errado. Apenas para constar, usando retornos desagregados no período 1925-2013 e removendo empresas de fachada, fundos fechados e assim por diante, a discrepância entre o centro da localização é de 2% e a medida de risco é subestimada em 4% para retornos anuais . Essa discrepância ocorre na transformação de log, mas por um motivo diferente. Pode ser diferente para índices ou subconjuntos individuais dos dados.

O motivo da discrepância é duplo. A primeira é que as distribuições envolvidas não possuem uma estatística suficiente. Para certos tipos de problemas, isso não importa. Para propósitos projetivos, como previsão ou alocação, eles importam bastante. A segunda razão é que o estimador imparcial é sempre uma versão da média, mas a distribuição não tem média.

A densidade acima não é um membro da família exponencial, como é a distribuição normal ou gama. Pelo teorema de Pitman – Koopman – Darmois, não existe estatística de ponto suficiente para os parâmetros. Isso implica que qualquer tentativa de criar um estimador de pontos deve descartar informações. Isso não é um problema para soluções bayesianas porque a posterior é uma densidade inteira e, se você precisar de uma estimativa pontual, poderá encontrar a densidade preditiva e minimizar uma função de custo sobre ela para reduzi-la a um único ponto. A probabilidade bayesiana é sempre minimamente suficiente.

O estimador imparcial de variância mínima para a função acima é manter os 24,6% centrais dos dados, encontrar sua média aparada e descartar o restante dos dados. Isso significa que mais de 75% dos dados são descartados e as informações são perdidas. Apenas uma observação, pode ser 24,8%, pois estou trabalhando de memória. Você pode encontrar o artigo de Rothenberg em:

Rothenberg, TJ e FM Fisher e CB Tilanus, uma nota sobre estimativa de uma amostra de Cauchy, Jornal da Associação Estatística Americana, 1964, vol 59 (306), pp. 460-463

A segunda questão foi surpreendente para mim. Até eu trabalhar na geometria, não sabia qual era a causa. Os retornos são limitados na parte inferior em -100%. Isso muda a mediana em 2% e o intervalo interquartil é deslocado em 4%, embora a meia massa ainda esteja nos mesmos pontos. A meia massa é a medida adequada de escala, mas a meia largura não é. Se não houvesse truncamento, a meia largura e a meia massa estariam nos mesmos pontos. Da mesma forma, a mediana e o modo permaneceriam no mesmo ponto. A mediana é o retorno para o ator médio ou pelo menos para o comércio médio. Como tal, é sempre o local do MVUE e a média do log.

O entendimento correto do teorema é que todos os estimadores bayesianos são estimadores admissíveis. Estimadores freqüentistas são estimadores admissíveis se uma das duas condições for obtida. A primeira é que, em todas as amostras, a solução freqüentista e a bayesiana são idênticas. A segunda é que, se a solução limitadora do método bayesiano correspondeu à solução freqüentista, a solução freqüentista é admissível.

Todos os estimadores admissíveis convergem para a mesma solução quando o tamanho da amostra é grande o suficiente. O estimador freqüentista presume que seu modelo é o modelo verdadeiro e os dados são aleatórios. O bayesiano assume que os dados são verdadeiros, mas o modelo é aleatório. Se você tinha uma quantidade infinita de dados, o modelo subjetivo deve convergir para a realidade. Se você tivesse uma quantidade infinita de dados, mas o modelo errado, o modelo Frequentist convergirá para a realidade com probabilidade zero.

Nesse caso, a solução bayesiana, sob antecedentes razoáveis, sempre dominará estocisticamente qualquer estimador freqüentista por causa do truncamento e da perda de informações para criar o estimador.

Nos logs, a função de probabilidade é a distribuição secante hiperbólica. Tem uma variação finita, mas nenhuma covariância. A matriz de covariância encontrada usando OLS é um artefato dos dados e não aponta para um parâmetro que existe nos dados subjacentes. Como na forma bruta, nada no formulário de log cobre, mas também nada é independente. Em vez disso, existe um relacionamento muito mais complexo que viola a definição de covariância, mas na qual eles podem se recuperar.

Markowitz e Usman quase o encontraram em seu trabalho sobre distribuições, mas a distribuição secante hiperbólica não está em uma família Pearson e eles interpretaram mal os dados ao não perceber que quando você altera uma distribuição de dados brutos para dados de log, também altera suas propriedades estatísticas . Eles basicamente descobriram isso, mas não perceberam porque não tinham motivos para procurá-lo e não perceberam as conseqüências não intencionais do uso de logs.

Não tenho Markowitz e Usman comigo onde estou, mas eles fizeram um dos poucos trabalhos muito bons em estimar a distribuição que existe por aí.

De qualquer forma, eu não uso JAGS. Eu não tenho idéia de como fazê-lo. Eu codifico todo o meu trabalho do MCMC manualmente.

Tenho um artigo muito mais completo e preciso sobre este tópico em:

Harris, DE (2017) A distribuição de retornos. Jornal de Finanças Matemáticas, 7, 769-804.

Ele fornecerá a você um método para construir distribuições para qualquer classe de ativo ou passivo, também índices contábeis.

Eu era prolixo, mas pude ver que você estava entendendo mal o relacionamento entre Bayes e os métodos de Pearson-Neyman. Você os inverteu. Bayes sempre funciona, mas você está preso a uma densidade anterior que perturbará sua solução. Com um prévio adequado, você garante um estimador tendencioso e, para esse tipo de função de probabilidade, acredito que você deve usar um prévio adequado para garantir a integrabilidade à unidade. Os métodos freqüentistas são rápidos e geralmente funcionam. Eles são imparciais, mas podem não ser válidos.


A diferença entre logaritmos e retornos de preços no nível diário é de cerca de 1 parte em 500 (tomei um retorno de 50 pontos base como linha de base). Também é importante notar que os retornos diários, medidos de qualquer maneira, estão muito longe de serem normalmente distribuídos (independentemente das teorias econômicas em contrário). De qualquer forma, se o algoritmo for sensível a esses problemas, será inútil para fins práticos. Gostaria de saber como a função de probabilidade que você cita mapeia para o código JAGS - você pode elaborar?
Brian B

@BrianB Eu editei a resposta. Você está cometendo um erro de pensar que eu cometi. Levei uma eternidade para descobrir por que eu estava errado.
Dave Harris
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.