2015-03-21 12 views
5

Jaki jest właściwy sposób formatowania predyktora jakościowego do użycia w STAN? Nie mogę wprowadzić predyktora jakościowego jako normalnej zmiennej czynnikowej, więc jaki jest najszybszy sposób przekształcenia normalnej zmiennej kategorialnej, aby STAN mógł ją zaakceptować?Jak reprezentować predyktorem jakościowym rstan?

Na przykład, powiedzmy miałem continue predyktorem i kategoryczne predyktorem takie jak:

 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 

Jak przygotować ten należy wpisać w rstan?

Odpowiedz

11

Prawidłowe jest, że Stan wprowadza tylko zmienne rzeczywiste lub całkowite. W tym przypadku chcesz przekonwertować predykator kategorialny na zmienne typu fikcyjnego (być może z wyłączeniem kategorii odniesienia). W R, można zrobić coś takiego

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

jednak, że nie może wyjść na prawą liczby obserwacji, jeśli masz unmodeled missingness na niektórych innych zmiennych. Takie podejście może być o krok dalej, wprowadzając cały model formułę jak

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

Teraz masz całą matrycę konstrukcyjną predykcyjnych, które można wykorzystać w .stan programu z algebry liniowej, takich jak

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 
} 

Korzystanie z matrycy projektowej jest zalecane, ponieważ umożliwia ponowne użycie programu .stan przy różnych odmianach tego samego modelu lub nawet różnych zestawów danych.

Powiązane problemy