I am trying to build a DBN that predicts the weather given a day of the year and hour of the day. The day and time nodes are both parents to nodes for precipitation, wind speed, and temperature so it is not a very complex network. I have historical data for precipitation, wind speed, and temperature for each day of the year at intervals of one hour through the day for training purposes. Day and Time will always be known, so the goal is to have a network that calculates the probabilities of the weather given the day, time, and weather at the previous time step. I have a few questions regarding the build and training of this network:
1) Should the day and time nodes be in the Contemporals or in the Temporal Plate?
2) Should I make the DBN have 24 time steps (one for each hour of the day that I have data)?
3) How is the training data structured so that it reflects the answers from my first two questions?
I have attached an image of the network and a snapshot of the data I have.
I am a beginner so all help and information is appreciated.
DBN Advice
DBN Advice
- Attachments
-
- SimpleWeatherDBN.png (40.03 KiB) Viewed 4700 times
-
- SampleData.PNG (31.57 KiB) Viewed 4700 times
-
- Site Admin
- Posts: 436
- Joined: Tue Dec 11, 2007 4:24 pm
Re: DBN Advice
It seems to me that the nodes "Day" and "Time" should not be part of your DBN. DBNs model (discrete) time implicitly by means of time steps. One approach that I can imagine is having a DBN with 24 time steps (one full day, one hour intervals) and ten modeling variables that interact with one another (I'm sorry, I don't know enough about the domain to advise you which variables to capture in the model). Perhaps you can model context variables, such as previous day's weather, season, etc., in the first slice, i.e., the initial conditions? In general, I would advise you to go through a simple DBN model, such as those introduced in Murphy's thesis or perhaps Russel and Norvig's book and understand how they work. There is no substitution to understanding the way the modeling formalism works. We will be happy to help you with GeNIe. I have noticed that even though you painted the graph yourself, you are used to GeNIe notation (which is, I think, the best there is :-)). To create a snapshot of the model as a picture, please select nodes, copy them and the paste special/image.
I hope this helps,
Marek
I hope this helps,
Marek
Re: DBN Advice
Thanks for your help
Is there a way to count floating point operations with Genie for the network I create?
Is there a way to count floating point operations with Genie for the network I create?
-
- Site Admin
- Posts: 1441
- Joined: Mon Nov 26, 2007 5:51 pm
Re: DBN Advice
No. The best you can get is the time spent in the last "Update Beliefs" command invoked - see network properties, summary tab.Is there a way to count floating point operations with Genie for the network I create?
As a side note, depending on the network structure, the percentage of inference time spent in floating point calculations may differ significantly.