2015-03-21 3 views
5

STAN में उपयोग करने के लिए एक स्पष्ट भविष्यवाणियों को प्रारूपित करने का उचित तरीका क्या है? मैं एक सामान्य कारक चर के रूप में एक स्पष्ट भविष्यवाणी इनपुट नहीं कर सकता, तो एक सामान्य वर्गीकृत चर बदलने के लिए सबसे तेज़ तरीका क्या है जैसे STAN इसे स्वीकार कर सकता है?एक स्पष्ट भविष्यवाणी रस्तान का प्रतिनिधित्व कैसे करें?

 income  country 
1 62085.59  England 
2 60806.33  England 
3 60527.27  England 
4 67112.64   USA 
5 57675.92   USA 
6 58128.44   USA 
7 60822.47 South Africa 
8 55805.80 South Africa 
9 63982.99 South Africa 
10 64555.45  Belgium 

मैं इस rstan में दर्ज किए जाने की तैयारी कैसे होगा:

उदाहरण के लिए, मैं एक एक भविष्यवक्ता और इस तरह के एक स्पष्ट भविष्यवक्ता जारी रखने के लिए किया था कहते हैं?

उत्तर

11

यह सही है कि स्टेन केवल वास्तविक या अभिन्न चर इनपुट करता है। इस मामले में, आप एक स्पष्ट भविष्यवाणी को डमी वैरिएबल में परिवर्तित करना चाहते हैं (शायद संदर्भ श्रेणी को छोड़कर)। आर में, आप की तरह

dummy_variables <- model.matrix(~ country, data = your_dataset) 

हालांकि कुछ कर सकते हैं, कि नहीं बाहर टिप्पणियों की सही संख्या के लिए है, तो आप कुछ अन्य चर पर unmodeled missingness है आ सकते हैं। यह दृष्टिकोण

X <- model.matrix(outcome ~ predictor1 + predictor2 ..., data = your_dataset) 

की तरह पूरे मॉडल सूत्र अब inputting द्वारा आगे एक कदम उठाया जा सकता है, आप भविष्यवक्ताओं कि आप रेखीय बीजगणित के साथ एक .stan कार्यक्रम में उपयोग कर सकते हैं की एक पूरी डिजाइन मैट्रिक्स है, इस तरह के

के रूप में
data { 
    int<lower=1> N; 
    int<lower=1> K; 
    matrix[N,K] X; 
    vector[N] y; 
} 
parameters { 
    vector[K] beta; 
    real<lower=0> sigma; 
} 
model { 
    y ~ normal(X * beta, sigma); // likelihood 
    // priors 
} 

डिज़ाइन मैट्रिक्स का उपयोग करने की अनुशंसा की जाती है क्योंकि यह आपके .stan प्रोग्राम को उसी मॉडल या यहां तक ​​कि अलग-अलग डेटासेट के विभिन्न बदलावों के साथ पुन: प्रयोज्य बनाता है।

संबंधित मुद्दे

 संबंधित मुद्दे