bayesnet / bnt

Bayes Net Toolbox for Matlab
460 stars 247 forks source link

Can I force nodes in a static bayes net to only assume positive values in marginal_node? #78

Open FWH-AC opened 4 years ago

FWH-AC commented 4 years ago

I want to predict longitudinal vehicle velocities through a static bayes net which are never below 0 in my use-case (and therefore the training samples). The net gets current and prior velocity and some infrastructure informations as inputs and predicts the next timesteps. It already gives quite good prediction results, but sometimes (especially when predicting from standstill) predicts negative velocities of small magnitude. It also produces very high sigmas when predicting longer horizons (~15s). Is there a way that i can tell my "prediction nodes" (gaussian_CPD) to only output positive means (or even means in a value range)? Maybe this would also decrease my sigmas... I don't really understand the clamp_mean and clamp_cov functionalities from the documentation, so maybe someone could help me on this.

Greetings from Germany, Flo

lhw-kl commented 4 years ago

@FWH-AC I wonder wether you have solved this problem for I have gotten in the same trouble. Could you give me some help?

FWH-AC commented 4 years ago

@FWH-AC I wonder wether you have solved this problem for I have gotten in the same trouble. Could you give me some help?

Unfirtunately didn't. I ended up just processing the results and setting negative predictions to 0 which worked fine for my use case.

Vivian966 commented 4 years ago

@FWH-AC I have a case meets the Conditional Linear Gaussian Distribution and I created the model using the BNT. I have got the parameters { mean,covariance, regression vector } by training the model with train data. The problem is how I can predict the new distribution with test data. What fuctions do you use in the BNT tool? I'll be very thankfull for your help. Best wishes!