{
  "id": 112856,
  "title": "Useful models/packages",
  "url": "/competitions/ashrae-energy-prediction/discussion/112856",
  "author_name": "ryches",
  "post_date": "2019-10-15T20:27:06.327000",
  "votes": 23,
  "comment_count": 11,
  "views": 0,
  "content": "<p>One of my favorite time-series packages is <a href=\"https://facebook.github.io/prophet/\">Prophet from Facebook</a>. It is good at extracting trends in seasonality, monthly, weekly,  daily, hourly patterns and it can also understand things about holidays, but it's major weakness is that it only really works with univariate autoregressive data so it wont be able to capture some of the non-time-series data we have here. </p>\n\n<p>Another powerful one that can handle multivariate data is <a href=\"https://github.com/TDAmeritrade/stumpy\">StumPy</a>. It is able to handle multivariate data but I have not used it with other auxiliary data like number of floors before. </p>\n\n<p>Both of these are probably worth exploring but it's very likely that the most successful approach will be like other time series competitions where people have had great success by featurizing the dataset and then utilizing their model of choice rather than using something time-series specific. They do this by flattening the dataset. Rather than looking at one row at a time while training they have done time lags and expanded the dataframe to include several of the timesteps before. So in a given row it might capture all of the information like site_id, current temperature, but also the temp an hour ago, and the temp 24 hours ago and so on. This might give a more detailed look at how the history of the conditions may effect the power consumption</p>",
  "messages": [
    {
      "id": 649848,
      "postDate": "2019-10-15T20:27:06.327Z",
      "content": "<p>One of my favorite time-series packages is <a href=\"https://facebook.github.io/prophet/\">Prophet from Facebook</a>. It is good at extracting trends in seasonality, monthly, weekly,  daily, hourly patterns and it can also understand things about holidays, but it's major weakness is that it only really works with univariate autoregressive data so it wont be able to capture some of the non-time-series data we have here. </p>\n\n<p>Another powerful one that can handle multivariate data is <a href=\"https://github.com/TDAmeritrade/stumpy\">StumPy</a>. It is able to handle multivariate data but I have not used it with other auxiliary data like number of floors before. </p>\n\n<p>Both of these are probably worth exploring but it's very likely that the most successful approach will be like other time series competitions where people have had great success by featurizing the dataset and then utilizing their model of choice rather than using something time-series specific. They do this by flattening the dataset. Rather than looking at one row at a time while training they have done time lags and expanded the dataframe to include several of the timesteps before. So in a given row it might capture all of the information like site_id, current temperature, but also the temp an hour ago, and the temp 24 hours ago and so on. This might give a more detailed look at how the history of the conditions may effect the power consumption</p>",
      "rawMarkdown": "One of my favorite time-series packages is [Prophet from Facebook](https://facebook.github.io/prophet/). It is good at extracting trends in seasonality, monthly, weekly,  daily, hourly patterns and it can also understand things about holidays, but it's major weakness is that it only really works with univariate autoregressive data so it wont be able to capture some of the non-time-series data we have here. \n\nAnother powerful one that can handle multivariate data is [StumPy](https://github.com/TDAmeritrade/stumpy). It is able to handle multivariate data but I have not used it with other auxiliary data like number of floors before. \n\nBoth of these are probably worth exploring but it's very likely that the most successful approach will be like other time series competitions where people have had great success by featurizing the dataset and then utilizing their model of choice rather than using something time-series specific. They do this by flattening the dataset. Rather than looking at one row at a time while training they have done time lags and expanded the dataframe to include several of the timesteps before. So in a given row it might capture all of the information like site_id, current temperature, but also the temp an hour ago, and the temp 24 hours ago and so on. This might give a more detailed look at how the history of the conditions may effect the power consumption",
      "votes": 23
    },
    {
      "id": 650198,
      "postDate": "2019-10-16T07:17:38.653Z",
      "content": "<p>Thanks for sharing <a href=\"/ryches\">@ryches</a> !\nWhat are your thoughts on using causal time series analysis python package like tigramite?</p>\n\n<p><a href=\"https://jakobrunge.github.io/tigramite/\">https://jakobrunge.github.io/tigramite/</a></p>",
      "rawMarkdown": "Thanks for sharing @ryches !\nWhat are your thoughts on using causal time series analysis python package like tigramite?\n\nhttps://jakobrunge.github.io/tigramite/",
      "votes": 1
    },
    {
      "id": 652833,
      "postDate": "2019-10-19T13:20:11.527Z",
      "content": "<p>Hi, this is Sean Law (creator of the STUMPY package)! Thanks for the shout out. I can also imagine using the matrix profile and the matrix profile indices (and left and right matrix profile indices for 1D time series) as input features to an ML regression model. Additionally, don’t forget to leverage the time series chains capability to explore forecasting with matrix profiles or consider using semantic segmentation (also included in STUMPY) to inform automatic change points and that can be used in Prophet. We are always interested in seeing new applications so feel free to post an issue on our Github page!</p>",
      "rawMarkdown": "Hi, this is Sean Law (creator of the STUMPY package)! Thanks for the shout out. I can also imagine using the matrix profile and the matrix profile indices (and left and right matrix profile indices for 1D time series) as input features to an ML regression model. Additionally, don’t forget to leverage the time series chains capability to explore forecasting with matrix profiles or consider using semantic segmentation (also included in STUMPY) to inform automatic change points and that can be used in Prophet. We are always interested in seeing new applications so feel free to post an issue on our Github page!",
      "votes": 2,
      "replies": [
        {
          "id": 662273,
          "postDate": "2019-10-31T11:07:33.133Z",
          "content": "<p>Hi Sean , I love you package and use it very frequently , i wanted to suggest a simple extension of your packages to support spark dataframes </p>",
          "rawMarkdown": "Hi Sean , I love you package and use it very frequently , i wanted to suggest a simple extension of your packages to support spark dataframes "
        },
        {
          "id": 680082,
          "postDate": "2019-11-24T01:10:29.417Z",
          "content": "<p>Hi, <a href=\"/avikrams\">@avikrams</a>! I am not a Spark user myself but feel free to request the feature by submitting an issue to our <a href=\"https://github.com/TDAmeritrade/stumpy/issues\">Github page</a> and provide any specifics that might help. Perhaps, you might consider submitting a PR?</p>",
          "rawMarkdown": "Hi, @avikrams! I am not a Spark user myself but feel free to request the feature by submitting an issue to our [Github page](https://github.com/TDAmeritrade/stumpy/issues) and provide any specifics that might help. Perhaps, you might consider submitting a PR?"
        }
      ]
    },
    {
      "id": 650709,
      "postDate": "2019-10-16T16:02:30.047Z",
      "content": "<p>I'm looking for a team. I'm EE and data scientist so I think I can have good input for this problem.</p>",
      "rawMarkdown": "I'm looking for a team. I'm EE and data scientist so I think I can have good input for this problem.",
      "votes": -3
    },
    {
      "id": 661148,
      "postDate": "2019-10-30T00:44:04.737Z",
      "content": "<p>Thanks ! \n<a href=\"/ryches\">@ryches</a>  have you  ever use the1owl ? \n!pip install the1owl</p>",
      "rawMarkdown": "Thanks ! \n@ryches  have you  ever use the1owl ? \n!pip install the1owl"
    },
    {
      "id": 652726,
      "postDate": "2019-10-19T10:17:23.053Z",
      "content": "<p>Yes, prophet is a nice time series package, but as I know,  it can not include other infos like count features or weather infos(unless you treat weather as holidays). </p>",
      "rawMarkdown": "Yes, prophet is a nice time series package, but as I know,  it can not include other infos like count features or weather infos(unless you treat weather as holidays). ",
      "replies": [
        {
          "id": 653189,
          "postDate": "2019-10-20T03:15:52.433Z",
          "content": "<p>With Prophet, weather can be included here because we know the values for both the training and the testing data. Weather can be considered as an additional regressor as described in the <a href=\"https://facebook.github.io/prophet/docs/seasonality,_holiday_effects,_and_regressors.html#additional-regressors\">Prophet documentation</a>. Also <a href=\"https://nbviewer.jupyter.org/github/nicolasfauchereau/Auckland_Cycling/blob/master/notebooks/Auckland_cycling_and_weather.ipynb\">here</a> is a notebook showing weather being used to assist forecasting bicycle usage in New Zealand.</p>",
          "rawMarkdown": "With Prophet, weather can be included here because we know the values for both the training and the testing data. Weather can be considered as an additional regressor as described in the [Prophet documentation](https://facebook.github.io/prophet/docs/seasonality,_holiday_effects,_and_regressors.html#additional-regressors). Also [here](https://nbviewer.jupyter.org/github/nicolasfauchereau/Auckland_Cycling/blob/master/notebooks/Auckland_cycling_and_weather.ipynb) is a notebook showing weather being used to assist forecasting bicycle usage in New Zealand.",
          "votes": 1
        }
      ]
    },
    {
      "id": 650373,
      "postDate": "2019-10-16T09:59:00.433Z",
      "rawMarkdown": "",
      "votes": -4,
      "isDeleted": true
    },
    {
      "id": 650109,
      "postDate": "2019-10-16T05:38:21.850Z",
      "rawMarkdown": "",
      "isDeleted": true
    },
    {
      "id": 650209,
      "postDate": "2019-10-16T07:28:16.727Z",
      "content": "<p>Thanks! :)</p>",
      "rawMarkdown": "Thanks! :)"
    }
  ],
  "comments": [
    {
      "id": 650198,
      "author_name": "Daniel",
      "author_url": "",
      "post_date": "2019-10-16T07:17:38.653000",
      "content": "<p>Thanks for sharing <a href=\"/ryches\">@ryches</a> !\nWhat are your thoughts on using causal time series analysis python package like tigramite?</p>\n\n<p><a href=\"https://jakobrunge.github.io/tigramite/\">https://jakobrunge.github.io/tigramite/</a></p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 652833,
      "author_name": "slaw",
      "author_url": "",
      "post_date": "2019-10-19T13:20:11.527000",
      "content": "<p>Hi, this is Sean Law (creator of the STUMPY package)! Thanks for the shout out. I can also imagine using the matrix profile and the matrix profile indices (and left and right matrix profile indices for 1D time series) as input features to an ML regression model. Additionally, don’t forget to leverage the time series chains capability to explore forecasting with matrix profiles or consider using semantic segmentation (also included in STUMPY) to inform automatic change points and that can be used in Prophet. We are always interested in seeing new applications so feel free to post an issue on our Github page!</p>",
      "votes": 2,
      "replies": [
        {
          "id": 662273,
          "author_name": "AdityaVikramSingh",
          "author_url": "",
          "post_date": "2019-10-31T11:07:33.133000",
          "content": "<p>Hi Sean , I love you package and use it very frequently , i wanted to suggest a simple extension of your packages to support spark dataframes </p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 680082,
          "author_name": "slaw",
          "author_url": "",
          "post_date": "2019-11-24T01:10:29.417000",
          "content": "<p>Hi, <a href=\"/avikrams\">@avikrams</a>! I am not a Spark user myself but feel free to request the feature by submitting an issue to our <a href=\"https://github.com/TDAmeritrade/stumpy/issues\">Github page</a> and provide any specifics that might help. Perhaps, you might consider submitting a PR?</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 650709,
      "author_name": "moisessalazar17",
      "author_url": "",
      "post_date": "2019-10-16T16:02:30.047000",
      "content": "<p>I'm looking for a team. I'm EE and data scientist so I think I can have good input for this problem.</p>",
      "votes": -3,
      "replies": []
    },
    {
      "id": 661148,
      "author_name": "Caesar Lupum",
      "author_url": "",
      "post_date": "2019-10-30T00:44:04.737000",
      "content": "<p>Thanks ! \n<a href=\"/ryches\">@ryches</a>  have you  ever use the1owl ? \n!pip install the1owl</p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 652726,
      "author_name": "LongYin/杰少",
      "author_url": "",
      "post_date": "2019-10-19T10:17:23.053000",
      "content": "<p>Yes, prophet is a nice time series package, but as I know,  it can not include other infos like count features or weather infos(unless you treat weather as holidays). </p>",
      "votes": 0,
      "replies": [
        {
          "id": 653189,
          "author_name": "ABE_",
          "author_url": "",
          "post_date": "2019-10-20T03:15:52.433000",
          "content": "<p>With Prophet, weather can be included here because we know the values for both the training and the testing data. Weather can be considered as an additional regressor as described in the <a href=\"https://facebook.github.io/prophet/docs/seasonality,_holiday_effects,_and_regressors.html#additional-regressors\">Prophet documentation</a>. Also <a href=\"https://nbviewer.jupyter.org/github/nicolasfauchereau/Auckland_Cycling/blob/master/notebooks/Auckland_cycling_and_weather.ipynb\">here</a> is a notebook showing weather being used to assist forecasting bicycle usage in New Zealand.</p>",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 650373,
      "author_name": "",
      "author_url": "",
      "post_date": "2019-10-16T09:59:00.433000",
      "content": "",
      "votes": -4,
      "replies": []
    },
    {
      "id": 650109,
      "author_name": "",
      "author_url": "",
      "post_date": "2019-10-16T05:38:21.850000",
      "content": "",
      "votes": 0,
      "replies": []
    },
    {
      "id": 650209,
      "author_name": "Carlos Sevilla",
      "author_url": "",
      "post_date": "2019-10-16T07:28:16.727000",
      "content": "<p>Thanks! :)</p>",
      "votes": 0,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "649848": "One of my favorite time-series packages is [Prophet from Facebook](https://facebook.github.io/prophet/). It is good at extracting trends in seasonality, monthly, weekly,  daily, hourly patterns and it can also understand things about holidays, but it's major weakness is that it only really works with univariate autoregressive data so it wont be able to capture some of the non-time-series data we have here. \n\nAnother powerful one that can handle multivariate data is [StumPy](https://github.com/TDAmeritrade/stumpy). It is able to handle multivariate data but I have not used it with other auxiliary data like number of floors before. \n\nBoth of these are probably worth exploring but it's very likely that the most successful approach will be like other time series competitions where people have had great success by featurizing the dataset and then utilizing their model of choice rather than using something time-series specific. They do this by flattening the dataset. Rather than looking at one row at a time while training they have done time lags and expanded the dataframe to include several of the timesteps before. So in a given row it might capture all of the information like site_id, current temperature, but also the temp an hour ago, and the temp 24 hours ago and so on. This might give a more detailed look at how the history of the conditions may effect the power consumption",
    "650198": "Thanks for sharing @ryches !\nWhat are your thoughts on using causal time series analysis python package like tigramite?\n\nhttps://jakobrunge.github.io/tigramite/",
    "652833": "Hi, this is Sean Law (creator of the STUMPY package)! Thanks for the shout out. I can also imagine using the matrix profile and the matrix profile indices (and left and right matrix profile indices for 1D time series) as input features to an ML regression model. Additionally, don’t forget to leverage the time series chains capability to explore forecasting with matrix profiles or consider using semantic segmentation (also included in STUMPY) to inform automatic change points and that can be used in Prophet. We are always interested in seeing new applications so feel free to post an issue on our Github page!",
    "650709": "I'm looking for a team. I'm EE and data scientist so I think I can have good input for this problem.",
    "661148": "Thanks ! \n@ryches  have you  ever use the1owl ? \n!pip install the1owl",
    "652726": "Yes, prophet is a nice time series package, but as I know,  it can not include other infos like count features or weather infos(unless you treat weather as holidays). ",
    "650373": "",
    "650109": "",
    "650209": "Thanks! :)"
  }
}