{"id":18043998,"url":"https://github.com/adrigrillo/trend-identification","last_synced_at":"2026-03-04T18:02:12.955Z","repository":{"id":37604231,"uuid":"180746307","full_name":"adrigrillo/trend-identification","owner":"adrigrillo","description":"Comparison of different trend detection and estimation methods in time series","archived":false,"fork":false,"pushed_at":"2023-07-06T21:35:11.000Z","size":3352,"stargazers_count":4,"open_issues_count":5,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-06-05T11:51:49.971Z","etag":null,"topics":["comparison","detection","estimation","time-series","trends"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/adrigrillo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-04-11T08:15:42.000Z","updated_at":"2024-05-16T09:02:39.000Z","dependencies_parsed_at":"2024-10-30T17:21:30.518Z","dependency_job_id":null,"html_url":"https://github.com/adrigrillo/trend-identification","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/adrigrillo/trend-identification","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adrigrillo%2Ftrend-identification","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adrigrillo%2Ftrend-identification/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adrigrillo%2Ftrend-identification/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adrigrillo%2Ftrend-identification/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adrigrillo","download_url":"https://codeload.github.com/adrigrillo/trend-identification/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adrigrillo%2Ftrend-identification/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30088336,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-04T15:40:14.053Z","status":"ssl_error","status_checked_at":"2026-03-04T15:40:13.655Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["comparison","detection","estimation","time-series","trends"],"created_at":"2024-10-30T17:10:55.507Z","updated_at":"2026-03-04T18:02:12.932Z","avatar_url":"https://github.com/adrigrillo.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Trend identification and estimation in time series\n\nStudent(s): Grillo, A., Hanrieder, M., Mauranen, H., Mikos, M., Wiezorek, J.  \nSupervisor(s): Bonizzi, P.  \nSemester: 2018-2019\n\n![Fig 1. - How a trend can affect the\ninterpretation](website/images/Components.png)\n\n#### Background\n\nThis project should help to analyse time series data, which is a special\ntype of data with a time-value, such as seconds or timestamp, as x-value\nand any observed value as y-value. The y-value can then be a measured\nvalue like temperature or stock exchange data. In a mathematical sense\nthis kind of data consists of several components. One component is the\nso-called noise which describes random events or measurement errors.\nAnother component is the season, such as time of year in weather data.\nIn general the season component describes repetitive behaviour during\nthe observation period. Furthermore, data can contain a trend, which\ndescribes how the data will develop beyond the measurement period. In\nFig. 1 a synthetic time series data was generated with these three\ndifferent components, a trend, random noise and seasonality.\n\nA main topic of this project is to find trends, which can be split in\ntwo parts. The first part is the identification, which means finding out\nif a trend exists, while the second part is to estimate this trend. An\nestimation of a trend can be an equation like *x+5* or just a list of\npoints. This depends on the method that is used. Trends can have\ndifferent shapes such as just a straight increasing or decreasing line\nor more complex curves like simple polynomials. An overview about the\nconsidered types of trend can be found in Fig 2. Different methods can\neither identify or estimate a trend, or do both.\n\n![Fig 2. - Performance analysis on monotonic trend](website/images/Rplot.png)\n\n#### Problem statement and motivation\n\nIt is very useful to separate the trend and season from the time series.\nFor instance, scientists investigating global warming are interested in\nthe overall changes, or trend, in temperature and not so much in the\nseasonal changes. Another example application is medicine, where\nelectrocardiograms suffer from patient's breathing and baseline wander,\nthat cause the heartbeats to be shifted away. There it is more useful to\nconsider the series without the long-term changes. The quality of the\nseparation for each component allows easier analysis on the time series.\n\nThere are multiple ways to take apart time series recordings. However,\nnone of them are considered the standard way and little research exists\nto compare the methods for different types of time series. Our goal is\nto systematically compare the different approaches to find the best one\nor to be able to give the best method for specific type of time series.\n\n#### Methods\n\nA lot of methods are able to detect or approximate a trend, but these\nmethods perform differently depending on the influences of the trend,\nthe seasonal component and the noise. Mostly common methods, such as\nregression, are covered with a couple more complex methods. An overview\nand a brief description of them can be found in the report. All of the\nmethods are applied to each trend individually. This allows determining\nthe best method for a trend type. These results are compared to find\neither the best overall method or a group of trends where specific\nmethods perform well.\n\nAn example analysis of the estimation methods on two different trends\ncan be found in Fig 3 and Fig 4, in the bar chart on the right the\ndistance to the original trend is measured, so the smaller the value,\nthe better the performance. On the mixed polynomial trend most methods\nperform very well, but the Theil-Sen estimator performs very bad. While\non the monotonic trend all methods performs comparable except for the\ndiscrete wavelet spectrum which performs worse.\n\n![Fig 3. - Performance analysis on mixed polynomial\ntrend](website/images/methods_1.png)\n\n![Fig 4. - Performance analysis on monotonic\ntrend](website/images/methods_2.png)\n\n#### Research questions\n\n  - What are the best and most versatile approaches for trend\n    identification and estimation in time series data?\n  - What are the strengths and weak points of the different methods\n    tested?\n  - Is it possible to automatically select the best approach(es) for\n    trend identification and estimation, based on the\n    (statistical/frequency/etc.) properties of a time series and the\n    specific problem domain and application?\n\n#### Main outcome\n\nThe research results in the comparison of strengths and weaknesses of\ndifferent methods for trend detection and estimation.\n\n#### Downloads:\n\n[Final report](”???”) [Final presentation](”???”)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadrigrillo%2Ftrend-identification","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadrigrillo%2Ftrend-identification","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadrigrillo%2Ftrend-identification/lists"}