├── show.pptx ├── question.docx ├── LICENSE ├── README.md └── data ├── Total Population (Number).csv └── age.csv /show.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/W-Java/Population-Prediction/HEAD/show.pptx -------------------------------------------------------------------------------- /question.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/W-Java/Population-Prediction/HEAD/question.docx -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 JavaW 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 机器学习实现各国人口预测 2 | 3 | 实验结果,实验数据,实验图解详见:[项目源码](https://github.com/W-Java/Population-Prediction/blob/main/main.ipynb) 4 | 5 | ## 项目背景 6 | 7 | 人口增长可以描述人口规模是如何随时间变化的。有几个原因值得研究。这项研究可以帮助科学家更好地预测未来人口规模和增长率的变化。因此,政府可以制定相应的政策,将未来人口控制在合理的范围内范围。例如,中国的计划生育政策是基于对未来人口增长和中国土地资源的预测,而土地资源很好地控制了人口增长。此外,研究人口增长可以让科学家洞察人与环境之间的关系。科学家还可以利用这些结果进一步解释影响人口增长的因素 8 | 9 | ## 项目描述 10 | 11 | 本项目的目的是建立一个机器学习模型,根据各国政府收集的人口统计数据对新加坡和中国的人口进行预测。我们将主要使用线性回归建立未来总人口的估计器,并通过几个性能指标对模型进行评估并对我们的预测做一些分析 12 | 13 | ## 项目进行 14 | 15 | * ### 初始数据的获取 16 | 17 | 在网络上下载中国和新加坡人口的数据,并保存在本地data目录下存储为csv文件 18 | 19 | 选择2013年之前的数据作为培训数据 20 | 21 | * ### 使用线性回归进行预测 22 | 23 | 使用线性回归建立了新加坡未来总人口的估计值 24 | 25 | 计算R2系数,发现非常接近1,可以证明我们的拟合效果很好 26 | 27 | 再次计算均方误差,也可以证明我们的拟合效果非常好 28 | 29 | * ### 预测2013年之后的数据 30 | 31 | 我们通过这种方式预测了2013年之后的人口,并与真实数据进行对比 32 | 33 | 我们可以看到两组数据之间存在一些细微差异。为了减少差异,我们使用SVM模型重试 34 | 35 | * ### 使用SVM重新进行预测 36 | 37 | 得到结果和真实数据相差明显减小 38 | 39 | 因此我们可以使用这种方法 40 | 41 | * ### 预测2030和2050年的人口 42 | 43 | 将两个年份分别带入即可得到预测结果 44 | 45 | * ### 绘制增长率分布图 46 | 47 | 最后,我们绘制了新加坡2020年人口增长率与年数的关系图和人口年龄分布图。 48 | 49 | ## 实验结论 50 | 51 | 我认为人口预测是合理的,新加坡未来的人口增长模式将以移民为主,自然增长为辅。根据《2020年新加坡人口白皮书》,新加坡政府宣布仍有100万人口的差距,这表明大量移民将面临失业此外,由于新冠病毒19型的逐步控制,新加坡的人口将在未来30年内稳步增长 52 | 53 | ## 实验改进方案 54 | 55 | 我发现移民和人口老龄化都是影响新加坡总人口的因素。但是,我们不能将它们分开处理。这两个因素可以相互影响。 56 | 57 | 因此,我们可以减少人口老龄化不利因素的权重,以便更好地预测未来人口。 -------------------------------------------------------------------------------- /data/Total Population (Number).csv: -------------------------------------------------------------------------------- 1 | Data Series,Total Population (Number) 2 | 2020 , 5685807 3 | 2019 , 5703569 4 | 2018 , 5638676 5 | 2017 , 5612253 6 | 2016 , 5607283 7 | 2015 , 5535002 8 | 2014 , 5469724 9 | 2013 , 5399162 10 | 2012 , 5312437 11 | 2011 , 5183688 12 | 2010 , 5076732 13 | 2009 , 4987573 14 | 2008 , 4839396 15 | 2007 , 4588599 16 | 2006 , 4401365 17 | 2005 , 4265762 18 | 2004 , 4166664 19 | 2003 , 4114826 20 | 2002 , 4175950 21 | 2001 , 4138012 22 | 2000 , 4027887 23 | 1999 , 3958723 24 | 1998 , 3927213 25 | 1997 , 3796038 26 | 1996 , 3670704 27 | 1995 , 3524506 28 | 1994 , 3419048 29 | 1993 , 3313471 30 | 1992 , 3230698 31 | 1991 , 3135083 32 | 1990 , 3047132 33 | 1989 , 2930901 34 | 1988 , 2846108 35 | 1987 , 2774789 36 | 1986 , 2733373 37 | 1985 , 2735957 38 | 1984 , 2732221 39 | 1983 , 2681061 40 | 1982 , 2646466 41 | 1981 , 2532835 42 | 1980 , 2413945 43 | 1979 , 2383500 44 | 1978 , 2353600 45 | 1977 , 2325300 46 | 1976 , 2293300 47 | 1975 , 2262600 48 | 1974 , 2229800 49 | 1973 , 2193000 50 | 1972 , 2152400 51 | 1971 , 2112900 52 | 1970 , 2074507 53 | 1969 , 2042500 54 | 1968 , 2012000 55 | 1967 , 1977600 56 | 1966 , 1934400 57 | 1965 , 1886900 58 | 1964 , 1841600 59 | 1963 , 1795000 60 | 1962 , 1750200 61 | 1961 , 1702400 62 | 1960 , 1646400 63 | 1959 , 1587200 64 | 1958 , 1518800 65 | 1957 , 1445929 66 | 1956 , 1371600 67 | 1955 , 1305500 68 | 1954 , 1248200 69 | 1953 , 1191800 70 | 1952 , 1127000 71 | 1951 , 1068100 72 | 1950 , 1022100 73 | -------------------------------------------------------------------------------- /data/age.csv: -------------------------------------------------------------------------------- 1 | 0-4 Years,5-9 Years,10-14 Years,15-19 Years,20-24 Years,25-29 Years,30-34 Years,35-39 Years,40-44 Years,45-49 Years,50-54 Years,55-59 Years,60-64 Years,65-69 Years,70-74 Years,75-79 Years,80-84 Years,85-89 Years,90 Years & Over 2 | 183076 , 198737 , 206393 , 215234 , 244537 , 286997 , 297798 , 299515 , 299291 , 311740 , 296068 , 305830 , 284626 , 229396 , 170008 , 90990 , 66513 , 36586 , 20875 3 | 185355 , 197775 , 207926 , 222222 , 249079 , 288194 , 293446 , 300818 , 300763 , 311682 , 301682 , 306759 , 278828 , 221296 , 150127 , 94600 , 62293 , 33935 , 19429 4 | 185528 , 199066 , 206530 , 226520 , 255516 , 291631 , 281397 , 303720 , 303640 , 307838 , 308965 , 304390 , 271688 , 212101 , 135546 , 93327 , 57103 , 31991 , 17786 5 | 187653 , 200575 , 206253 , 232973 , 259072 , 290198 , 279340 , 300956 , 311484 , 303457 , 312814 , 301678 , 262651 , 203969 , 119494 , 91953 , 54341 , 30481 , 16454 6 | 187160 , 201509 , 207495 , 239771 , 260854 , 279988 , 285544 , 301998 , 313445 , 301183 , 315598 , 299591 , 251853 , 198020 , 103796 , 87955 , 53556 , 29086 , 15157 7 | 183575 , 204452 , 214388 , 242902 , 264127 , 271030 , 290619 , 301067 , 316755 , 303413 , 315091 , 295063 , 240493 , 182425 , 102631 , 81211 , 51785 , 27494 , 14169 8 | 181369 , 205790 , 220796 , 247337 , 263918 , 265659 , 292287 , 302029 , 316023 , 308533 , 315503 , 288392 , 231502 , 161198 , 106815 , 76294 , 48418 , 25486 , 13390 9 | 183295 , 205704 , 226244 , 255066 , 266889 , 255615 , 296870 , 305503 , 312581 , 316336 , 312988 , 281069 , 222154 , 145817 , 105746 , 70619 , 46199 , 23235 , 12821 10 | 186673 , 206324 , 233320 , 258861 , 264506 , 254582 , 295396 , 313970 , 308823 , 320925 , 310376 , 271817 , 213996 , 128879 , 104414 , 67675 , 44115 , 21503 , 12050 11 | 188249 , 208119 , 240536 , 260738 , 255069 , 262606 , 297555 , 316161 , 306614 , 323991 , 308130 , 260678 , 208160 , 112396 , 100073 , 66909 , 42145 , 19756 , 11366 12 | 194432 , 215675 , 244302 , 263750 , 247190 , 272639 , 298687 , 320024 , 309441 , 323459 , 303044 , 248696 , 191995 , 111511 , 92618 , 65178 , 39839 , 18481 , 10760 13 | 197788 , 221435 , 248628 , 262775 , 241753 , 274308 , 297240 , 317311 , 312983 , 322497 , 297383 , 239947 , 169696 , 116258 , 87428 , 61490 , 37143 , 17569 , 10244 14 | 193889 , 223622 , 253796 , 262856 , 225385 , 263114 , 289817 , 307243 , 317363 , 318078 , 289189 , 229356 , 153161 , 115185 , 81307 , 59001 , 33882 , 16734 , 9681 15 | 193626 , 229541 , 255292 , 257298 , 218485 , 254523 , 294453 , 301973 , 321049 , 315552 , 279220 , 220983 , 135501 , 113757 , 78631 , 56732 , 31519 , 15923 , 9024 16 | 194479 , 235204 , 256482 , 246547 , 219631 , 251659 , 293251 , 298203 , 323017 , 312858 , 266994 , 214601 , 118242 , 108837 , 78317 , 54413 , 29443 , 15206 , 8510 17 | 199529 , 237237 , 258553 , 234921 , 218951 , 247799 , 293414 , 299153 , 321472 , 307546 , 254168 , 197803 , 117575 , 101088 , 76545 , 51601 , 27879 , 14514 , 8066 18 | 204819 , 240517 , 257283 , 227417 , 215217 , 246713 , 290489 , 302908 , 321057 , 300671 , 244110 , 174788 , 122736 , 96007 , 72485 , 47875 , 26864 , 13778 , 7532 19 | 209903 , 247044 , 259124 , 214074 , 215412 , 250878 , 287304 , 310643 , 318282 , 292791 , 233180 , 157894 , 121724 , 89883 , 70002 , 42863 , 25783 , 13217 , 6890 20 | 217798 , 253192 , 257692 , 209687 , 216313 , 262720 , 289184 , 320753 , 320863 , 286738 , 230367 , 143175 , 123438 , 89587 , 70642 , 45830 , 25213 , 13047 , 6705 21 | 222991 , 254077 , 246972 , 210903 , 214636 , 262754 , 286690 , 322878 , 317996 , 274569 , 223842 , 125449 , 118506 , 89676 , 69048 , 42501 , 23897 , 12500 , 6017 22 | 225705 , 256574 , 235352 , 211286 , 212236 , 267161 , 290290 , 322621 , 312420 , 262201 , 206657 , 125061 , 110503 , 88305 , 66948 , 39644 , 22876 , 12092 , 5431 23 | --------------------------------------------------------------------------------