2015-01-10 5 views
0

모두. pymc를 사용하여 베이지안 모델에서 패널 데이터 분석을 수행하는 방법에 대한 질문이 있습니다.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 
............. 
.......................................................... 

지금, I는 T 배 샘플 (N»T)에 N 사용자뿐만 아니라 독립 변수 (X1, X2, X3) 및 종속 변수 (Y)을 가지고 같은 데이터이다.

이제 집단 수준에서 Y에 대한 X의 영향을 분석하고 싶습니다. 가장 단순한 선형 회귀를 예로 들자면, "베이지안 계량 경제학 개론"(PP.145)의 책을 따라 가면, 일반 모델은 종종 다음과 같이 쓰여진다 :

$$ y_ {it} = x_ {it} T = 1, ..., T $$

{0} {1}, ..., T = 1, ..., T = 1, ..., $ i $는 사용자를 나타냅니다. $ t $는 시간을 나타냅니다. $ {\ beta} $는 고정 효과라고하는 $ i $에서 다르지 않습니다. $ {b_i} $은 (는) 임의 효과라고하는 $ i $에서 다릅니다.

베이지안 의견에서, $ {\ beta} $와 $ {b_i} $는 모두 확률 변수로 간주됩니다. 그래서 $ {\ beta} $ ~ $ N ({\ beta} _0, {\ beta} 1) $, $ {b_i} $ ~ $ N ({\ lambda_0}, {\ lambda_1}) $

그러나 이것은 이론상의 일반적인 생각이지만 pymc에서 모델링하고 적용하는 방법에 대해서는 전혀 모른다.

감사합니다. 누군가 내게 영감이나 예제 코드를 제공합니다.

답변

0

다음 블로그 게시물은 PyMC3을 사용하여 선형 회귀를 피하는 좋은 예입니다. glm 모듈을 사용하여 R 커맨드에 익숙한 사용자에게 특히 유용한 단축키도 포함되어 있습니다.

변수입니다 모델, 들어

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

, 각 변수에 대한 x_coeff을 할 것입니다. 가장 쉬운 방법은 Normal()을 호출 할 때 'size = 4'를 전달하는 것입니다. 그러면 데이터의 각 변수에 대해 하나씩 4 개의 확률 변수가 생성되어 배열로 반환됩니다.

+0

링크가없는 경우 여기에 답의 관련 부분을 복사해야합니다. – Scriptable