{
  "id": 5057,
  "title": "understanding data",
  "url": "/competitions/ams-2014-solar-energy-prediction-contest/discussion/5057",
  "author_name": "",
  "post_date": "2013-07-09T20:12:05.787Z",
  "votes": 1,
  "comment_count": 27,
  "views": 11571,
  "content": "<p>Can someone give a summary of the data? I'm able to view it using netcdf4 python but unable to understand it.</p>\r\n<p></p>",
  "messages": [
    {
      "id": "26901",
      "postDate": "07/09/2013 20:12:05",
      "content": "<p>Can someone give a summary of the data? I'm able to view it using netcdf4 python but unable to understand it.</p>\r\n<p></p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "26903",
      "postDate": "07/09/2013 21:41:30",
      "content": "<p>The data is a dictionary of all the helper/axis variables in it once you load the netcdf4 and the actual data. The actual data is a big array of shape (5113, 11, 5, 9, 16) with 5113 daily predictions from 1994 to 2007, 11 ensemble members of the GEFS (different submodel predictions I think), 5 actual predictions (it's released at midnight I think so it's forcast for&nbsp;12, 15, 18, 21, and 24 hours out), and 9 latitudes and 16 longitudes for where the predictions are spatially.<br> <br> The GEFS is a weather model that just predicts various things at various locations, and the data is those predictions.<br> <br> All the info about the specific files is on the data page and I figured out the stuff about the data by reading the main page.</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "26905",
      "postDate": "07/09/2013 22:09:57",
      "content": "<p>Thanks Alec. Can you tell me how train.csv is related to this big array of shape (5113,11,5,9,16) ?</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "26907",
      "postDate": "07/09/2013 22:47:10",
      "content": "<p>Each row in train.csv corresponds with the first dimension in the GEFS data array. The 11 ensemble members make forecasts at 5 time steps over the 9x16 lat-lon grid surrounding Oklahoma. Each column in train.csv is the total daily solar energy for a particular\r\n Mesonet site on a particular day. The locations of the Mesonet sites are specified in station_info.csv. You will have to come up with a method to translate the gridded GEFS forecasts to the station locations. How much of the grid you incorporate into your\r\n model is up to you.</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "26923",
      "postDate": "07/10/2013 06:32:56",
      "content": "<p>How is the minimum\\maximum temperatures related to the forecast hours(12,15,18,21,24)? In other words, is the minimum\\maximum forecast for 12 hours ahead, the min\\max temperature over that 12 hours, the 15 hours ahead the min\\max over that 15 hours and the\r\n 24 hours forecast is the min\\max for that day?</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "26934",
      "postDate": "07/10/2013 13:26:32",
      "content": "<p>The maximum and minimum temperatures apply to the maximum or minimum within 3 hour period preceding each forecast hour, so the max temperature at forecast hour 12 is taken from between hours 9 and 12, the max temperature at forecast hour 15 is taken from\r\n between hours 12 and 15. The 2m temperature variable is the temperature directly recorded at each given forecast hour. I updated the data description to clarify that time range.</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "26944",
      "postDate": "07/10/2013 14:54:33",
      "content": "<p>Any hints to open this file with R. Here is my script according to the documentation package but it raises an error:</p>\r\n<p>#set up the WD:</p>\r\n<p>setwd(&quot;C:/Users/Herimanitra/Downloads/KAGGLE COMPETITION/AMS 2013 2014 Forecasting contest/train&quot;)</p>\r\n<p>#OPEN the file:<br>\r\ntrain &lt;- open.ncdf(&quot;apcp_sfc_latlon_subset_19940101_20071231.nc&quot;)</p>\r\n<p>#error :</p>\r\n<p>&nbsp;Error in open.ncdf trying to open file apcp_sfc_latlon_subset_19940101_20071231.nc</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "26956",
      "postDate": "07/10/2013 16:27:09",
      "content": "<p>The data are in netCDF4 format, so the regular ncdf library, which only supports netCDF3, will not be able to read the files. You should use the\r\n<a href=\"http://cran.r-project.org/web/packages/ncdf4/index.html\">ncdf4 library</a> instead. I was able to open the file with it without any issues.</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "26963",
      "postDate": "07/10/2013 16:59:35",
      "content": "<p>It seems the package is not available for windows</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "26970",
      "postDate": "07/10/2013 18:07:36",
      "content": "<p>Finally, it works, I use the following linked:<a href=\"http://cirrus.ucsd.edu/~pierce/ncdf/\">http://cirrus.ucsd.edu/~pierce/ncdf/</a>&nbsp;as suggested here:<a href=\"http://lukemiller.org/index.php/2012/01/ncdf4-r-package-binaries/\">http://lukemiller.org/index.php/2012/01/ncdf4-r-package-binaries/</a></p>\r\n<p></p>\r\n<p>opening the file becomes:</p>\r\n<p><span>#OPEN the file:</span><br>\r\n<span>train &lt;- nc_open(&quot;apcp_sfc_latlon_subset_19940101_20071231.nc&quot;)</span></p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "26976",
      "postDate": "07/10/2013 19:12:58",
      "content": "<p>running this code: train=ncvar_get(train)&nbsp;</p>\r\n<p>gives an array . Now, I'd like to convert the array into a suitable format==&gt;data.frame</p>\r\n<p>Any hints again?</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "26979",
      "postDate": "07/10/2013 20:02:12",
      "content": "<p>[quote=Herimanitra;26976]</p>\r\n<p>running this code: train=ncvar_get(train)&nbsp;</p>\r\n<p>gives an array . Now, I'd like to convert the array into a suitable format==&gt;data.frame</p>\r\n<p>Any hints again?</p>\r\n<p>[/quote]</p>\r\n<p>You are going to have to do some spatial and temporal pre-processing in order to translate the data into a form usable by a machine learning algorithm, such as a data frame.&nbsp; To begin with, you may want to implement an interpolation technique to translate\r\n the forecast values from the grid points to the stations. You should be able to find appropriate libraries with a quick Google search. The top two benchmarks just use interpolation with no additional machine learning models applied to them. You will also need\r\n to decide how you will incorporate the different ensemble members and forecast hours into your model. There are many ways to aggregate the data and derive other physical quantities from what is given. Part of the goal of this contest is to find the most effective\r\n ways to do that.</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "26996",
      "postDate": "07/11/2013 05:45:37",
      "content": "<p>Here is my understanding of the situation:</p>\r\n<p>For each 11 GEFS members, there are 5113 daily predictions recorded at 5 particular hours of the day and localized at different locations which are determined by the couple (lat, lont)</p>\r\n<p>A documentation may be helpful...</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "26999",
      "postDate": "07/11/2013 06:53:22",
      "content": "<p>@StormMiner</p>\r\n<p>Am I correct in syaing we don't have any temperature data before 09:00?</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "27014",
      "postDate": "07/11/2013 15:59:56",
      "content": "<p>[quote=StormMiner;26907]</p>\r\n<p>Each row in train.csv corresponds with the first dimension in the GEFS data array.&nbsp;</p>\r\n<p>[/quote]</p>\r\n<p>Sorry, but it's still unclear to me, how one can identify that a grid of the array corresponds to a given station.</p>\r\n<p>I was thinking of comparing values of lat and long from the grid with values given in the station info (csv file) but it's not obvious</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "27018",
      "postDate": "07/11/2013 16:36:30",
      "content": "<p>@Rudi</p>\r\n<p>Yes, there is no temperature data before 9:00, but that is 9 UTC, which will correspond to either 3 or 4 AM Central Time in Oklahoma depending on whether or not daylight savings time is in effect. The data provided covers the period from sunrise until 00\r\n UTC, which should be enough to make an accurate estimate of the total daily incoming solar radiation. The daily total starts at sunrise and ends at 23:55 UTC, so you should not have to worry about extra solar radiation not being included in the GEFS data in\r\n the summer months when the sunset is after 00 UTC.</p>\r\n<p>@Herimanitra</p>\r\n<p>I will add some more documentation to the data page describing how the GEFS data are organized, but @Alec Radford's post describes it fairly accurately. The GEFS data are on a uniform grid spaced by 1 degree latitude and longitude. The Mesonet sites are\r\n unevenly distributed. The latitudes and longitudes for the grid points and the stations are both provided with the idea that one would perform some kind of spatial interpolation to adjust the GEFS values to the station locations or choose 1 or more of the\r\n nearest GEFS gridpoints and train a model from them at each station. To get going, the simplest method would be to find the nearest GEFS grid point to each station by calculating the Euclidean distance between the station lat-lons and the grid point lat-lons.\r\n I would suggest researching other distance-weighted interpolation methods and implementing some of them to see which works best. There are a large number of methods and a wide body of literature on the subject. Since the choice and implementation of this process\r\n will have a big impact on the strength of your model, I will not recommend specific resources, but a search of some of the key words in this post should lead you to useful information fairly quickly.</p>\r\n<p>If any of the other participants want to share any resources or techniques they have found, please feel free to contribute.</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "27078",
      "postDate": "07/12/2013 17:25:46",
      "content": "<p>I continue to explore the data....</p>\r\n<p>Here is a R code to extract an array corresponding to the first GEFS member and the first forecast timestep &nbsp;(I think)&nbsp;&nbsp;for the variable &quot;<span>Downward long-wave radiative flux average at the surface&quot;:</span></p>\r\n<p></p>\r\n<p>#mat is an array&nbsp;&nbsp;16 x 9 x 5113:</p>\r\n<p>mat=ncvar_get( dlwrf,dlwrf$var[[3]], start=c(1,1,1,1,1), count=c(16,9,1,1,5113) )</p>\r\n<p></p>\r\n<p>Now, I want to take a look at the grid of (lat lont). I was expecting to obtain the same grid (because the location doesn't change for a fixed timestep and GEFS member==&gt; I thougth??) using this command:</p>\r\n<p>unique(mat[,,i])</p>\r\n<p># i may any integer ranging from 1 to 5113</p>\r\n<p>#but when I checked with the following:&nbsp;</p>\r\n<p>unique(mat[,,1])==unique(mat[,,2])</p>\r\n<p>#I see I don't have the same grid:</p>\r\n<p>[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [1,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE [2,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE [3,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE [4,] FALSE FALSE FALSE FALSE FALSE\r\n FALSE FALSE FALSE FALSE [5,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE [6,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE [7,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE [8,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE\r\n [9,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE[10,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE[11,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE[12,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE[13,] FALSE FALSE FALSE\r\n FALSE FALSE FALSE FALSE FALSE FALSE[14,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE[15,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE[16,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE</p>\r\n<p>What am I missing again?</p>\r\n<p>Thanks,</p>\r\n<p>H</p>\r\n<p></p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "27150",
      "postDate": "07/13/2013 20:02:55",
      "content": "<p>A general question: Why aren't the sensors co-located with the mesonet points? Could help in general to reduce one source of error?</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "27152",
      "postDate": "07/13/2013 20:14:27",
      "content": "<p>By sensors, I'm assuming you mean the GEFS data (the blue dots on the map picture)? GEFS isn't a sensor network but a computer weather model's predictions. Since GEFS is a general model applying to all the US, it just predicts on latitude and longitude grids.\r\n The actual sensor data is the mesonet sites =)</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "27166",
      "postDate": "07/14/2013 01:17:34",
      "content": "<p>can the problem be stated as: &quot;Interpolate the GEFS variables &quot;apcp_sfc&quot; etc at the mesonet locations to predict the total daily solar inflow at those locations&quot;? Is that complete?If im paraphrasing earlier comments correctly, in the extreme case, the GEFS\r\n data need not be used at all, and the time series across the duration of the test data can be used in isolation for prediction?</p>\r\n<p></p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "27172",
      "postDate": "07/14/2013 05:24:24",
      "content": "<p>@Herimanitra The grids for the first and second days will likely be different which is probably why you are getting that result. I will have to try it myself to give any more insight than that.</p>\r\n<p>@tinypig Yes, you can make reasonable predictions of the maximum possible daily solar radiation or the multiyear average daily solar radiation without the GEFS data, but you will not beat the top two benchmarks. It is a useful starting point and a good way\r\n to get familiar with the data at the very least.</p>\r\n<p></p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "27181",
      "postDate": "07/14/2013 13:06:55",
      "content": "<p>Observations are missing from the last available date in the train file for &quot;RETR&quot; to &quot;WYNO&quot;</p>\r\n<p>It's probably an error, could you confirm?</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "27187",
      "postDate": "07/14/2013 16:50:03",
      "content": "<p>I just downloaded train.csv from Kaggle as well as checking the original data and found no missing observations. You may want to try downloading train.csv again and seeing if the same problem occurs.</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "27468",
      "postDate": "07/20/2013 09:54:51",
      "content": "<p>What are the differences between long and short wave radiation?</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "27494",
      "postDate": "07/21/2013 19:53:58",
      "content": "<p>Shortwave radiation generally covers visible and ultraviolet radiation while longwave is infrared. The vast majority of the incoming solar radiation is shortwave, which is then absorbed and re-emitted as longwave radiation. Downward longwave radiation generally comes from clouds. The pyranometer measures both longwave and shortwave radiation but only the downward direction.</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "29197",
      "postDate": "08/21/2013 22:24:48",
      "content": "<p>I am a bit confused with the GEFS data. From what I understand the GEFS data only presents the predictions for one variable, e.g. precipitation or temperature, by the 11 models on each day, at 5 different times (12 - 24), on latitudes and longitudes specified.</p>\n<p>The GEFS data does not give the true value of the variable at these times. For e.g. the GEFS data for precipitation at data point [1,2,3,x,y] gives the prediction by model 2 on the first day of recording at 1800hrs at lat. x and long. y. But does not give the true precipitation from 1500hrs to 1800hrs.</p>\n<p>So we need to make predictions based only on the model predictions and not on true values of these variables.</p>\n<p>Thanks.</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "29198",
      "postDate": "08/21/2013 22:38:17",
      "content": "<p>[quote=Shishir;29197]</p>\n<p>I am a bit confused with the GEFS data. From what I understand the GEFS data only presents the predictions for one variable, e.g. precipitation or temperature, by the 11 models on each day, at 5 different times (12 - 24), on latitudes and longitudes specified.</p>\n<p>The GEFS data does not give the true value of the variable at these times. For e.g. the GEFS data for precipitation at data point [1,2,3,x,y] gives the prediction by model 2 on the first day of recording at 1800hrs at lat. x and long. y. But does not give the true precipitation from 1500hrs to 1800hrs.</p>\n<p>So we need to make predictions based only on the model predictions and not on true values of these variables.</p>\n<p>Thanks.</p>\n<p>[/quote]</p>\n<p>You are correct. The different forecast variables are provided because there may be a correlation between their values and the actual total daily solar radiation. For instance, if most of the ensemble members were predicting rain during the middle of the day, it would have a larger impact on the daily solar radiation than if the rain occurred at the beginning or end of the day. There is uncertainty in the rain predictions, so the different ensemble members are provided to show a range of possible outcomes. You will not know the truth of any of the variables in advance, so it is up to you to maximize the usefulness of that information or alternatively to ignore the aspects of the dataset that are not important.</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "59293",
      "postDate": "11/30/2014 19:57:59",
      "content": "<p>&nbsp;What does each point in 5113x11x5x9x16 this array represent and what do you mean by one first dimension of this array?</p>",
      "rawMarkdown": "",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 26903,
      "author_name": "alecradford",
      "author_url": "",
      "post_date": "07/09/2013 21:41:30",
      "content": "<p>The data is a dictionary of all the helper/axis variables in it once you load the netcdf4 and the actual data. The actual data is a big array of shape (5113, 11, 5, 9, 16) with 5113 daily predictions from 1994 to 2007, 11 ensemble members of the GEFS (different submodel predictions I think), 5 actual predictions (it's released at midnight I think so it's forcast for&nbsp;12, 15, 18, 21, and 24 hours out), and 9 latitudes and 16 longitudes for where the predictions are spatially.<br> <br> The GEFS is a weather model that just predicts various things at various locations, and the data is those predictions.<br> <br> All the info about the specific files is on the data page and I figured out the stuff about the data by reading the main page.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 26905,
      "author_name": "abhishek",
      "author_url": "",
      "post_date": "07/09/2013 22:09:57",
      "content": "<p>Thanks Alec. Can you tell me how train.csv is related to this big array of shape (5113,11,5,9,16) ?</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 26907,
      "author_name": "djgagne",
      "author_url": "",
      "post_date": "07/09/2013 22:47:10",
      "content": "<p>Each row in train.csv corresponds with the first dimension in the GEFS data array. The 11 ensemble members make forecasts at 5 time steps over the 9x16 lat-lon grid surrounding Oklahoma. Each column in train.csv is the total daily solar energy for a particular\r\n Mesonet site on a particular day. The locations of the Mesonet sites are specified in station_info.csv. You will have to come up with a method to translate the gridded GEFS forecasts to the station locations. How much of the grid you incorporate into your\r\n model is up to you.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 26923,
      "author_name": "rudikruger",
      "author_url": "",
      "post_date": "07/10/2013 06:32:56",
      "content": "<p>How is the minimum\\maximum temperatures related to the forecast hours(12,15,18,21,24)? In other words, is the minimum\\maximum forecast for 12 hours ahead, the min\\max temperature over that 12 hours, the 15 hours ahead the min\\max over that 15 hours and the\r\n 24 hours forecast is the min\\max for that day?</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 26934,
      "author_name": "djgagne",
      "author_url": "",
      "post_date": "07/10/2013 13:26:32",
      "content": "<p>The maximum and minimum temperatures apply to the maximum or minimum within 3 hour period preceding each forecast hour, so the max temperature at forecast hour 12 is taken from between hours 9 and 12, the max temperature at forecast hour 15 is taken from\r\n between hours 12 and 15. The 2m temperature variable is the temperature directly recorded at each given forecast hour. I updated the data description to clarify that time range.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 26944,
      "author_name": "herimanitra",
      "author_url": "",
      "post_date": "07/10/2013 14:54:33",
      "content": "<p>Any hints to open this file with R. Here is my script according to the documentation package but it raises an error:</p>\r\n<p>#set up the WD:</p>\r\n<p>setwd(&quot;C:/Users/Herimanitra/Downloads/KAGGLE COMPETITION/AMS 2013 2014 Forecasting contest/train&quot;)</p>\r\n<p>#OPEN the file:<br>\r\ntrain &lt;- open.ncdf(&quot;apcp_sfc_latlon_subset_19940101_20071231.nc&quot;)</p>\r\n<p>#error :</p>\r\n<p>&nbsp;Error in open.ncdf trying to open file apcp_sfc_latlon_subset_19940101_20071231.nc</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 26956,
      "author_name": "djgagne",
      "author_url": "",
      "post_date": "07/10/2013 16:27:09",
      "content": "<p>The data are in netCDF4 format, so the regular ncdf library, which only supports netCDF3, will not be able to read the files. You should use the\r\n<a href=\"http://cran.r-project.org/web/packages/ncdf4/index.html\">ncdf4 library</a> instead. I was able to open the file with it without any issues.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 26963,
      "author_name": "herimanitra",
      "author_url": "",
      "post_date": "07/10/2013 16:59:35",
      "content": "<p>It seems the package is not available for windows</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 26970,
      "author_name": "herimanitra",
      "author_url": "",
      "post_date": "07/10/2013 18:07:36",
      "content": "<p>Finally, it works, I use the following linked:<a href=\"http://cirrus.ucsd.edu/~pierce/ncdf/\">http://cirrus.ucsd.edu/~pierce/ncdf/</a>&nbsp;as suggested here:<a href=\"http://lukemiller.org/index.php/2012/01/ncdf4-r-package-binaries/\">http://lukemiller.org/index.php/2012/01/ncdf4-r-package-binaries/</a></p>\r\n<p></p>\r\n<p>opening the file becomes:</p>\r\n<p><span>#OPEN the file:</span><br>\r\n<span>train &lt;- nc_open(&quot;apcp_sfc_latlon_subset_19940101_20071231.nc&quot;)</span></p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 26976,
      "author_name": "herimanitra",
      "author_url": "",
      "post_date": "07/10/2013 19:12:58",
      "content": "<p>running this code: train=ncvar_get(train)&nbsp;</p>\r\n<p>gives an array . Now, I'd like to convert the array into a suitable format==&gt;data.frame</p>\r\n<p>Any hints again?</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 26979,
      "author_name": "djgagne",
      "author_url": "",
      "post_date": "07/10/2013 20:02:12",
      "content": "<p>[quote=Herimanitra;26976]</p>\r\n<p>running this code: train=ncvar_get(train)&nbsp;</p>\r\n<p>gives an array . Now, I'd like to convert the array into a suitable format==&gt;data.frame</p>\r\n<p>Any hints again?</p>\r\n<p>[/quote]</p>\r\n<p>You are going to have to do some spatial and temporal pre-processing in order to translate the data into a form usable by a machine learning algorithm, such as a data frame.&nbsp; To begin with, you may want to implement an interpolation technique to translate\r\n the forecast values from the grid points to the stations. You should be able to find appropriate libraries with a quick Google search. The top two benchmarks just use interpolation with no additional machine learning models applied to them. You will also need\r\n to decide how you will incorporate the different ensemble members and forecast hours into your model. There are many ways to aggregate the data and derive other physical quantities from what is given. Part of the goal of this contest is to find the most effective\r\n ways to do that.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 26996,
      "author_name": "herimanitra",
      "author_url": "",
      "post_date": "07/11/2013 05:45:37",
      "content": "<p>Here is my understanding of the situation:</p>\r\n<p>For each 11 GEFS members, there are 5113 daily predictions recorded at 5 particular hours of the day and localized at different locations which are determined by the couple (lat, lont)</p>\r\n<p>A documentation may be helpful...</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 26999,
      "author_name": "rudikruger",
      "author_url": "",
      "post_date": "07/11/2013 06:53:22",
      "content": "<p>@StormMiner</p>\r\n<p>Am I correct in syaing we don't have any temperature data before 09:00?</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 27014,
      "author_name": "herimanitra",
      "author_url": "",
      "post_date": "07/11/2013 15:59:56",
      "content": "<p>[quote=StormMiner;26907]</p>\r\n<p>Each row in train.csv corresponds with the first dimension in the GEFS data array.&nbsp;</p>\r\n<p>[/quote]</p>\r\n<p>Sorry, but it's still unclear to me, how one can identify that a grid of the array corresponds to a given station.</p>\r\n<p>I was thinking of comparing values of lat and long from the grid with values given in the station info (csv file) but it's not obvious</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 27018,
      "author_name": "djgagne",
      "author_url": "",
      "post_date": "07/11/2013 16:36:30",
      "content": "<p>@Rudi</p>\r\n<p>Yes, there is no temperature data before 9:00, but that is 9 UTC, which will correspond to either 3 or 4 AM Central Time in Oklahoma depending on whether or not daylight savings time is in effect. The data provided covers the period from sunrise until 00\r\n UTC, which should be enough to make an accurate estimate of the total daily incoming solar radiation. The daily total starts at sunrise and ends at 23:55 UTC, so you should not have to worry about extra solar radiation not being included in the GEFS data in\r\n the summer months when the sunset is after 00 UTC.</p>\r\n<p>@Herimanitra</p>\r\n<p>I will add some more documentation to the data page describing how the GEFS data are organized, but @Alec Radford's post describes it fairly accurately. The GEFS data are on a uniform grid spaced by 1 degree latitude and longitude. The Mesonet sites are\r\n unevenly distributed. The latitudes and longitudes for the grid points and the stations are both provided with the idea that one would perform some kind of spatial interpolation to adjust the GEFS values to the station locations or choose 1 or more of the\r\n nearest GEFS gridpoints and train a model from them at each station. To get going, the simplest method would be to find the nearest GEFS grid point to each station by calculating the Euclidean distance between the station lat-lons and the grid point lat-lons.\r\n I would suggest researching other distance-weighted interpolation methods and implementing some of them to see which works best. There are a large number of methods and a wide body of literature on the subject. Since the choice and implementation of this process\r\n will have a big impact on the strength of your model, I will not recommend specific resources, but a search of some of the key words in this post should lead you to useful information fairly quickly.</p>\r\n<p>If any of the other participants want to share any resources or techniques they have found, please feel free to contribute.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 27078,
      "author_name": "herimanitra",
      "author_url": "",
      "post_date": "07/12/2013 17:25:46",
      "content": "<p>I continue to explore the data....</p>\r\n<p>Here is a R code to extract an array corresponding to the first GEFS member and the first forecast timestep &nbsp;(I think)&nbsp;&nbsp;for the variable &quot;<span>Downward long-wave radiative flux average at the surface&quot;:</span></p>\r\n<p></p>\r\n<p>#mat is an array&nbsp;&nbsp;16 x 9 x 5113:</p>\r\n<p>mat=ncvar_get( dlwrf,dlwrf$var[[3]], start=c(1,1,1,1,1), count=c(16,9,1,1,5113) )</p>\r\n<p></p>\r\n<p>Now, I want to take a look at the grid of (lat lont). I was expecting to obtain the same grid (because the location doesn't change for a fixed timestep and GEFS member==&gt; I thougth??) using this command:</p>\r\n<p>unique(mat[,,i])</p>\r\n<p># i may any integer ranging from 1 to 5113</p>\r\n<p>#but when I checked with the following:&nbsp;</p>\r\n<p>unique(mat[,,1])==unique(mat[,,2])</p>\r\n<p>#I see I don't have the same grid:</p>\r\n<p>[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [1,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE [2,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE [3,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE [4,] FALSE FALSE FALSE FALSE FALSE\r\n FALSE FALSE FALSE FALSE [5,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE [6,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE [7,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE [8,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE\r\n [9,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE[10,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE[11,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE[12,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE[13,] FALSE FALSE FALSE\r\n FALSE FALSE FALSE FALSE FALSE FALSE[14,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE[15,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE[16,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE</p>\r\n<p>What am I missing again?</p>\r\n<p>Thanks,</p>\r\n<p>H</p>\r\n<p></p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 27150,
      "author_name": "tinypig",
      "author_url": "",
      "post_date": "07/13/2013 20:02:55",
      "content": "<p>A general question: Why aren't the sensors co-located with the mesonet points? Could help in general to reduce one source of error?</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 27152,
      "author_name": "alecradford",
      "author_url": "",
      "post_date": "07/13/2013 20:14:27",
      "content": "<p>By sensors, I'm assuming you mean the GEFS data (the blue dots on the map picture)? GEFS isn't a sensor network but a computer weather model's predictions. Since GEFS is a general model applying to all the US, it just predicts on latitude and longitude grids.\r\n The actual sensor data is the mesonet sites =)</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 27166,
      "author_name": "tinypig",
      "author_url": "",
      "post_date": "07/14/2013 01:17:34",
      "content": "<p>can the problem be stated as: &quot;Interpolate the GEFS variables &quot;apcp_sfc&quot; etc at the mesonet locations to predict the total daily solar inflow at those locations&quot;? Is that complete?If im paraphrasing earlier comments correctly, in the extreme case, the GEFS\r\n data need not be used at all, and the time series across the duration of the test data can be used in isolation for prediction?</p>\r\n<p></p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 27172,
      "author_name": "djgagne",
      "author_url": "",
      "post_date": "07/14/2013 05:24:24",
      "content": "<p>@Herimanitra The grids for the first and second days will likely be different which is probably why you are getting that result. I will have to try it myself to give any more insight than that.</p>\r\n<p>@tinypig Yes, you can make reasonable predictions of the maximum possible daily solar radiation or the multiyear average daily solar radiation without the GEFS data, but you will not beat the top two benchmarks. It is a useful starting point and a good way\r\n to get familiar with the data at the very least.</p>\r\n<p></p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 27181,
      "author_name": "herimanitra",
      "author_url": "",
      "post_date": "07/14/2013 13:06:55",
      "content": "<p>Observations are missing from the last available date in the train file for &quot;RETR&quot; to &quot;WYNO&quot;</p>\r\n<p>It's probably an error, could you confirm?</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 27187,
      "author_name": "djgagne",
      "author_url": "",
      "post_date": "07/14/2013 16:50:03",
      "content": "<p>I just downloaded train.csv from Kaggle as well as checking the original data and found no missing observations. You may want to try downloading train.csv again and seeing if the same problem occurs.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 27468,
      "author_name": "herimanitra",
      "author_url": "",
      "post_date": "07/20/2013 09:54:51",
      "content": "<p>What are the differences between long and short wave radiation?</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 27494,
      "author_name": "djgagne",
      "author_url": "",
      "post_date": "07/21/2013 19:53:58",
      "content": "<p>Shortwave radiation generally covers visible and ultraviolet radiation while longwave is infrared. The vast majority of the incoming solar radiation is shortwave, which is then absorbed and re-emitted as longwave radiation. Downward longwave radiation generally comes from clouds. The pyranometer measures both longwave and shortwave radiation but only the downward direction.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 29197,
      "author_name": "shishirpy",
      "author_url": "",
      "post_date": "08/21/2013 22:24:48",
      "content": "<p>I am a bit confused with the GEFS data. From what I understand the GEFS data only presents the predictions for one variable, e.g. precipitation or temperature, by the 11 models on each day, at 5 different times (12 - 24), on latitudes and longitudes specified.</p>\n<p>The GEFS data does not give the true value of the variable at these times. For e.g. the GEFS data for precipitation at data point [1,2,3,x,y] gives the prediction by model 2 on the first day of recording at 1800hrs at lat. x and long. y. But does not give the true precipitation from 1500hrs to 1800hrs.</p>\n<p>So we need to make predictions based only on the model predictions and not on true values of these variables.</p>\n<p>Thanks.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 29198,
      "author_name": "djgagne",
      "author_url": "",
      "post_date": "08/21/2013 22:38:17",
      "content": "<p>[quote=Shishir;29197]</p>\n<p>I am a bit confused with the GEFS data. From what I understand the GEFS data only presents the predictions for one variable, e.g. precipitation or temperature, by the 11 models on each day, at 5 different times (12 - 24), on latitudes and longitudes specified.</p>\n<p>The GEFS data does not give the true value of the variable at these times. For e.g. the GEFS data for precipitation at data point [1,2,3,x,y] gives the prediction by model 2 on the first day of recording at 1800hrs at lat. x and long. y. But does not give the true precipitation from 1500hrs to 1800hrs.</p>\n<p>So we need to make predictions based only on the model predictions and not on true values of these variables.</p>\n<p>Thanks.</p>\n<p>[/quote]</p>\n<p>You are correct. The different forecast variables are provided because there may be a correlation between their values and the actual total daily solar radiation. For instance, if most of the ensemble members were predicting rain during the middle of the day, it would have a larger impact on the daily solar radiation than if the rain occurred at the beginning or end of the day. There is uncertainty in the rain predictions, so the different ensemble members are provided to show a range of possible outcomes. You will not know the truth of any of the variables in advance, so it is up to you to maximize the usefulness of that information or alternatively to ignore the aspects of the dataset that are not important.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 59293,
      "author_name": "sachiitp",
      "author_url": "",
      "post_date": "11/30/2014 19:57:59",
      "content": "<p>&nbsp;What does each point in 5113x11x5x9x16 this array represent and what do you mean by one first dimension of this array?</p>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "26901": "",
    "26903": "",
    "26905": "",
    "26907": "",
    "26923": "",
    "26934": "",
    "26944": "",
    "26956": "",
    "26963": "",
    "26970": "",
    "26976": "",
    "26979": "",
    "26996": "",
    "26999": "",
    "27014": "",
    "27018": "",
    "27078": "",
    "27150": "",
    "27152": "",
    "27166": "",
    "27172": "",
    "27181": "",
    "27187": "",
    "27468": "",
    "27494": "",
    "29197": "",
    "29198": "",
    "59293": ""
  },
  "source": "meta"
}