{
  "id": 115279,
  "title": "4 Model for different Meters or 15 Models for Different Sites ?",
  "url": "/competitions/ashrae-energy-prediction/discussion/115279",
  "author_name": "",
  "post_date": "2019-11-01T13:38:43.809238500Z",
  "votes": 4,
  "comment_count": 20,
  "views": 0,
  "content": "<p>Hi all , </p>\n\n<p>Has anyone given this a thought?</p>\n\n<p>Since all the meters types have a different trend over the time . It's logical that we create different model on the each model . Same goes for the sites</p>",
  "messages": [
    {
      "id": "663129",
      "postDate": "11/01/2019 13:38:43",
      "content": "<p>Hi all , </p>\n\n<p>Has anyone given this a thought?</p>\n\n<p>Since all the meters types have a different trend over the time . It's logical that we create different model on the each model . Same goes for the sites</p>",
      "rawMarkdown": "Hi all , \n\nHas anyone given this a thought?\n\nSince all the meters types have a different trend over the time . It's logical that we create different model on the each model . Same goes for the sites",
      "votes": null
    },
    {
      "id": "663241",
      "postDate": "11/01/2019 17:00:22",
      "content": "<p>How about 1449 models for each building :D</p>",
      "rawMarkdown": "How about 1449 models for each building :D",
      "votes": null
    },
    {
      "id": "663247",
      "postDate": "11/01/2019 17:09:09",
      "content": "<p>not a bad idea ;) whats next? 1449 x 4 per building meter? Btw, I actually have 1449 linear regression models... 1.42 LB last time I checked. prob lower by now.</p>",
      "rawMarkdown": "not a bad idea ;) whats next? 1449 x 4 per building meter? Btw, I actually have 1449 linear regression models... 1.42 LB last time I checked. prob lower by now.",
      "votes": null
    },
    {
      "id": "663253",
      "postDate": "11/01/2019 17:16:54",
      "content": "<p>But it won't be a viable solution , what if in future a new building is constructed ?  I understand what you can saying and probably is being tried by everyone </p>\n\n<p>Moreover i want to understand how can we can tune the hyperparameters for such large number of models?</p>",
      "rawMarkdown": "But it won't be a viable solution , what if in future a new building is constructed ?  I understand what you can saying and probably is being tried by everyone \n\nMoreover i want to understand how can we can tune the hyperparameters for such large number of models?",
      "votes": null
    },
    {
      "id": "663254",
      "postDate": "11/01/2019 17:22:19",
      "content": "<p>I tried lgb per site, 1.58 overall - so needless to say, some work will be necessary :-) </p>",
      "rawMarkdown": "I tried lgb per site, 1.58 overall - so needless to say, some work will be necessary :-)",
      "votes": null
    },
    {
      "id": "663259",
      "postDate": "11/01/2019 17:33:32",
      "content": "<p>There's no tuning for lin reg. Just to be clear, I've also tried 1449 x 4 lin reg models as well. But I think you should try and find what works and what doesn't instead of asking is ideas are good or not. The only way to know is to try it. </p>",
      "rawMarkdown": "There's no tuning for lin reg. Just to be clear, I've also tried 1449 x 4 lin reg models as well. But I think you should try and find what works and what doesn't instead of asking is ideas are good or not. The only way to know is to try it.",
      "votes": null
    },
    {
      "id": "663267",
      "postDate": "11/01/2019 18:05:08",
      "content": "<p>yeah , i tried that too with a bit of parameter tuning it resulted in 1.35 </p>",
      "rawMarkdown": "yeah , i tried that too with a bit of parameter tuning it resulted in 1.35",
      "votes": null
    },
    {
      "id": "663272",
      "postDate": "11/01/2019 18:08:43",
      "content": "<p>i am inclined towards using lgb or similar tree based model , is there any specific logic for using linear regression models? , while eda i didn't observed high correlation  , maybe i missed something.</p>",
      "rawMarkdown": "i am inclined towards using lgb or similar tree based model , is there any specific logic for using linear regression models? , while eda i didn't observed high correlation  , maybe i missed something.",
      "votes": null
    },
    {
      "id": "663457",
      "postDate": "11/02/2019 04:50:28",
      "content": "<p>I managed to get 1.11 with linear models. 1.14 without penalized regression. It only takes like 3 minutes too</p>",
      "rawMarkdown": "I managed to get 1.11 with linear models. 1.14 without penalized regression. It only takes like 3 minutes too",
      "votes": null
    },
    {
      "id": "663462",
      "postDate": "11/02/2019 04:53:15",
      "content": "<p>don't even ask how many I made</p>",
      "rawMarkdown": "don't even ask how many I made",
      "votes": null
    },
    {
      "id": "663468",
      "postDate": "11/02/2019 05:16:30",
      "content": "<p>I tried lgb with 4-fold per site_id , public lb -2.50 \nnotebook - <a href=\"https://www.kaggle.com/kimtaegwan/what-s-your-cv-method?scriptVersionId=22377656\">https://www.kaggle.com/kimtaegwan/what-s-your-cv-method?scriptVersionId=22377656</a>\nMaybe I didn't do it well.</p>",
      "rawMarkdown": "I tried lgb with 4-fold per site_id , public lb -2.50 \nnotebook - https://www.kaggle.com/kimtaegwan/what-s-your-cv-method?scriptVersionId=22377656\nMaybe I didn't do it well.",
      "votes": null
    },
    {
      "id": "663492",
      "postDate": "11/02/2019 07:07:56",
      "content": "<p>I was thinking about starting a discussion on how far people have gotten with lr models so I could compare mine. I guess I've got work cutout.</p>",
      "rawMarkdown": "I was thinking about starting a discussion on how far people have gotten with lr models so I could compare mine. I guess I've got work cutout.",
      "votes": null
    },
    {
      "id": "663917",
      "postDate": "11/02/2019 21:26:32",
      "content": "<p>Same with me, public lb -2.63.</p>",
      "rawMarkdown": "Same with me, public lb -2.63.",
      "votes": null
    },
    {
      "id": "664022",
      "postDate": "11/03/2019 03:49:24",
      "content": "<p>No all buildings have 4 meters. There are 2380 building-meter timeseries at all.</p>",
      "rawMarkdown": "No all buildings have 4 meters. There are 2380 building-meter timeseries at all.",
      "votes": null
    },
    {
      "id": "664023",
      "postDate": "11/03/2019 04:11:21",
      "content": "<p>Going to the root of the problem, you are trying to guess a meter time series.</p>\n\n<p>There are 2380 meters measuring energy. There are 1449 buildings, and 15 sites. And 16 types of buildings and 4 types of meters.</p>\n\n<p>You can consider the following options:</p>\n\n<ul>\n<li>only one model. The type of meter, the type of building, the building ID are features. A random forest, for example, will take them in consideration, and have mini-models in the branches of the trees.</li>\n<li>4 models. One for each meter type. The energy measured for each meter type has its own behaviour. Hot water, for example is very season dependent.</li>\n<li>15 models. One for each site. This doesn't have a lot of sense for me. Is the energy consumption different in US than Canada?</li>\n<li>16 models. One for each building type. Each building type has a characteristic energy consumption.</li>\n<li>1449 models. This doesn't have a lot of sense for me. The energy consumption between meters have nothing in common.</li>\n<li>2380 models. One for each meter. As you are guessing the consumption for the next two years of the very same buildings, it's like 2380 different datasets. Every building and every meter have its characteristic behaviour.</li>\n</ul>\n\n<p>People, which option is what you're doing? </p>",
      "rawMarkdown": "Going to the root of the problem, you are trying to guess a meter time series.\n\nThere are 2380 meters measuring energy. There are 1449 buildings, and 15 sites. And 16 types of buildings and 4 types of meters.\n\nYou can consider the following options:\n\n- only one model. The type of meter, the type of building, the building ID are features. A random forest, for example, will take them in consideration, and have mini-models in the branches of the trees.\n- 4 models. One for each meter type. The energy measured for each meter type has its own behaviour. Hot water, for example is very season dependent.\n- 15 models. One for each site. This doesn't have a lot of sense for me. Is the energy consumption different in US than Canada?\n- 16 models. One for each building type. Each building type has a characteristic energy consumption.\n- 1449 models. This doesn't have a lot of sense for me. The energy consumption between meters have nothing in common.\n- 2380 models. One for each meter. As you are guessing the consumption for the next two years of the very same buildings, it's like 2380 different datasets. Every building and every meter have its characteristic behaviour.\n\nPeople, which option is what you're doing?",
      "votes": null
    },
    {
      "id": "664405",
      "postDate": "11/03/2019 16:13:01",
      "content": "<p>I tried 4 * 16 models for meter and corresponding primary use. LB -2.09.\nI really thought that would work. </p>",
      "rawMarkdown": "I tried 4 * 16 models for meter and corresponding primary use. LB -2.09.\nI really thought that would work.",
      "votes": null
    },
    {
      "id": "667501",
      "postDate": "11/07/2019 10:00:49",
      "content": "<p>I am trying one model. I thinking about the last approach. However  building 2380 models looks like it will take astronomical time to train and predict. If anyone have tried this approach please feedback your execution time to take insights about this way.</p>",
      "rawMarkdown": "I am trying one model. I thinking about the last approach. However  building 2380 models looks like it will take astronomical time to train and predict. If anyone have tried this approach please feedback your execution time to take insights about this way.",
      "votes": null
    },
    {
      "id": "668055",
      "postDate": "11/07/2019 23:29:52",
      "content": "<p>Steve, dude, that's sick! what a cool idea.</p>",
      "rawMarkdown": "Steve, dude, that's sick! what a cool idea.",
      "votes": null
    },
    {
      "id": "668154",
      "postDate": "11/08/2019 03:43:39",
      "content": "<p>One model has all the data. 2380 models only have 1/2380 of the data each.</p>\n\n<p>Very likely, 2380 models with few data (8784 samples each) will take a bit more training and predicting time than a single model (20 million samples). But not 2380 times.</p>",
      "rawMarkdown": "One model has all the data. 2380 models only have 1/2380 of the data each.\n\nVery likely, 2380 models with few data (8784 samples each) will take a bit more training and predicting time than a single model (20 million samples). But not 2380 times.",
      "votes": null
    },
    {
      "id": "668966",
      "postDate": "11/09/2019 07:26:27",
      "content": "<p>LGBM per site scores very similar to LGBM on whole data (my best model scores 1.10 with both approaches). So it may not be particularly better but can add value to ensembles. I've shared a kernel that scores 1.15: <a href=\"https://www.kaggle.com/rohanrao/ashrae-divide-and-conquer\">https://www.kaggle.com/rohanrao/ashrae-divide-and-conquer</a></p>",
      "rawMarkdown": "LGBM per site scores very similar to LGBM on whole data (my best model scores 1.10 with both approaches). So it may not be particularly better but can add value to ensembles. I've shared a kernel that scores 1.15: https://www.kaggle.com/rohanrao/ashrae-divide-and-conquer",
      "votes": null
    },
    {
      "id": "668972",
      "postDate": "11/09/2019 07:40:05",
      "content": "<p>That's because <code>building_id</code> is the best feature in terms of both split and gain in both models. </p>",
      "rawMarkdown": "That's because `building_id` is the best feature in terms of both split and gain in both models.",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 663241,
      "author_name": "gunesevitan",
      "author_url": "",
      "post_date": "11/01/2019 17:00:22",
      "content": "<p>How about 1449 models for each building :D</p>",
      "votes": null,
      "replies": [
        {
          "id": 663247,
          "author_name": "teeyee314",
          "author_url": "",
          "post_date": "11/01/2019 17:09:09",
          "content": "<p>not a bad idea ;) whats next? 1449 x 4 per building meter? Btw, I actually have 1449 linear regression models... 1.42 LB last time I checked. prob lower by now.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 663253,
          "author_name": "avikrams",
          "author_url": "",
          "post_date": "11/01/2019 17:16:54",
          "content": "<p>But it won't be a viable solution , what if in future a new building is constructed ?  I understand what you can saying and probably is being tried by everyone </p>\n\n<p>Moreover i want to understand how can we can tune the hyperparameters for such large number of models?</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 663259,
          "author_name": "teeyee314",
          "author_url": "",
          "post_date": "11/01/2019 17:33:32",
          "content": "<p>There's no tuning for lin reg. Just to be clear, I've also tried 1449 x 4 lin reg models as well. But I think you should try and find what works and what doesn't instead of asking is ideas are good or not. The only way to know is to try it. </p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 663272,
          "author_name": "avikrams",
          "author_url": "",
          "post_date": "11/01/2019 18:08:43",
          "content": "<p>i am inclined towards using lgb or similar tree based model , is there any specific logic for using linear regression models? , while eda i didn't observed high correlation  , maybe i missed something.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 664022,
          "author_name": "juanmah",
          "author_url": "",
          "post_date": "11/03/2019 03:49:24",
          "content": "<p>No all buildings have 4 meters. There are 2380 building-meter timeseries at all.</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 663254,
      "author_name": "konradb",
      "author_url": "",
      "post_date": "11/01/2019 17:22:19",
      "content": "<p>I tried lgb per site, 1.58 overall - so needless to say, some work will be necessary :-) </p>",
      "votes": null,
      "replies": [
        {
          "id": 663267,
          "author_name": "avikrams",
          "author_url": "",
          "post_date": "11/01/2019 18:05:08",
          "content": "<p>yeah , i tried that too with a bit of parameter tuning it resulted in 1.35 </p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 663457,
      "author_name": "abednadir",
      "author_url": "",
      "post_date": "11/02/2019 04:50:28",
      "content": "<p>I managed to get 1.11 with linear models. 1.14 without penalized regression. It only takes like 3 minutes too</p>",
      "votes": null,
      "replies": [
        {
          "id": 663492,
          "author_name": "teeyee314",
          "author_url": "",
          "post_date": "11/02/2019 07:07:56",
          "content": "<p>I was thinking about starting a discussion on how far people have gotten with lr models so I could compare mine. I guess I've got work cutout.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 668055,
          "author_name": "lewington",
          "author_url": "",
          "post_date": "11/07/2019 23:29:52",
          "content": "<p>Steve, dude, that's sick! what a cool idea.</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 663462,
      "author_name": "abednadir",
      "author_url": "",
      "post_date": "11/02/2019 04:53:15",
      "content": "<p>don't even ask how many I made</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 663468,
      "author_name": "kimtaegwan",
      "author_url": "",
      "post_date": "11/02/2019 05:16:30",
      "content": "<p>I tried lgb with 4-fold per site_id , public lb -2.50 \nnotebook - <a href=\"https://www.kaggle.com/kimtaegwan/what-s-your-cv-method?scriptVersionId=22377656\">https://www.kaggle.com/kimtaegwan/what-s-your-cv-method?scriptVersionId=22377656</a>\nMaybe I didn't do it well.</p>",
      "votes": null,
      "replies": [
        {
          "id": 663917,
          "author_name": "grebublin",
          "author_url": "",
          "post_date": "11/02/2019 21:26:32",
          "content": "<p>Same with me, public lb -2.63.</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 664023,
      "author_name": "juanmah",
      "author_url": "",
      "post_date": "11/03/2019 04:11:21",
      "content": "<p>Going to the root of the problem, you are trying to guess a meter time series.</p>\n\n<p>There are 2380 meters measuring energy. There are 1449 buildings, and 15 sites. And 16 types of buildings and 4 types of meters.</p>\n\n<p>You can consider the following options:</p>\n\n<ul>\n<li>only one model. The type of meter, the type of building, the building ID are features. A random forest, for example, will take them in consideration, and have mini-models in the branches of the trees.</li>\n<li>4 models. One for each meter type. The energy measured for each meter type has its own behaviour. Hot water, for example is very season dependent.</li>\n<li>15 models. One for each site. This doesn't have a lot of sense for me. Is the energy consumption different in US than Canada?</li>\n<li>16 models. One for each building type. Each building type has a characteristic energy consumption.</li>\n<li>1449 models. This doesn't have a lot of sense for me. The energy consumption between meters have nothing in common.</li>\n<li>2380 models. One for each meter. As you are guessing the consumption for the next two years of the very same buildings, it's like 2380 different datasets. Every building and every meter have its characteristic behaviour.</li>\n</ul>\n\n<p>People, which option is what you're doing? </p>",
      "votes": null,
      "replies": [
        {
          "id": 667501,
          "author_name": "khelifiaymen",
          "author_url": "",
          "post_date": "11/07/2019 10:00:49",
          "content": "<p>I am trying one model. I thinking about the last approach. However  building 2380 models looks like it will take astronomical time to train and predict. If anyone have tried this approach please feedback your execution time to take insights about this way.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 668154,
          "author_name": "juanmah",
          "author_url": "",
          "post_date": "11/08/2019 03:43:39",
          "content": "<p>One model has all the data. 2380 models only have 1/2380 of the data each.</p>\n\n<p>Very likely, 2380 models with few data (8784 samples each) will take a bit more training and predicting time than a single model (20 million samples). But not 2380 times.</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 664405,
      "author_name": "themonologue",
      "author_url": "",
      "post_date": "11/03/2019 16:13:01",
      "content": "<p>I tried 4 * 16 models for meter and corresponding primary use. LB -2.09.\nI really thought that would work. </p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 668966,
      "author_name": "rohanrao",
      "author_url": "",
      "post_date": "11/09/2019 07:26:27",
      "content": "<p>LGBM per site scores very similar to LGBM on whole data (my best model scores 1.10 with both approaches). So it may not be particularly better but can add value to ensembles. I've shared a kernel that scores 1.15: <a href=\"https://www.kaggle.com/rohanrao/ashrae-divide-and-conquer\">https://www.kaggle.com/rohanrao/ashrae-divide-and-conquer</a></p>",
      "votes": null,
      "replies": [
        {
          "id": 668972,
          "author_name": "gunesevitan",
          "author_url": "",
          "post_date": "11/09/2019 07:40:05",
          "content": "<p>That's because <code>building_id</code> is the best feature in terms of both split and gain in both models. </p>",
          "votes": null,
          "replies": []
        }
      ]
    }
  ],
  "raw_markdown_by_id": {
    "663129": "Hi all , \n\nHas anyone given this a thought?\n\nSince all the meters types have a different trend over the time . It's logical that we create different model on the each model . Same goes for the sites",
    "663241": "How about 1449 models for each building :D",
    "663247": "not a bad idea ;) whats next? 1449 x 4 per building meter? Btw, I actually have 1449 linear regression models... 1.42 LB last time I checked. prob lower by now.",
    "663253": "But it won't be a viable solution , what if in future a new building is constructed ?  I understand what you can saying and probably is being tried by everyone \n\nMoreover i want to understand how can we can tune the hyperparameters for such large number of models?",
    "663254": "I tried lgb per site, 1.58 overall - so needless to say, some work will be necessary :-)",
    "663259": "There's no tuning for lin reg. Just to be clear, I've also tried 1449 x 4 lin reg models as well. But I think you should try and find what works and what doesn't instead of asking is ideas are good or not. The only way to know is to try it.",
    "663267": "yeah , i tried that too with a bit of parameter tuning it resulted in 1.35",
    "663272": "i am inclined towards using lgb or similar tree based model , is there any specific logic for using linear regression models? , while eda i didn't observed high correlation  , maybe i missed something.",
    "663457": "I managed to get 1.11 with linear models. 1.14 without penalized regression. It only takes like 3 minutes too",
    "663462": "don't even ask how many I made",
    "663468": "I tried lgb with 4-fold per site_id , public lb -2.50 \nnotebook - https://www.kaggle.com/kimtaegwan/what-s-your-cv-method?scriptVersionId=22377656\nMaybe I didn't do it well.",
    "663492": "I was thinking about starting a discussion on how far people have gotten with lr models so I could compare mine. I guess I've got work cutout.",
    "663917": "Same with me, public lb -2.63.",
    "664022": "No all buildings have 4 meters. There are 2380 building-meter timeseries at all.",
    "664023": "Going to the root of the problem, you are trying to guess a meter time series.\n\nThere are 2380 meters measuring energy. There are 1449 buildings, and 15 sites. And 16 types of buildings and 4 types of meters.\n\nYou can consider the following options:\n\n- only one model. The type of meter, the type of building, the building ID are features. A random forest, for example, will take them in consideration, and have mini-models in the branches of the trees.\n- 4 models. One for each meter type. The energy measured for each meter type has its own behaviour. Hot water, for example is very season dependent.\n- 15 models. One for each site. This doesn't have a lot of sense for me. Is the energy consumption different in US than Canada?\n- 16 models. One for each building type. Each building type has a characteristic energy consumption.\n- 1449 models. This doesn't have a lot of sense for me. The energy consumption between meters have nothing in common.\n- 2380 models. One for each meter. As you are guessing the consumption for the next two years of the very same buildings, it's like 2380 different datasets. Every building and every meter have its characteristic behaviour.\n\nPeople, which option is what you're doing?",
    "664405": "I tried 4 * 16 models for meter and corresponding primary use. LB -2.09.\nI really thought that would work.",
    "667501": "I am trying one model. I thinking about the last approach. However  building 2380 models looks like it will take astronomical time to train and predict. If anyone have tried this approach please feedback your execution time to take insights about this way.",
    "668055": "Steve, dude, that's sick! what a cool idea.",
    "668154": "One model has all the data. 2380 models only have 1/2380 of the data each.\n\nVery likely, 2380 models with few data (8784 samples each) will take a bit more training and predicting time than a single model (20 million samples). But not 2380 times.",
    "668966": "LGBM per site scores very similar to LGBM on whole data (my best model scores 1.10 with both approaches). So it may not be particularly better but can add value to ensembles. I've shared a kernel that scores 1.15: https://www.kaggle.com/rohanrao/ashrae-divide-and-conquer",
    "668972": "That's because `building_id` is the best feature in terms of both split and gain in both models."
  },
  "source": "meta"
}