1
를 벡터화 어려움은 내가 가진 :스탠 -
의 값을 찾고 싶습니다.mu_x을 - 실제 값
의 10 × 10 행렬을p- 형 - 10000 긴 벡터
sender_name_type - 10000 긴 벡터
,451,515,x_real - 10000 긴 벡터
내가 현재 가지고있는 코드 및 작품입니다 :
for(i in 1:N){
if(x_available[i]){
x_real[i]~normal(x[i],0.01);} else{
x_real[i]~normal(mu_x[ptype[i],sender_name_type[i]],0.1);
}
}
나는 그것을 벡터화 그러나 싶습니다. 이를 위해서, 먼저 if 절을 다루어야합니다.
x_real ~ normal(mu_x[ptype,sender_name_type],0.1) * (1-x_avaiable) + normal(x,0.01) * x_available;
그러나, Rstan는 분포를 곱하여 추가/처리 할 것 :이를 위해, 난 그냥과 같이 두 개의 분포를 추가했습니다. 내가 시도 두 번째 방법은 너무 같았다 : 첫 번째 방법과 유사하다
x_real ~ normal(mu_x[ptype,sender_name_type],0.1);
x_real[x_available == 1] ~ normal(x,0.01);
을하지만 조건이 충족되는 x_real의 행을 재정의합니다. 그러나, 그것은 나를 위해 일치
가 어떻게, 내 현재의 솔루션을 벡터화 할 수 정상 (실제 매트릭스)? 속도를 낼 수있는 다른 방법이 있습니까?없음의 오류 제공 :
실제 [] ~ 가능하면
감사합니다. 매우 도움이되었습니다. – user2089357