0

みんな。pymc を使用してベイジアン モデルでパネル データ分析を行う方法について質問があります。データは次のようになります。

..........................................................
User    Time     x1          x2         x3           Y
1        1        1          1           3           2      
1        2        2          1           4           1
1        3        2          2           2           1
1        4        1          3           1           3
1        5        1          1           2           3
2        1        1          3           1           3  
2        2        1          1           2           2
2        3        2          3           1           0
2        4        1          2           2           3
2        5        1          1           1           2    
3        1        4          3           1           3  
3        2        3          1           3           2
3        3        2          3           2           2
3        4        2          1           2           3
3        5        1          1           1           2
4        1        1          1           3           2      
4        2        2          2           4           3
4        3        2          2           2           1
4        1        1          3           1           3
4        1        4          5           2           3  
.............   
..........................................................

現在、T 倍のサンプル (N≫T)、独立変数 (x1、x2、x3) および従属変数 (Y) に N ユーザーがいます。

ここで、集団レベルで X が Y に与える影響を分析したいと思います。例として最も単純な線形回帰を取り上げます。「ベイジアン計量経済学入門」(PP.145) の本に従ってください。一般的なモデルは次のように記述されることがよくあります。

$$ y_{it} = x_{it}{\beta}+ w_{it}{b_i}+ {u_{it}}, i = 1,...,n;\;\;t = 1,. ..、T $$

$i$ はユーザーを示します。$t$ は時刻を表します。${\beta}$ は固定効果と呼ばれる $i$ 間で違いはありません。${b_i}$ は、ランダム効果と呼ばれる $i$ 間で異なります。

ベイズの意見では、${\beta}$ と ${b_i}$ の両方が確率変数と見なされます。${\beta} $~$ N({\beta}_0,{\beta}_1)$ と ${b_i} $~$ N({\lambda_0},{\lambda_1})$

ただし、これは理論上の一般的な考え方ですが、モデル化してpymcに適合させる方法についてはまったくわかりません。

インスピレーションやサンプルコードを教えてくれてありがとう。

4

1 に答える 1

0

次のブログ投稿には、PyMC3 を使用して線形回帰を適合させる良い例が含まれています。また、glm モジュールを使用したショートカットも含まれています。これは、R 構文に精通しているユーザーにとって特に便利です。

http://twiecki.github.io/blog/2013/09/12/bayesian-glms-1/

多変量のモデルでは、変数ごとに x_coeff が必要になります。これを行う最も簡単な方法は、Normal() を呼び出すときに「size = 4」を渡すことです。これにより、データ内の変数ごとに 1 つずつ、4 つの確率変数が生成され、配列として返されます。

于 2015-01-25T16:43:51.303 に答える