From c4e9444f13888e14a2274fe1768df9f2442cfba2 Mon Sep 17 00:00:00 2001 From: huangfu <3045324663@qq.com> Date: Sun, 23 Nov 2025 15:45:08 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AC=AC=E4=B8=80=E6=AC=A1=E4=BD=9C=E4=B8=9A?= =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 52 +++ hw1/data/AQIDataset.csv | 324 ++++++++++++++++++ report/images/feature_coefficients.png | Bin 0 -> 36795 bytes report/images/feature_correlation.png | Bin 0 -> 162532 bytes report/images/gd_initialization.png | Bin 0 -> 40861 bytes report/images/gd_learning_rates.png | Bin 0 -> 56589 bytes report/images/gd_scaling_comparison.png | Bin 0 -> 20960 bytes report/images/lwlr_k_analysis.png | Bin 0 -> 27317 bytes report/images/model_comparison.png | Bin 0 -> 22483 bytes report/机器学习.md | 200 +++++++++++ .../data_processing.cpython-313.pyc | Bin 0 -> 2363 bytes src/__pycache__/models.cpython-313.pyc | Bin 0 -> 6033 bytes src/data_processing.py | 67 ++++ src/experiments.py | 293 ++++++++++++++++ src/models.py | 107 ++++++ 15 files changed, 1043 insertions(+) create mode 100644 hw1/data/AQIDataset.csv create mode 100644 report/images/feature_coefficients.png create mode 100644 report/images/feature_correlation.png create mode 100644 report/images/gd_initialization.png create mode 100644 report/images/gd_learning_rates.png create mode 100644 report/images/gd_scaling_comparison.png create mode 100644 report/images/lwlr_k_analysis.png create mode 100644 report/images/model_comparison.png create mode 100644 report/机器学习.md create mode 100644 src/__pycache__/data_processing.cpython-313.pyc create mode 100644 src/__pycache__/models.cpython-313.pyc create mode 100644 src/data_processing.py create mode 100644 src/experiments.py create mode 100644 src/models.py diff --git a/README.md b/README.md index e69de29..1a0e11e 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,52 @@ +# AQI Prediction and Analysis Project + + +## 📋 目录结构 + +``` +. +├── hw1/ +│ └── data/ +│ └── AQIDataset.csv # 原始数据集 +├── src/ +│ ├── data_processing.py # 数据加载、预处理与交叉验证划分 +│ ├── models.py # 模型实现 (GD, LWLR, Lasso, Ridge) +│ └── experiments.py # 实验主程序 (训练、评估、绘图) +├── report/ +│ ├── images/ # 实验生成的图表 +│ └── 机器学习.md # 详细实验报告 +├── README.md # 项目说明文档 +└── requirements.txt # 依赖列表 +``` + +## 🛠️ 环境要求 + +安装命令: +```bash +pip install pandas numpy matplotlib seaborn scikit-learn +``` + +## 🚀 如何运行 + +在项目根目录下,运行以下命令即可执行所有实验并生成图表: + +```bash +python src/experiments.py +``` + +1. 控制台会输出各步骤的运行日志及最终的模型评估结果。 +2. 生成的分析图表将保存在 `report/images/` 目录下。 +3. 查阅 `report/机器学习.md` 获取详细的分析报告。 + +## 📊 主要结果 + +| 模型 | RMSE | MAE | +| :--- | :--- | :--- | +| Gradient Descent | ~32.84 | ~24.69 | +| Lasso | ~33.16 | ~24.95 | +| Ridge | ~33.11 | ~24.89 | +| **LWLR (k=2.0)** | **~30.36** | **~22.68** | + +* **最佳模型**: 局部加权线性回归 (LWLR) 在 $k=2.0$ 时表现最佳。 +* **主要影响因素**: 纬度、温度和海拔。 + diff --git a/hw1/data/AQIDataset.csv b/hw1/data/AQIDataset.csv new file mode 100644 index 0000000..dc6cf72 --- /dev/null +++ b/hw1/data/AQIDataset.csv @@ -0,0 +1,324 @@ +City,AQI,Precipitation,GDP,Temperature,Longitude,Latitude,Altitude,PopulationDensity,Coastal,GreenCoverageRate,"Incineration(10,000ton)" +Ngawa Prefecture,23,665.1,271.13,8.2,102.22465,31.89941,2617,11,0,36,23 +Aksu City,137,80.4,610,12.27671233,80.26338,41.16754,1108,6547,0,33.94,23 +Alxa League,85,150,322.58,24.2,105.72895,38.85192,1673,1,0,36,23 +Ngari,28,74.2,37.4,1,80.1058,32.50111,4280,1,0,36,23 +Anqin City,79,2127.8,1613.2,17.29178082,117.0344315,30.51264572,13,2271,0,45.8,27.48 +Anyang City,110,672.1,1884.48,15.35068493,114.3500519,36.09685135,71,4735,0,36.28,54.51 +Anshan City,111,708,2326,11.41232877,122.9843826,41.11525726,49,2534,0,38.25,58.13 +Macao SAR,44,2000,3358,22,113.54387,22.19874,40,20547,1,41,22 +Bayannur City,53,188,887.43,3.7,107.38765,40.74321,1042,5093,0,35.12,15.98 +Bazhong City,58,1198.9,501.34,16.9,106.75476,31.849014,443,2653,0,39.11,15.09 +Bengbu City,96,910,1253.1,16.01369863,117.3613815,32.93924332,25,2599,0,38.48,29.61 +Baotou City,45,262.9,3781.93,8.91369863,109.8517075,40.6664238,1065,2130,0,37,52.29 +Baoji City,111,695,1788.59,14.83424658,107.1383591,34.38228607,567,5352,0,40.61,36.54 +Baoding City,220,566.9,2757.8,13.25890411,115.5001831,38.85707092,17.2,4565,0,30.96,49.27 +Baoshan City,56,1000,552,17.39178082,99.16872406,25.11680222,1673,4529,0,31,10.95 +Beihai City,23,1670,892.1,24.61643836,109.1191711,21.47979736,21,458,1,27.45,24.74 +Beijing City,296,458.9,22968.6,13.77260274,116.3809433,39.9236145,31.2,1292,0,34,686.67 +Benxi City,63,900,1160,9.271232877,123.7645035,41.28758621,100,602,0,44.88,31.76 +Binzhou City,142,564.8,2355.33,14.11643836,118.0217667,37.36781311,9,1110,0,42.92,27.99 +Haozhou City,59,831,942.6,10.58695652,115.7709,33.879292,39,3693,0,41.32,17.66 +Cangzhiu City,105,581,3133.38,14.30273973,116.8607712,38.30884171,12,3169,1,42.9,24 +Qamdo City,31,477.7,136,7.6,97.18152,31.13818,3230,5714,0,7.6,3.5 +Changde City,69,1550,2709.02,17.93287671,111.6876297,29.03820992,38,2366,0,36.26,26.81 +Changshu City,51,1615.3,2100,17.27534247,120.75248,31.65437,7,1200,0,42.37,28.61 +Changzhou City,116,1450.9,5273.15,16.9739726,119.9502869,31.78393364,3,2399,0,42.47,76.48 +Chaohu City,22,1215,273.1,16.82876712,117.89035,31.62452,13,7708,0,42.93,13.5 +Chaoyang City,224,450,780,13.72739726,120.4514694,41.57785797,168,1022,0,40.57,33 +Chaozhou City,106,1685.8,910.1,23.19589041,116.63666,23.667706,18,3503,0,32.16,51.94 +Chenzhou City,49,1452.1,2012.07,19.67808219,113.0286484,25.80229187,189,1081,0,39.56,21.78 +Chengdu City,118,873.3,10912.17,18.22191781,104.0817566,30.66105652,485,6116,0,39.84,273.55 +Chengde City,195,440.5,1342.55,10.08219178,117.9223404,40.96760178,325,89,0,33,30 +Chizhou City,40,1959.4,530.6,17.30547945,117.48,30.67,18,1199,0,36.51,14.06 +Chifeng City,91,374,1861.27,8.434246575,118.9498215,42.26798248,587,1754,0,42.2,42.03 +Chuzhou City,63,1035,1305.7,15.50273973,118.3011627,32.31653214,31,1456,0,47.17,12.57 +Chuxiong Prefecture,44,900,762.97,14.8,101.52806,25.04553,1777,5574,0,36.15,10.95 +Dazhou City,86,1086.1,1353.67,18.75205479,107.5003433,31.22469711,306,974,0,29.57,23.12 +Dali City,39,1768.9,901.07,16.4,100.26763,25.60648,2007,3515,0,37.11,21.5 +Dalian City,132,601.9,7700,12.40273973,121.6008377,38.91780472,29,2820,1,19.38,122.81 +Daqing City,61,427.5,2983.5,6.167123288,125.0248566,46.59545136,149,4667,0,43.7,43.64 +Datong City,82,56.1,1060,7.468493151,113.2963333,40.0971489,1044,9492,0,36,23 +Dandong City,86,878.5,990.5,10.24520548,124.3814621,40.13518143,5,3237,1,48.39,21.37 +Dehong Prefecture,49,1766.9,292.3,18.4,98.58489,24.43335,927,110,0,36,10 +Deyang City,89,711,1605.1,18.13561644,104.3915482,31.13044548,491,2950,0,40.12,18.25 +Dezhou City,116,547.5,2750,15.0109589,116.2878723,37.45369339,23,1448,0,41.3,30.29 +Diqing Prefecture,23,824,161.1,13,99.70225,27.81875,3294,17,0,36,23 +Dongguan City,26,2137.9,6275.06,23.84931507,113.7487717,23.0485363,6,2417,0,36.98,390.43 +Dongying City,199,684.7,3450,14.82876712,118.4959564,37.46191406,2,617,1,34.61,22.32 +Erdos City,61,348.3,4226.13,6.2,109.8,39.62,1311,2624,0,36.04,22.4 +Ezhou City,113,1364.1,730,18.29863014,114.8811874,30.40276718,17,1740,0,36.18,17.85 +Enshi Prefecture,75,1535,670,16,109.48817,30.2721,490,4942,0,17.12,11.96 +Erenhot City,57,136.6,100.73,3.4,111.977942,43.65316,963,1471,0,35.53,7.2 +Foshan City,23,2055.2,8003.92,23.77260274,113.1145172,23.03487778,5,2469,0,43.73,93.84 +Fuzhou City,37,1775.2,5618.1,21.41232877,119.2978134,26.07859039,10,2322,1,41.09,105.9 +Fushun City,67,760,1236,7.48630137,123.9295578,41.84786606,83,2069,0,33.96,38.22 +Fuzhou City(Jiangxi),42,1700,1105.14,19.54931507,116.35,28,45,6648,0,39.78,22.34 +Fuxin city,141,480,530,9.308219178,121.6488037,42.00795364,146,1741,0,34.24,29.2 +Fuyang City(Anhui),44,910,1267.4,17.80958904,115.8097305,32.90220642,33,2290,0,29.26,25.23 +Fuyang City(Zhejiang),80,2137.7,643.6,16.0890411,119.96007,30.04869,21,360,0,36,29 +Garze Prefecture,17,920,217.57,13.5,101.96231,30.04952,2552,8,0,36,23 +Ganzhou City,32,1469,1973.87,20.96712329,114.9336777,25.85288239,109,8047,0,37.14,37.63 +Kaohsiung City,68,1738,4095.28,24.2,120.301435,22.62727,9,941,1,44,136.24 +Guang'an City,64,1071.2,1005.6,18.29589041,106.63175,30.474428,302,2106,0,39.49,14.34 +Guangyuan City,46,892.8,605.43,17.27671233,105.8317032,32.44396973,488,2064,0,37.15,18.66 +Guangzhou City,20,2478.1,18100.41,23.60547945,113.2614288,23.11891174,18,5940,1,18.78,455.84 +Guiyang City,36,1433.2,2891.16,19.07945205,106.7113724,26.57687378,1277,2163,0,38.57,111.88 +Guilin City,61,1901,1942.97,20.24520548,110.2866821,25.28188324,154,1535,0,43.63,38.42 +Harbin City,102,423.1,5751.2,5.836986301,126.6433411,45.74149323,118,11366,0,43.7,143.26 +Haikou City,22,1674.3,1161.28,26.09041096,110.3465118,20.03179359,15,2916,1,43.36,78.19 +Haimen City,45,581,915.2,16.53972603,121.18161,31.87117,5,4900,1,41.23,9.06 +Handan City,113,458,3080,15.28356164,114.4729538,36.60151672,55,780,0,32,49 +Hangzhou City,103,2137.7,10053.58,17.90547945,120.1592484,30.26599503,19,3527,0,42.62,351.98 +Hefei City,99,1224.9,5660.3,17.125,117.2757034,31.86325455,38,3357,0,36.66,122.05 +Heyuan City,16,1700,810.08,22.77260274,114.6938171,23.73484039,34,8950,0,30.7,21.34 +Heze City,88,831,2400.96,15.62054795,115.4457626,35.24853897,54,1762,0,44.68,40.15 +Hebi City,85,534,713.23,14.30684932,114.1546707,35.94008255,89,3602,0,38.69,15.96 +Hengshui City,142,547,1139,14.65479452,115.7081909,37.72782135,24,503,0,30,27 +Hengyang City,66,142,2601.57,19.37945205,112.5993576,26.90055466,82,8360,0,45.11,43.82 +Honghe Prefecture,75,1893,1222,18.1,103.374575,23.36225,1304,137,0,36,23 +Hohhot City,49,361.2,3090.52,6,111.6632996,40.82094193,1072,177,0,36,23 +Hulunbeier City,42,250,1595.96,0,119.77,49.22,612,10,0,33,22 +Huludao City,181,878,720,10.55342466,120.83,40.72,17,883,1,29.84,25.25 +Huzhou City,74,1450,2084.3,17.14520548,120.0971298,30.86603928,3,1408,0,42.5,45.77 +Hualien County,24,1268,417,23,121.6015714,23.9871589,16,72,1,46,24 +Huai'an City,101,878,2745.09,13.6,119.14111,33.502789,13,6461,0,40.14,43.26 +Huaibei City,97,910,760.4,16.19726027,116.7874985,33.9704895,32,3883,0,43.94,21.75 +Huainan City,73,910,770.6,17.13150685,117.0207291,32.6166954,52,2213,0,38.88,32.1 +Huanggang City,106,1550,1589.24,17.80273973,114.87,30.45,49,5996,0,40.16,18.76 +Huangshan mountain Scenic Spot,88,440,544.7,8.3,118.1299,30.13242,710,90,0,33,23 +Huangshan City,29,1469,544.7,17.73150685,118.3090668,29.72084427,122,833,0,33.91,12.61 +Huangshi City,105,2137,1235,18.05616438,115.0749893,30.21379852,21,3698,0,39.65,29.2 +Huizhou City,18,1670,3140.03,23.98219178,114.3924026,23.08795738,21,1372,1,40.03,95.29 +Keelung City,13,1775,514,21,121.7391833,25.1276033,10,2802,1,41,24 +Ji'an City,40,1035,1328.52,18.32191781,114.9704285,27.1062088,53,1898,0,31.9,16.65 +Jilin City,71,308,2455.2,7.176712329,126.5668182,43.88667679,202,2559,0,19.45,33.83 +Jimo City,61,1670,1110,14.21506849,120.44716,36.389401,22,913,1,44.57,25.02 +Jinan City,107,713.7,6130.68,15.58356164,117.0056,36.6670723,148,2504,0,50.82,137.28 +Jining City,83,831,4013.12,13.85616438,116.576561,35.40924072,39,1583,0,44.92,49.05 +Jiyuan City,140,480,494.41,14.6,112.601918,35.067243,146,6108,0,40.4,18.96 +Jiaxing City,97,574,3517.06,17.26986301,120.7536316,30.77111435,4,3742,1,37.83,33.39 +Chiayi County,51,1775,578,22.6,120.2554615,23.4518428,2,273,1,46,24 +Jiayuguan City,75,267,195,7.2,98.27471161,39.80265427,1656,1826,0,39.5,7.3 +Jiangmen City,46,1966,2240.02,23.90136986,113.0847473,22.59119034,6,2032,0,40.42,45.67 +Jiangyin City,82,581,2880.86,17.05890411,120.284938,31.920658,9,1865,1,42.98,18.15 +Jiaonan City,85,878,981.15,10.94246575,120.18,35.97,6,90,1,44,24 +Jiaozhou City,54,1742,981.2,14.39315068,120.006202,36.285877,10,832,1,39.44,18.94 +Jiaozuo City,199,689,1943.37,16.51506849,113.2217865,35.24735641,100,5564,0,35.39,27.88 +Jieyang city,62,1775,1890.01,21.4,116.34977,23.542976,4,2095,0,40.11,33.49 +Jinchang City,108,480,224.5,10.7,102.1657486,38.49519348,1526,3702,0,36.29,9.2 +Jinhua City,59,1638,3406.5,18.80410959,119.6522064,29.11081696,43,1720,0,36.06,45.72 +Kinmen County,35,1775,152.91,21,118.3285644,24.3487792,-12,914,1,46,22 +Jintan City,106,1742,471.48,16.86986301,119.597896,31.723247,7,567,0,32,14 +Jinzhou City,202,547,1357.5,12.18630137,121.1333694,41.11112595,23,309,1,44,25 +Jincheng City,102,592,1040.2,13.04383562,112.84272,35.50651169,703,244,0,33,17 +Jinzhong City,110,440,1046.12,11.93424658,112.75,37.68,811,203,0,33,23 +Jingmen City,110,534,1388.46,16.70273973,112.2002106,31.03021622,87,1995,0,32.37,14.86 +Jingzhou City,100,1550,1590.5,17.50547945,112.23,30.33,34,9389,0,37.3,23.51 +Jingdezhen City,48,1700,772.06,19.07123288,117.1179428,29.19516754,35,2522,0,41.11,14.78 +Jiujiang City,47,1550,1902.68,17.92191781,115.984581,29.72321129,41,6055,0,41.22,21.57 +Jurong City,65,1200,468.5,16.54109589,119.168695,31.944998,24,1804,0,40.38,7.37 +Kaifeng City,65,1450,1604.84,15.99863014,114.3461685,34.7851944,76,5601,0,38.69,31.62 +Karamay City,74,267,670.1,8.6,84.86360931,45.59651184,354,5185,0,43.05,16.57 +Kunming City,62,1189.5,3970,16.72054795,102.704567,25.04384422,1930,2170,0,40.64,158.76 +Kunshan City,55,1615,3080,17.51369863,120.980736,31.385597,7,2893,0,43.75,69.25 +Lhasa City,33,377.4,389.46,10.06027397,91.17211,29.652491,3660,1422,0,36.14,23.76 +Laiwu City,138,450,755,14.53013699,117.66173,36.205116,197,1003,0,44.94,22.12 +Laixi City,118,672,526.02,13.60136986,120.51769,36.889084,70,729,0,41.98,15.51 +Laizhou City,106,708,717,14.73150685,119.942275,37.177129,48,1018,1,42.76,22.84 +Lanzhou City,75,267,2095.99,12.33972603,103.7500534,36.06803894,1525,7540,0,25.8,98.36 +Langfang City,181,1742,2056,13.83287671,116.6898575,39.51511002,18,721,0,36,27 +Leshan City,87,1066.8,1301.2,19.2890411,103.7514038,29.56822395,355,1981,0,33.12,18.99 +Lijiang City,26,665,290,14.42739726,100.2342529,26.87666512,2384,6538,0,40.63,13.79 +Lishui City,32,1229,1102.34,19.87260274,119.9165573,28.44883728,74,1296,0,40.97,16.1 +Liyang City,99,1615,738.15,16.99178082,119.48421,31.416911,7,1896,0,43.08,7.18 +Lianyungang City,65,878,2160.64,14.17671233,119.1668015,34.60517883,4,1463,1,40.92,36.25 +Liangshan Prefecture,31,1433,1314.72,15.3,102.267712,27.88157,1523,75,0,36,23 +Liaoyang City,62,601,1025,10.46164384,123.1617432,41.26513672,27,391,0,33,31 +Liaocheng City,120,458,2663.62,14.74931507,115.9884262,36.44943237,37,2088,0,38.81,40.74 +Nyingchi City,35,617,105,3,94.36149,29.649128,2994,1905,0,36.07,1.53 +Lin'an City,86,1224,466.28,17.04520548,119.724733,30.233873,39,1114,0,36.79,12.77 +Lincang City,48,1000,502.1,19.20410959,100.0878067,23.8799305,1493,5543,0,39,6.36 +Linfen City,76,1535,1161.1,15.19589041,111.5141678,36.08282471,450,215,0,33,14 +Linyi City,157,672,3763.2,15.19452055,118.3379593,35.06945038,68,1633,1,44.93,86.2 +Liuzhou City,41,1229,2298.62,21.88493151,109.4028091,24.31040573,91,3517,0,42.95,49.83 +Lu'an City,70,308,1143.4,13.77260274,116.4927902,31.75352287,75,3600,0,44.5,19.28 +Longyan City,19,1469,1738.45,21.83013699,117.0303879,25.10970306,329,2089,0,43.21,23.84 +Loudi City,76,142,1291.38,18.14931507,111.9938965,27.74133492,120,7814,0,37.51,14.5 +Luzhou City,106,1290.6,1353.4,19.07123288,105.4378433,28.88199425,262,2926,0,39.89,28.64 +Luoyang City,110,602.3,3508.75,15.5109589,112.4247971,34.66804123,147,7278,0,32.41,71.39 +Luohe City,85,831,992.85,15.70410959,114.0410919,33.57250977,62,5283,0,34.39,22 +Lvliang City,64,1071,955.8,11.66575342,111.13,37.52,951,181,0,33,23 +Ma’anshan City,89,2137,1365.3,17.05068493,118.4807129,31.72492409,19,4105,0,40.05,22.91 +Maoming City,26,1638,2445.6,24.59726027,110.8888474,21.67071724,30,4263,1,24.75,22.12 +Meishan City,110,990.2,1029.86,18.92191781,103.83146,30.050497,415,1711,0,35.09,26.17 +Meizhou City,12,1229,955.09,22.7739726,116.1079407,24.31450081,87,1191,0,38.93,21.57 +Mianyang City,88,717.6,1700.33,18.31232877,104.7485504,31.45634842,473,2673,0,38.7,34.24 +Miaoli County,25,1700,623,22,120.8214265,24.560159,60,310,1,46,22 +Mudanjiang City,48,361,1186.3,5.952054795,129.5984955,44.58392334,234,68,0,33,29 +Nagqu Prefecture,47,262,95.9,-2.5,92.051239,31.476202,4505,1,0,36,23 +Nanchang City,61,2207.3,4000.01,19.2109589,115.8999176,28.67599106,16,7536,0,44.09,63.69 +Nanchong City,91,1093.8,1516.2,19.20410959,106.0816269,30.79582214,338,2619,0,43.1,36.95 +Nanjing City,97,1768.9,9720.77,16.77260274,118.7727814,32.04761505,13,1462,0,38.5,238.68 +Nanning City,28,1229.4,3410.09,23.14109589,108.3117676,22.80654335,79,3411,0,36.76,107.44 +Nanping City,12,1229,1339.51,21.07671233,118.1691208,26.64484215,87,1769,0,42.73,12.37 +Nantong City,55,684,6148.4,16.48767123,120.8555679,32.01506805,2,4082,1,42.97,59.88 +Nantou Ccounty,64,1893,590,19,120.9718638,23.9609981,446,124,1,44,22 +Nanyang City,111,602,2875.02,16.27671233,112.5375137,32.99901962,130,2506,0,36.08,49.25 +Neijiang City,89,1128,1198.58,18.93561644,105.0534363,29.57756805,335,2307,0,35.43,16.43 +Ningbo City,51,1651,8011.5,18.1630137,121.5412827,29.87066841,10,2444,1,39.16,111 +Nujiang Prefecture,19,617,113.45,11,98.865859,25.777128,791,36,0,36,23 +Panzhihua City,41,1053.4,925.18,21.85068493,101.6984177,26.55479813,1156,2102,0,39.8,17.91 +Panjin City,119,878,1267.9,10.42465753,122.0476303,41.18847656,5,352,1,29,24 +Penglai City,78,581,471.3,13.72191781,120.758848,37.810661,18,1115,1,42.08,7.3 +Penghu County,24,1670,136,23.4,119.5793157,23.5711899,21,807,1,41,24 +Pingdingshan City,103,689,1705.78,16.09589041,113.3001938,33.74362946,124,3620,0,36.68,30.3 +Pingdu City,69,708,779.3,13.92054795,119.98842,36.776357,52,660,1,44.05,36.67 +Pingtung County,51,1966,946,25,120.5487597,22.5519759,17,302,1,46,24 +Pingxiang city,55,900,912.39,14.45068493,113.841423,27.63298988,96,5258,0,40.04,15.84 +Putian City,31,1775,1655.16,21.90273973,119.0103226,25.43813705,15,2570,1,41.87,42.57 +Puyang City,77,458,1333.64,14.71643836,115.0149536,35.70189667,55,3384,0,38.4,21.9 +Pu'er City,32,477,120.03,20.63561644,100.9752121,22.79548073,1330,58,0,36,7.95 +Qiqihar City,52,136,1270,3.2,123.9592667,47.34136963,149,125,0,33,31 +Qianjiang Country,90,1200,557,16.1,112.899762,30.402167,32,1333,0,36.61,12.78 +Qinhuangdao City,163,878,1250.44,11.19041096,119.5982971,39.92430878,4,412,1,29,25 +Qingdao City,65,720,9300.07,14.21369863,120.3581696,36.13386154,6,1723,1,42.9,184.97 +Qingyang County,23,617,79.95,16.1,117.80361,30.47926,772,225,0,36,14 +Qingyuan City,22,878,1285,20.7,113.0212631,23.71959686,14,1940,0,35,30.65 +Quzhou City,45,1035,1146.2,17.3,118.8691788,28.9584446,61,1790,0,41.11,27.23 +Qujing City,41,1768,1630.3,16.22876712,103.7947006,25.49616623,1847,8719,0,36.18,19.05 +Quanzhou City,18,1775,6137.74,22.26438356,118.5896378,24.91591835,3,2410,1,44.42,51.4 +Shigatse City,25,377,168,6.3,88.880583,29.266869,3844,2700,0,76.49,4.13 +Rizhao City,129,831,1670.8,14.45205479,119.4515533,35.42756271,37,1674,1,45.74,25.54 +Rongcheng City,35,1742,1022.3,13.30684932,122.486657,37.16516,17,771,1,46,15.24 +Rushan City,47,601,477.18,13.16986301,121.539764,36.919816,27,1345,1,46.49,6.43 +Sanmenxia City,180,1093,1260.55,15.29178082,111.1952591,34.78076935,377,7134,0,36.3,15.86 +Sanming City,13,1469,1713.05,21.2260274,117.6012268,26.22301292,204,1011,0,43.13,11.45 +Sanya City,21,1268,435.02,27.44794521,109.5078201,18.23404312,7,1946,1,42.9,45.77 +Xiamen City,54,1775.2,3466.01,22.39315068,118.0875168,24.45743561,2,9685,1,41.36,161.56 +Lhoka Prefecture,35,617,115,7.4,91.773134,29.237137,3572,4,0,36,23 +Shantou City,50,1738,1850.01,23.70547945,116.6837997,23.36269188,8,4168,1,58.11,78.76 +Shanwei City,59,1775,780,22,115.3640137,22.77868652,8,825,1,35.42,9.13 +Shangqiu City,65,831,1803.93,15.05479452,115.6471863,34.44358444,50,9364,0,36.06,28.17 +Shanghai Municipality,46,1651.5,24964.99,17.91643836,121.4692688,31.23817635,16,3804,1,34,613.85 +Shangrao City,30,1229,1650.81,18.99726027,117.9634018,28.45326614,79,7649,0,46.46,27.76 +Shaoguan City,12,1700,1149.98,21.3109589,113.6053925,24.80877686,57,454,0,41.6,21.76 +Shaoyang city,77,142,1387,17.90410959,111.4773788,27.25023651,222,9112,0,35.1,17.42 +Shaoxing City,104,2127,3366.7,18.11506849,120.5739288,30.01093102,12,2935,0,48.33,82.02 +Shenzhen City,37,1966,17502.99,24.4109589,114.110672,22.55639648,1,5697,1,34.56,574.83 +Shennongjia Forestry District,50,900,22.5,12,110.680447,31.743483,887,24,0,36,23 +Shenyang City,90,573.6,7280,9.183561644,123.4116821,41.7966156,51,640,0,36,31 +Shiyan City,69,760,1300,16.49452055,110.7827988,32.65213013,290,1376,0,29.72,38.7 +Shijiazhuang City,182,534.5,5440.6,14.8739726,114.4897766,38.04512787,80.5,681,0,36,31 +Shizuishan City,85,480,482.4,8.4,106.3820572,39.02428055,1102,4096,0,40.64,21.77 +Shouguang City,127,547,806.9,14.84657534,118.790739,36.85576,23,1043,1,44,12.6 +Shuozhou City,96,440,910,8.663013699,112.4232712,39.31313324,1087,165,0,33,23 +Suzhou City(Jiangsu),73,2055,14504.07,17.46986301,120.6187286,31.31645203,6,1251,0,34,214.33 +Suizhou City,106,672,785,16.28356164,113.36982,31.715105,71,1843,0,38.44,21.29 +Suining City,95,1127.1,915.81,18.46849315,105.5697098,30.50339317,280,2256,0,33.64,60.91 +Taipei City,63,1775,5412.65,22.4,121.5654177,25.0329694,11,9952,1,41,351.93 +Taitung County,15,2383,254,22,121.0713702,22.7972447,143,63,1,44,22 +Tainan City,55,1638,2378.27,23.8,120.2270277,22.9997281,28,860,1,45,127.33 +Taichung City,30,2383,3774.95,22.5,120.6736482,24.1477358,90,1240,1,44,106 +Taizhou City,55,581,3558.13,16.8,121.43,28.68,14,1378,1,38.55,77.81 +Taicang City,47,1742,625.64,17,121.13055,31.457735,4,581,0,33,14 +Taiyuan City,138,401.5,2735.34,11.8890411,112.5693512,37.87111282,788,618,0,36,23 +Tai'an City,151,537,3240,9.952054795,117.1241074,36.1871109,167,1658,0,36.64,31.71 +Taizhou City,70,1742,3655.53,18.89863014,119.91124,32.495872,8,801,0,36,29 +Tangshan City,166,547,6225.3,12.55890411,118.2017288,39.62533951,25.9,591,1,34,24 +Taoyuan City,21,2383,2990.09,22.6,121.3009798,24.9936281,111,1727,1,44,93.75 +Tianjin Municipality,121,574.4,16538.19,14.89863014,117.2034988,39.13111877,3.3,1298,1,34,421.66 +Tianmen City,62,1200,440,16.1,113.165862,30.653061,27,928,0,37.87,16.43 +Tieling City,79,708,745,9.460273973,123.844429,42.29558182,57,205,0,33,31 +Tongliao City,82,440,1877.27,8.561643836,122.2603302,43.61156082,177,52,0,36,31 +Tongchuan city,98,480,324.54,12.88082192,109.0572815,35.07545853,717,7336,0,43.49,13.63 +Tongling City,58,1584,721.3,17.45616438,117.813179,30.92524719,26,2632,0,44.86,10.74 +Wafangdian City,122,592,935.9,11.26438356,121.979603,39.627114,120,270,1,44,33 +Weihai City,49,1670,3001.57,13.90821918,122.1116867,37.50076294,22,1473,1,41.1,41.35 +Weifang City,146,288.3,5100,14.74931507,119.1068497,36.7040863,31,1082,0,42.04,47.43 +Weinan City,117,537,1469.08,15.60410959,109.5008392,34.50152588,355,2022,0,38.69,20.39 +Wenzhou City,50,1742,4619.84,19.61506849,120.6502914,28.01647568,9,774,1,41,24 +Wendeng City,41,708,829.7,13.39726027,122.057988,37.193882,45,360,1,46,25 +Wenshan Prefecture,60,1000,190.1,17.5,104.23251,23.386305,1259,5216,0,23.68,10.33 +Wuhai City,113,480,258.92,10.5,106.8148727,39.67420197,1092,317,0,36,23 +Urumqi City,170,408.9,2680,9.1,87.60611725,43.79093933,836,2123,0,40.3,138.55 +Wuxi City,69,2055,8518.26,18.25616438,120.2991333,31.57723045,5,1360,0,36,198.34 +Wuhu City,56,1742,2457.3,17.33104396,118.3598328,31.33449554,8,610,0,36,27 +Wujiang City,55,1742,1540,17.54246575,120.645158,31.138677,7,652,0,36,28 +Wuhan City,128,1427.5,10905.06,17.15068493,114.2919388,30.56751442,15,4413,0,41.99,330.68 +Xi’an city,113,558,5810.03,15.48493151,108.949028,34.26168442,385,7820,0,42.62,332.34 +Xining City,72,308.2,1131.62,7.283561644,101.7874527,36.60944748,2263,3388,0,38.92,55.8 +Sipsongpanna Prefecture,69,1893.7,335.9,20,100.79715,22.00881,555,59,0,36,23 +Xilin Gol League,18,250,1002.6,1.5,116.0482221,43.933454,987,5,0,33,22 +Xiantao city,78,1200,590,16.3,113.423482,30.360882,30,1667,0,22.79,18.89 +Xianning City,85,1584.2,1035,17.62739726,114.2687378,29.89432716,28,2493,0,21.57,15.26 +Xianyang City,127,537,2155.91,14.07260274,108.7101288,34.33721542,383,2007,0,40.27,30.96 +HongKong SAR,37,2383,17900,22.8,114.109497,22.396428,321,25900,1,37,594.48 +Shangri-la City,24,617.6,100.9,5.5,99.7,27.83,3459,2034,0,8.67,4.64 +Xiangtan City,67,142,1703.1,18.51232877,112.9150238,27.87335014,68,4851,0,36.23,30.42 +Xiangyang City,118,672,3400,15.1,112.122426,32.009016,70,3099,0,41.18,34.33 +Xiaogan City,101,1200,1460,16,113.9113312,30.92845535,24,5553,0,34.45,16.4 +Xinzhou City,65,1450,680,10.50684932,112.7315521,38.39920807,790,125,0,33,23 +New Taipei City,16,1775,5470.33,22,121.4627868,25.0169826,15,1935,1,41,24 +Xinyu City,47,1700,946.8,18.7739726,114.9293823,27.80654716,63,2041,0,46.71,16.1 +Hsinchu City,21,1700,686,22.2,120.9674798,24.8138287,25,4199,1,46,24 +Hsinchu County,22,1700,714,22.2,121.0177246,24.8387226,30,380,1,46,24 +Xinyang City,106,537,1877.75,16.60821918,114.0677185,32.13063049,106,2065,0,39.9,27.11 +Xingtai City,175,534,1668.1,14.86712329,114.4950867,37.0655899,76.8,586,0,36,27 +Hinggan League,36,1469,502.31,5,122.037657,46.082462,274,27,0,33,29 +Suqian City,82,831,2126.19,15.65890411,118.29706,33.958302,30,582,0,36,27 +Suzhou City(Anhui),87,910,1235.8,16.21917808,116.9701538,33.6401329,28,566,0,33,29 +Xuzhou City,116,831.6,5319.88,15.50547945,117.1856079,34.26752853,36,770,0,36,31 +Xuchang City,82,672,2170.6,15.28767123,113.8215866,34.02685928,71,5196,0,38.05,23.33 +Xuancheng City,54,1742,971.5,17.07808219,118.75,30.95,15,210,0,33,14 +Yaan City,81,1388.6,517.72,17.98356164,102.9826965,29.98229408,580,1346,0,40.8,15.19 +Yantai City,89,574,6446.08,13.8,121.3799362,37.53561401,4,1962,1,44.38,119.91 +Yanan City,108,510.4,1198.63,10.89041096,109.471283,36.59387207,1070,6300,0,40.78,13.21 +Yancheng City,88,684,4212.5,15.73561644,120.1351776,33.38982773,1,496,1,44,24 +Yangzhou City,97,1742,4016.84,16.32876712,119.4368362,32.39188766,12,676,0,36,31 +Yangjiang City,24,1966,1256,23.78082192,111.9578934,21.84523392,4,1180,1,44.71,22.82 +Yangquan City,102,480,598.85,11.8260274,113.5742569,37.86065674,672,314,0,33,23 +Yibin City,69,866.3,1529.9,19.68767123,104.6168671,28.77025604,321,707,0,38.22,29.21 +Yichang City,104,1651.5,3384.8,16.84931507,111.2852707,30.70395279,59,1709,0,39.91,31.43 +Yichun City,36,1469,1621.02,17.2,114.3746109,27.79557419,96,6517,0,50.56,16.75 +Yilan County,21,1268,565,25,121.7377502,24.7021073,13,214,1,41,24 +Yixing City,57,1200,1320,16.54520548,119.823308,31.340637,34,530,0,33,14 +Yiwu City,78,672,1046,17,120.07514,29.306756,73,669,0,33,14 +Yiyang City,66,866,1354.41,15.28630137,112.3340683,28.60197067,81,5632,0,39.47,17.19 +Yinchuan City,81,227,1480.73,11.31643836,106.2719421,38.46800995,1111,799,0,40.89,51.93 +Yingtan City,41,1700,639.26,19.19452055,117.0302811,28.2455864,40,325,0,36,14 +Yingkou City,88,878,1500,10.53424658,122.2241516,40.66835022,5,492,1,44,24 +Yongzhou City,59,1901,1418.18,19.13835616,111.6121979,26.2112999,103,5372,0,43.34,18.85 +Yuxi City,46,892,1245.7,17.5260274,102.5332336,24.35497284,1625,3397,0,42.21,10.86 +Yueyang City,77,1638.4,2886.28,18.23972603,113.0980682,29.37461853,37,4581,0,35.3,29.28 +Yunfu City,15,1469,710.07,21.5,112.03999,22.933193,150,3118,0,34.84,10.76 +Yunlin County,48,1700,715,22,120.4313373,23.7092033,28,542,1,46,24 +Yuncheng City,119,592.4,1173.54,15.21780822,110.9911499,35.01391602,370,374,0,33,30 +Zaozhuang City,148,534,2030,15.24657534,117.556282,34.87264633,89,2784,0,44.92,46.25 +Zhanjiang City,29,1674,2450,24.49452055,110.3992233,21.19499779,17,7718,1,40.5,37.63 +Zhangjiagang City,73,581,2229.82,17.13287671,120.556005,31.875572,7,1152,1,44,24 +Zhangjiajie City,64,1071,447.7,18.45890411,110.47,29.13,164,1632,0,41.66,12.43 +Zhangjiakou City,103,440,1363.54,9.624657534,114.8787766,40.81744003,716,120,0,33,23 +Zhangqiu City,103,401,870.8,15.00273973,117.526228,36.681259,143,737,0,33,29 +Changhua County,38,1775,1356,22.6,120.5161352,24.0517963,14,1200,1,46,24 +Zhangzhou City,59,1670,2767.45,23.28493151,117.6530914,24.51816368,19,388,1,45,24 +Changchun City,106,530.5,5530.03,7.157534247,125.3154297,43.89256287,219,382,0,36,31 +Changsha City,76,1638.4,8510.13,18.50547945,112.9812698,28.20082474,63,2831,0,37.6,203.04 +Changzhi City,91,592,1137.1,11.65342466,113.1055679,36.18191147,931,247,0,33,23 +Zhaoyuan City,117,480,639.84,11.5,120.434071,37.355469,85,1464,1,43.04,6.86 +Shaotong City,27,665,709.2,13.94657534,103.7149277,27.34227943,1932,4949,0,24.05,14.6 +Zhaoqing City,34,2137,1970.01,23.75616438,112.4514084,23.05788231,17,1507,0,39.64,27.76 +Zhenjiang City,82,1224,3502.48,16.74931507,119.4442978,32.20589828,23,827,0,36,31 +Zhengzhou City,152,689.2,7315.19,15.98219178,113.6500473,34.7570343,110,15055,0,41.87,206.96 +Zhongshan City,45,1966,3010.03,24.05616438,113.3714523,22.52685356,13,2809,1,44.71,24.97 +Chongqing Municipality,66,1450.9,15719.72,19.7260274,106.5103378,29.55817604,238,1904,0,40.3,440.03 +Zhoushan City,25,1450,1094.7,17.66575342,122.1016083,30.02004242,3,800,1,46,24 +Zhoukou City,88,910,2082.38,16.81369863,114.6372528,33.62804031,49,3808,0,42.46,14.86 +Zhuhai City,41,1966,2024.98,24.31369863,113.5682602,22.27258873,7,2472,1,45.1,81.5 +Zhuzhou City,52,1638,2335.11,18.75479452,113.1520615,27.85422325,46,1287,0,34.7,38.19 +Zhuji City,104,1742,1026.78,17.8260274,120.246863,29.708692,16,501,0,36,29 +Zhumadian City,79,1388,1807.09,15.94657534,114.0356903,32.97904205,84,2539,0,39.46,18.86 +Ziyang City,86,807.8,1270.4,16.18219178,104.65019,30.122671,367,1787,0,38.67,18.28 +Zibo City,116,288,4130.2,14.57671233,118.0560532,36.7935791,38,782,0,36,31 +Zigong City,118,994.8,1143.11,19.43287671,104.7763519,29.36772156,311,1557,0,40.2,35.47 +Zunyi City,60,1000,2168.34,16.99178082,106.9293976,27.69538689,865,3581,0,44.06,34.51 diff --git a/report/images/feature_coefficients.png b/report/images/feature_coefficients.png new file mode 100644 index 0000000000000000000000000000000000000000..e97c1dbb3e845db8d41ed66a5ee4f9cba6193e0d GIT binary patch literal 36795 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
  • d6w$o&EwiaF5j^e#KnPE8lwLkx| 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 g7w0X3iJE#GH0}QV`HIeo8UH5-Y4^Y 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 JPgvrre*i!WlAQnm literal 0 HcmV?d00001 diff --git a/report/images/gd_initialization.png b/report/images/gd_initialization.png new file mode 100644 index 0000000000000000000000000000000000000000..550ac63bebde9823d8b1072b710696a8b7ee515a GIT binary patch literal 40861 zcmeFZbyU{v7A=b1`1vWKNEn2Gf}*4niim)qlr$&`NOz}+ih?2`jnds+Dk2IZ4bm92 zfJjN7`GEVJeeNB1oH6b{_n-TXv9}8E`->;mnrqIvo`;uZ#J6px*-Sw}u}$K_IXMc7 zHT@J6tCcsd$4|!SKQZAC0V^?OD|u60E8A-pIuz2^tjvr|t&H@w_uJ@LSn8XaoZvWq zjN`ouW-26 zzGyqc^D^zUjd&6Yiaix&{i~P%MzM-+`A>HdkqzW8uUGw3vx@x1jAE@7`ICb7KOfof z|9|BFyKylSi;9fA`6cz5L4EWSZEfvLiyp}csq{4S@8`?jy}SAS{S%(@l0V%d4=8x+PU{fl#O463(*&F^`@+;m!}<(pu!0qgx%C#NawF8*?el&&$gzkk>SM zD7ip}x6>{{T|?suN3F^Aa?i$Rhs00ne%doLGZUv%>E}OOM4pXa&_S7@ATRG@bFZ`l@FnefmQf3raYufZT&L^TxAz2`XER6g zhms}v!*)!KcBL>$`Q3c&wklq$q`0={3llfDVwlTpT&K&Nv1sSg>sxCa#>%L(bSih} z6%-^GHYYp${>VbLYnPR5idL3^Z}g?GzRFheEQ>JLgh;DZ%Zn7{quE0UT$u`*3zv1>C>l^zf3B;Yf4h%cAmA`w&z&) ztJSknd|i6EH){{#+9~QH+qY~X7c;uu6!k*T(IzUm&xs7^Kz&St^W0R=>e(Kru8L!} zBkK3=-HXHIE6o?x*VS3g4d+x=S6{mR{;{lyNph!sAKh?Afzo(ibxC(g2)AKV|4Vmz zxw)y~$xkP$Z;o~rIgD5FTF*}CO9%7SwvKeaxf953=y&ko!CgCdj^}7`bXe6(JIwU> zXPJFH+hI|8)Ym47!YpoMKSj5j%i@gQ69!?;v9Ym0e#>YlXXm8q4(n!()?(*^so^#y z)=}S}Aa(|ZFiHOAd%^sc=e^mu_iJ8Us0!lcVuMzIykpB>Z?# zm1?fpORQ*xm(5y()erWb&^?SVY}tJz^|SIr50Cl|+peT);U)E)4x6^FVwVaZ)<+K? z)}9(IyuNTS=KK>HhoPjLlUDtg@f1?ts+l)mKH101cI?bw2jH7z z*u57WibiLe{5|PTUBOKRoc^Sa6isU~F*5d#l`}M3Rtv`5y}P!jr^nYZMV!G|;o-xF zY#bcf^lBNpPu6dzPyF-8j(oOwZls`_dVPJgw0w?92jjvR!^lWSfm&F}i|Rt7s^iR6j_JKNri+$A@j?*K7JjQ{Haq=-TWb`ui z>l4F_vA_`PDx90NTxOz7@&}m9%F5!fIB8DkKK5h~HjyuVdO)8tcP0_<)bgkUc2_PiXYdUXt%7^@2T(|#HLft zHi~munAOMb;t5;uVU=f;5OkPGZE}3+@<*?uz_xi|x+?`yMIxu&!bAJ|^~MPC?al}* zJj09gdnxyFo$GR$OY)=_G;khGFPR&ktQT~gy7}`<+F)&jJ3j9F;zcY=n3G(|!c^Nj z!})R5Uu1Z?#;Z#z22VLm#4=xe5#Cwk$j-qbLnmNW6Du2GBowx8%kKVX;`GlLx6uh? zw)20^S-&tbP*1~a5-eall86Z;p>uYAyxO?cM`P({OUC3!matg8>QIB0^eB_!8C~PH z?5b#EG1pL|&O#O3Itbr$dQ&}`;&NX7QBS4+&|pGJwu($$o~54HxpOx^dNaAswIUW8 zE-fzPPd2F;>#A&}KdrpmLkw#vgMNH+Qt|55Zn5S@e8Cu(#I1_@n<-xRyx%B5G5@jH zd5%Pe1T6RbzEH;>y}i+wgl5i(-rrigfx#*KN|LGs+qPQMqDjB?l(ezAxqLc$dWPkm zbgg-oG5_w|$s~aYnM%UXsgYb!tPcUp-p5TTS}EVly_R}tnhFa~FZ?RqZqSxJESBVz ztt2b^?EZF!WFF(z{)a4~PyPM<2b)t;aE;4kF0k6K%U2FICU9SUO)=y!%~|~CECQIK zKZnM|pYLAm*u4zS6VJ#R#=f2BOc@F^Onw#?7RD?ccq7C@GvfR<3F@T){{TMoSGRB9 zo~RMs&dST1^EOQE?AhBiCvS$2mMkrDwmsg*E2HH!cJE4}^2<#-nLm`5iyuFJ+@L1> zR&P~M3?^XU9<}CEMzV*!CwhZS2eX%WttyY^^nVICG24A-I~lYg56^c;t5l1f^2poJa2xbvu{L83Wjah6G$yLZH>+Ddk&~0lMA#?6p(*P(b;07ax;rIZ z-65~juhdNP#MZ3eTB8@{9G!N(JYLLWw?TXEn7!5s?ROh>baYsc9+k#KMlz}_ja2u| zjg}}G7{rsEc<=7rn_b1uzzLyb+U&=BKi=Tduqpz!k(ZJ2tV-jz?7cZX($RD*$9c{M z`CD;ec2d40-`aYjU)Fh|R-8t_Dzcm6etCzCl;C zkTE~+v<>^qeLF+ba86h9?BtN)KwT8gDVs#D6DO?uLTp{+ktk^gUF_FMM-@D-I7xJsA)(s&`jmcD&n3>)S#=LPEmo)vFmLSY(20 zkoBqyn$M}L2Uk%`^ko<}b4ak|=v@dAuvW-1(HQP5ntPQz;Dq3Pz@zL{l3I>x$?3He z5j$#Dbzh2>31I`&@)DZ8@b&9g@5p_og|f|>j!BCPqpm}DwhKLFbjBnPwq_-Sx-QO) zhq9bFAx|>D@Y2ksZ45%~4)cq1qf2em!dCrH5fTGW>dQ$e-AG7Hy-cn`@A&ih&~e;U zzWvS!|W0ST$C(Ma&DvLtLe?(uys$kVM@^z>@$Q+dg&k@-;|UT ztZD_5ikUK(ULCyeM5p7ZVg<83l2B8;VuDXdh;wJlW`wK;grzL)vdxnt9c?rQK|IFs z+xGF?Y);nTX|}+e;bPJe;$GP;hr*RoG--}qbz8*xYoWb#=~DB%hdYg<8C;QGX7MhQ z_+Q)4Jzcrx*Gc+T%Qi}L*}LD@1Q8Z^YpBCR}Q)Nr0`%%5sCG;XyX zYLZ6A4)Qyy7EPuMbBFMfMAo1+uwMK7>#kFXsr|r^P10+b^lQS;kTr_gjt?>|Ziz0T zJ7sgR(w{SDecOi*7X<%w-%-sm3CXt}y7D!Q#oH%1IML0`ZG38UoWHAjW88%2y84() zCEY`%Z{JQ-@pfHc>&TV%K700TMb?&0n`&D!^c0nq|M*L-t*ftJnwr$
      qU#yvMZ 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 literal 0 HcmV?d00001 diff --git a/report/images/gd_learning_rates.png b/report/images/gd_learning_rates.png new file mode 100644 index 0000000000000000000000000000000000000000..c54d67709bdda9479c9b38de0b0b4a4e54162f51 GIT binary patch literal 56589 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

      c?b|mBLED=?Co^KD+w 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 F{|g*WwJe(i$Bbq0nF`s9Dc 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 CYy7SN literal 0 HcmV?d00001 diff --git a/report/images/lwlr_k_analysis.png b/report/images/lwlr_k_analysis.png new file mode 100644 index 0000000000000000000000000000000000000000..a9a5e31e21b1ebf47e30cd69bfb3a029303839c6 GIT binary patch literal 27317 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 G>Yo87X_prO literal 0 HcmV?d00001 diff --git a/report/images/model_comparison.png b/report/images/model_comparison.png new file mode 100644 index 0000000000000000000000000000000000000000..fe57b807394adae5feab59aa9b8db77ad3b5f1b1 GIT binary patch literal 22483 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 literal 0 HcmV?d00001 diff --git a/report/机器学习.md b/report/机器学习.md new file mode 100644 index 0000000..16dc782 --- /dev/null +++ b/report/机器学习.md @@ -0,0 +1,200 @@ +# 空气质量指数(AQI) 预测与影响因素分析实验报告 + +## 摘要 + +本实验旨在利用全国主要城市的相关环境与经济数据,预测空气质量指数 (AQI) 并分析其关键影响因素。我们采用了多种回归分析方法,包括基于梯度下降的线性回归、正则化回归(Lasso 与 Ridge)以及局部加权线性回归 (LWLR)。通过对比实验,我们发现局部加权线性回归在 $k=2.0$ 时表现最佳,RMSE 达到 30.36。实验同时揭示了数据预处理(尤其是标准化)对于梯度下降算法收敛的重要性。特征分析表明,纬度、温度和海拔是影响 AQI 的最主要因素,显示出空气质量受地理和气象条件的制约显著大于经济活动指标。 + +--- + +## 1. 引言 + +空气质量指数 (Air Quality Index, AQI) 是衡量空气清洁状况的重要指标,直接关系到公众健康。准确预测 AQI 并理解其背后的驱动因素,对于环境治理和政策制定具有重要意义。本实验基于包含323个城市样本的数据集,通过机器学习方法构建预测模型,并深入探讨不同算法的特性及适用场景。 + +--- + +## 2. 数据探索与预处理 + +### 2.1 数据集概况 + +实验数据来源于 `AQIDataset.csv`,包含 323 个有效样本。每个样本代表一个城市,包含以下 10 个特征变量: + +* **地理特征**: Longitude (经度), Latitude (纬度), Altitude (海拔), Coastal (沿海标识) +* **气象特征**: Temperature (温度), Precipitation (降水量) +* **经济与社会特征**: GDP, PopulationDensity (人口密度), GreenCoverageRate (绿化覆盖率), Incineration (焚烧量) + +目标变量为 **AQI**。 + +### 2.2 数据清洗与预处理细节 + +在进行模型训练前,我们对数据进行了严格的清洗和预处理,这是保证模型性能的关键步骤。 + +1. **缺失值处理 (Handling Missing Values)**: + * 原始数据中存在部分缺失值。考虑到样本量尚可(300+),且缺失值的填充(如均值填充)可能引入噪声,我们采取了**直接删除 (Drop)** 的策略,保留了完整性较高的数据子集。 + * 最终有效样本数:323。 + +2. **特征选择 (Feature Selection)**: + * `City` 字段为文本标识符,不包含定量信息,直接剔除,不作为输入特征。 + +3. **特征缩放 (Feature Scaling)**: + * 由于不同特征的量纲差异巨大(例如 GDP 可达数万,而 Precipitation 仅为数百),直接使用基于梯度的优化算法会导致损失函数的等高线呈细长的椭圆状,使得梯度下降路径呈“之”字形震荡,收敛极慢甚至发散。 + * 我们实现了两种缩放方法进行对比: + * **归一化 (Min-Max Scaling)**: 将数据映射到 $[0, 1]$ 区间。 + $$ x_{norm} = \frac{x - x_{min}}{x_{max} - x_{min}} $$ + * **标准化 (Z-score Standardization)**: 将数据转换为均值为 0,标准差为 1 的分布。 + $$ x_{std} = \frac{x - \mu}{\sigma} $$ + * **实验发现**: 标准化在处理异常值和保持数据分布特性方面表现更优,后续主要实验均基于标准化数据进行。 + +4. **数据集划分 (Data Splitting)**: + * 采用 **10折交叉验证 (10-fold Cross Validation)**。将数据集随机分为 10 份,轮流取 9 份作为训练集,1 份作为测试集。 + * 最终结果取 10 次实验的平均值,以减少因数据划分不同带来的随机误差,评估结果更具稳健性。 + +--- + +## 3. 实验方法论 + +### 3.1 基于梯度下降的线性回归 (Gradient Descent Linear Regression) + +我们手动实现了线性回归模型,通过最小化均方误差 (MSE) 来寻找最优参数 $\theta$。 + +* **假设函数**: $h_\theta(x) = \theta^T x + b$ +* **损失函数**: $J(\theta) = \frac{1}{2m} \sum_{i=1}^m (h_\theta(x^{(i)}) - y^{(i)})^2$ +* **参数更新 (梯度下降)**: + $$ \theta_j := \theta_j - \alpha \frac{1}{m} \sum_{i=1}^m (h_\theta(x^{(i)}) - y^{(i)}) x_j^{(i)} $$ + 其中 $\alpha$ 为学习率。 + +### 3.2 正则化回归 (Regularized Regression) + +为了防止过拟合和处理多重共线性,我们引入了正则化项: + +* **Ridge Regression (岭回归)**: 加入 L2 正则项 $\lambda \sum \theta_j^2$。倾向于让参数变小但不为零,适合处理特征间存在相关性的情况。 +* **Lasso Regression**: 加入 L1 正则项 $\lambda \sum |\theta_j|$。倾向于产生稀疏解(即让部分参数变为 0),具有自动特征选择的功能。 + +### 3.3 局部加权线性回归 (Locally Weighted Linear Regression, LWLR) + +传统的线性回归是全局参数模型,假设数据整体呈线性关系。LWLR 是一种非参数方法,针对每个查询点 $x$,赋予其附近的训练样本更大的权重,然后进行加权线性回归。 + +* **权重矩阵 $W$**: 对角矩阵,对角线元素 $w^{(i)}$ 为样本 $x^{(i)}$ 对应的权重。我们使用高斯核函数: + $$ w^{(i)} = \exp\left(-\frac{||x^{(i)} - x||^2}{2k^2}\right) $$ + 其中 $k$ 为带宽 (bandwidth) 参数,控制权重的衰减速度。$k$ 越小,只有非常近的样本才有权重(模型复杂,易过拟合);$k$ 越大,权重分布越均匀(退化为普通线性回归)。 +* **闭式解**: $\theta = (X^T W X)^{-1} X^T W y$ + +--- + +## 4. 实验结果与深度分析 + +本章节通过一系列可视化图表,深入探讨了算法参数、特征选择及模型性能的差异。 + +### 4.1 梯度下降算法的挑战与调优 + +#### 4.1.1 "梯度爆炸"与特征缩放的重要性 + +在初步实验中,我们直接使用原始数据进行梯度下降训练。结果显示 RMSE 为 `Infinity` (无穷大),且发生数值溢出 (`RuntimeWarning: overflow`). + +![Scaling Comparison](images/gd_scaling_comparison.png) + +**图 4-1: 特征缩放方法对 RMSE 的影响对比** + +* **图表解读**: + * 最左侧柱状图(Raw)代表原始数据,其 RMSE 值因过大而无法在常规坐标轴中显示(数值溢出)。这直观展示了在特征尺度差异巨大的情况下(如 GDP vs 温度),基于梯度的算法会遭遇灾难性的发散问题。 + * 中间(Normalized)和右侧(Standardized)分别代表归一化和标准化。可以看出,**标准化 (Standardized)** 取得了最低的 RMSE (32.84),优于归一化 (36.52)。 +* **深度分析**: + * 原始数据的方差差异导致 Hessian 矩阵条件数极大,损失曲面呈现狭长山谷状。即使步长极小,优化路径也容易在山谷两侧剧烈震荡,导致发散。 + * 标准化相比归一化更优,原因在于标准化不限制数据区间,对异常值(outliers)的鲁棒性更强。对于空气质量这种可能出现极端值的自然数据,Z-score 标准化更能保留数据的分布信息。 + +#### 4.1.2 学习率 ($\alpha$) 的敏感性分析 + +![Learning Rates](images/gd_learning_rates.png) + +**图 4-2: 不同学习率下的 Loss 收敛曲线 (Log Scale)** + +* **图表解读**: + * **$\alpha=0.1$ (蓝色)**: 曲线下降最快,但在极短迭代后趋于平缓。虽然初期收敛快,但在 10-fold CV 中观测到部分折出现震荡现象,稳定性稍逊。 + * **$\alpha=0.01$ (橙色)**: 曲线平滑下降,收敛速度适中且最终 Loss 值与 0.1 相当。这是最理想的学习率,兼顾了速度与稳定性。 + * **$\alpha=0.001$ (绿色) & $0.0001$ (红色)**: 曲线下降斜率较小,虽然最终也能收敛,但需要更多的迭代次数(Epochs)。在有限算力下,过小的学习率会导致欠拟合。 +* **深度分析**: + * 该图采用了对数坐标轴 (Log Scale),清晰展示了不同数量级学习率的收敛行为差异。 + * 实验表明,对于标准化后的数据,0.01 是一个安全且高效的“黄金学习率”。 + +#### 4.1.3 初始化策略的影响 + +![Initialization](images/gd_initialization.png) + +**图 4-3: 全零初始化 vs 随机初始化的 Loss 曲线对比** + +* **图表解读**: + * 图中两条曲线(Zero vs Random)几乎完全重合。 +* **深度分析**: + * 这说明对于凸优化问题(线性回归的 MSE 损失函数是严格凸的),只要学习率适当,初始值的选择对最终收敛结果影响微乎其微。 + * 这与非凸优化(如神经网络)截然不同,证明了线性回归模型的稳健性。 + +### 4.2 局部加权回归 (LWLR) 的带宽选择 + +![LWLR Analysis](images/lwlr_k_analysis.png) + +**图 4-4: LWLR 带宽参数 k 对 RMSE 的影响** + +* **图表解读**: + * 横轴为带宽 $k$ (对数坐标),纵轴为 RMSE。 + * 曲线呈现典型的“U型”趋势: + * **左侧 ($k < 1.0$)**: RMSE 极高。这是因为 $k$ 过小时,权重矩阵过于稀疏,导致局部样本不足,产生过拟合甚至矩阵奇异问题。 + * **中间 ($k=2.0$)**: 曲线达到最低点 (**RMSE $\approx$ 30.36**)。这是偏差-方差权衡 (Bias-Variance Tradeoff) 的最佳点。 + * **右侧 ($k > 2.0$)**: RMSE 缓慢上升。随着 $k$ 增大,局部加权退化为全局线性回归,模型欠拟合(High Bias)。 +* **结果分析**: + * 最佳 $k=2.0$ 表明,空气质量的分布具有一定的平滑性,但不是全局线性的。一个城市 AQI 的预测需要参考周边一定范围内的样本,这个范围(由 $k$ 定义)既不能太小(受个别噪声干扰),也不能太大(失去地域特性)。 + +### 4.3 影响 AQI 的关键因素解析 + +#### 4.3.1 特征相关性热力图 + +![Feature Correlation](images/feature_correlation.png) + +**图 4-5: 特征相关性矩阵热力图** + +* **图表解读**: + * 热力图展示了各特征之间的线性相关系数。颜色越红代表正相关,越蓝代表负相关。 + * **AQI 与 Latitude (纬度)**: 呈现较强的正相关 (0.xx),说明北方城市 AQI 普遍高于南方。 + * **AQI 与 Precipitation (降水)**: 呈现负相关,验证了降水的清洁作用。 + * **特征共线性**: 某些特征间相关性较高(如 Longitude 与 Latitude),这解释了为何 Ridge 回归(处理多重共线性)在后续对比中表现稳定。 + +#### 4.3.2 回归系数条形图 + +![Feature Coefficients](images/feature_coefficients.png) + +**图 4-6: Ridge 回归下的特征标准化系数** + +* **图表解读**: + * 该图展示了各特征对 AQI 的贡献度(标准化系数,消除了量纲影响)。 + * **绝对值 Top 3**: Latitude (纬度) > Temperature (温度) > Altitude (海拔)。 + * **正负影响**: + * **Latitude (+)**: 纬度越高,AQI 越高(污染越重)。 + * **Temperature (-)**: 温度越高,AQI 越低(空气越好)。这可能与冬季低温导致的大气层结稳定(逆温)及供暖排放有关。 + * **Precipitation (-)**: 降水有助于降低 AQI。 +* **结果分析**: + * 自然地理因素(纬度、气象、海拔)的影响力显著超过了社会经济因素(GDP、焚烧量)。这意味着,尽管人为排放是污染源,但自然条件的扩散能力决定了最终的空气质量表现。 + +### 4.4 模型综合性能对比 + +![Model Comparison](images/model_comparison.png) + +**图 4-7: 四种模型的 RMSE 和 MAE 对比** + +* **图表解读**: + * 蓝色柱状图代表 RMSE,橙色代表 MAE。柱子越低越好。 + * **LWLR (最右侧)** 明显低于其他三个全局模型。其 RMSE 为 30.36,相比 Gradient Descent (32.84) 降低了约 **7.6%**。 + * Lasso 和 Ridge 与普通 GD 差异不大,说明正则化带来的收益有限。 +* **结果分析**: + * LWLR 的胜利有力证明了中国空气质量分布的 **空间非平稳性 (Spatial Non-stationarity)**。不同区域的 AQI 生成机制存在差异,通过局部加权,LWLR 实际上构建了无数个“局部线性模型”,从而比单一的全局模型更精准地捕捉了数据规律。 + +--- + +## 5. 结论与展望 + +本实验通过构建多种回归模型,成功实现了对城市 AQI 的预测。主要结论如下: + +1. **数据预处理是核心**: 对于涉及距离计算 (LWLR) 和梯度优化 (GD) 的算法,**Z-score 标准化**是不可或缺的步骤。原始数据的尺度差异直接导致了算法的失效。 +2. **局部模型优于全局模型**: LWLR 的优越表现证明了空气质量分布具有很强的地域性特征。不同区域(如沿海 vs 内陆,南方 vs 北方)的 AQI 生成机制可能不同,全局单一线性模型难以通过一套参数拟合所有城市。 +3. **自然因素主导**: 尽管经济指标 (GDP, 工业焚烧) 对 AQI 有影响,但**地理位置 (经纬度、海拔)** 和 **气象条件 (温湿)** 仍然是决定一个城市空气质量的基础性因素。 + +**未来改进方向**: +* 尝试非线性模型(如决策树、随机森林或神经网络)以进一步降低 RMSE。 +* 引入更多时间维度的特征(如季节性因素),构建时空预测模型。 diff --git a/src/__pycache__/data_processing.cpython-313.pyc b/src/__pycache__/data_processing.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c07f3a81e3bde2789a76bbabd0cc1d979f7bba3c GIT binary patch literal 2363 zcmbtV&2JM&6rcUDy;;XeFb0AR=@Jr^rE$_ii7-J(A&^i)sK_?pen{5V9w$reT{E*r zNu)~d%`TN}Dj|HNH@H!$hyDY-+u{&wXeFeca!Uz+K;LX^NFXhTjx=v(-<$X5&F_8e zRw$$*7$d(9TE7Gk`ip;bhS=V0orlc>WFSMBMMUsckw~zLv+`9R@oC7AqKNp7fFVcG zZGi*~AABo@A86O2peq~P)OB58zS(Ifmq`n4(|qy6lwfW>1?~g%HRpL_zT-fL0qY=I zKxf+8wqOVg!o0jg+}=*WYW5)nQh3zc!w?M7kP@QJwY%PyB6OzB^5lD1-;b^wLC6+& zcp z^f#6M(qv0ftAR?O=BrPZ0}W+hT^VjF!@!Rmd^mG|rhfUcP@8E)POe8zH6y3iBZ+1t z@hmb?ntKuKt{rUz2O9Fg7CZ!{d5L$%>ykeQ94PsALGyxzk`@gyAwil;^E-9gx^K!K zl22OuT%B)clBq3X8xzxYh~{Lq6D~0=J7w7!yfUJ>n7Z40U4xv|X5+jKX;Z|ZRJ&>B zEP&o}>{0a#U1ExzqJ^C0QWl^~#cVc*SvP@DIr$WIO&9CX{J4z@@rHzQj z`Qmbx@`B~x}3Wlm@ zD`#ty_a++hK?3~-?P{9bK6hg4HjoF<6z5-K2#ogNjV>WT8$){`*_MjQV{vF-wq!`j z(}r;F3PQY9B?Zo1km5m*$;rtD$t!nxEuqd?c6`oU(XK;r19WR`=sJN&rfd+5XnBAi zN{o(Z0Nx^|D&hT{@P;0zFRMfZ6iGNq#gJ9EWTXZ~$<=HE6NFGb5gg%@&H*W*O%?U+s}?K8`mu7c{9WlvtG930XXrpPq?M*$L}R7t+KtLY zQ$Ez{>8<4I*=A^{G~EjBtKVz{k2mDw{}G9A;jaG|35dYpI}s4Q2uR6K7Q}W0POD$V zY1$!JGh9eZlVtXY0d+GF0&LnN8f^E#Ugkn3fv}Uoad-e31;Ttu$n?xxNgRRXZ{M~9 z>W|_4S(x+^5D)6^P<6aAUb|BsFJCBKYN^5MaAml5qdZ)Wm!@7s4wR^@Su+zR&9rA9E;kYgUgy12oAsT(JO=qmFU_|25?-y!os1BVVO+68uqF6Vfo z9nCu#oJ&!h!)ac}UVVC<)T=Wu9|-sK3G&QuSEX_u)QUNLf$#_L`k{kBHYGt2o}>NG eQTR`!zm$&(AH2HY6Ar!X2?|47QB^qN+4u*I1QIR) literal 0 HcmV?d00001 diff --git a/src/__pycache__/models.cpython-313.pyc b/src/__pycache__/models.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..279943cc22b0be054770de905032cef00b740b2d GIT binary patch literal 6033 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 O0q}hVfG60a9RCy3k88&O literal 0 HcmV?d00001 diff --git a/src/data_processing.py b/src/data_processing.py new file mode 100644 index 0000000..02868d5 --- /dev/null +++ b/src/data_processing.py @@ -0,0 +1,67 @@ +import pandas as pd +import numpy as np +from sklearn.model_selection import KFold + +def load_and_preprocess_data(filepath): + """ + Loads the AQI dataset, performs preprocessing, and returns features (X) and target (y). + """ + # Load data + df = pd.read_csv(filepath) + + # Drop City column as it is not an input variable + if 'City' in df.columns: + df = df.drop('City', axis=1) + + # Handle missing values: delete rows with missing data + df = df.dropna() + + # Ensure all columns are numeric + # Some columns might have non-numeric characters if not parsed correctly, + # but based on the csv preview, they look mostly numeric. + # "Incineration(10,000ton)" header implies numeric but let's force conversion just in case + for col in df.columns: + df[col] = pd.to_numeric(df[col], errors='coerce') + + # Drop any rows that became NaN after coercion + df = df.dropna() + + # Target variable is AQI + y = df['AQI'].values + X = df.drop('AQI', axis=1).values + feature_names = df.drop('AQI', axis=1).columns.tolist() + + return X, y, feature_names + +def get_kfold_indices(X, n_splits=10, random_state=42): + """ + Returns a generator of (train_index, test_index) for K-Fold Cross Validation. + """ + kf = KFold(n_splits=n_splits, shuffle=True, random_state=random_state) + return kf.split(X) + +def normalize_features(X): + """ + Min-Max Normalization. + Returns X_norm, min_vals, ranges + """ + min_vals = X.min(axis=0) + max_vals = X.max(axis=0) + ranges = max_vals - min_vals + # Avoid division by zero + ranges[ranges == 0] = 1 + X_norm = (X - min_vals) / ranges + return X_norm, min_vals, ranges + +def standardize_features(X): + """ + Z-score Standardization. + Returns X_std, mean, std + """ + mean = X.mean(axis=0) + std = X.std(axis=0) + # Avoid division by zero + std[std == 0] = 1 + X_std = (X - mean) / std + return X_std, mean, std + diff --git a/src/experiments.py b/src/experiments.py new file mode 100644 index 0000000..74767d8 --- /dev/null +++ b/src/experiments.py @@ -0,0 +1,293 @@ +import os +import numpy as np +import pandas as pd +import matplotlib.pyplot as plt +import seaborn as sns +from sklearn.metrics import mean_squared_error, mean_absolute_error + +from data_processing import load_and_preprocess_data, normalize_features, standardize_features, get_kfold_indices +from models import LinearRegressionGD, LassoRegressionWrapper, RidgeRegressionWrapper, lwlr_predict_batch + +# Set plotting style +sns.set(style="whitegrid") +IMAGES_DIR = "report/images" +DATA_PATH = "hw1/data/AQIDataset.csv" + +def ensure_dir(directory): + if not os.path.exists(directory): + os.makedirs(directory) + +def evaluate_model(model, X, y, n_splits=10): + """ + Evaluates a model using K-Fold CV and returns RMSE and MAE list. + For GD, X should be scaled beforehand. + For LWLR, model is a function or requires special handling. + """ + rmse_scores = [] + mae_scores = [] + + # Handle LWLR separately if model is None (we'll assume special flag or pass 'lwlr') + is_lwlr = (model == 'lwlr') + + for train_idx, test_idx in get_kfold_indices(X, n_splits): + X_train, X_test = X[train_idx], X[test_idx] + y_train, y_test = y[train_idx], y[test_idx] + + if is_lwlr: + # Use default k=1.0 for generic evaluation, or handle passed k + # This function might need to be more flexible, but for general comparison: + y_pred = lwlr_predict_batch(X_test, X_train, y_train, k=1.0) + else: + # Create a new instance for each fold to avoid data leakage/state carryover + # We assume 'model' passed is a factory or class, or we reset it. + # Actually, sklearn models need fit called. Custom GD needs new instance. + # To simplify, we will pass a factory function or class and args. + if isinstance(model, type): + clf = model() + else: + # If it's an instance (sklearn), clone it or just fit (sklearn models reset on fit usually) + # For our custom GD, we need to re-init. + from sklearn.base import clone + try: + clf = clone(model) + except: + # Fallback for our custom class which doesn't inherit from sklearn base + # Filter out non-init attributes + init_params = ['learning_rate', 'n_iterations', 'initialization', 'alpha'] # generic list + params = {k: v for k, v in model.__dict__.items() if k in init_params} + clf = model.__class__(**params) + + clf.fit(X_train, y_train) + y_pred = clf.predict(X_test) + + rmse = np.sqrt(mean_squared_error(y_test, y_pred)) + mae = mean_absolute_error(y_test, y_pred) + + rmse_scores.append(rmse) + mae_scores.append(mae) + + return np.mean(rmse_scores), np.mean(mae_scores) + +def run_gradient_descent_analysis(X, y): + print("Running Gradient Descent Analysis...") + + # 1. Scaling Comparison + print("Comparing scaling methods...") + scaling_results = {} + + # Raw + gd_raw = LinearRegressionGD(learning_rate=1e-7, n_iterations=1000) # Very, very small LR for raw data + try: + rmse_raw, _ = evaluate_model(gd_raw, X, y) + except ValueError: + print("Raw data caused overflow/NaN.") + rmse_raw = float('inf') + + scaling_results['Raw'] = rmse_raw + + # Normalized + X_norm, _, _ = normalize_features(X) + gd_norm = LinearRegressionGD(learning_rate=0.01, n_iterations=1000) + rmse_norm, _ = evaluate_model(gd_norm, X_norm, y) + scaling_results['Normalized'] = rmse_norm + + # Standardized + X_std, _, _ = standardize_features(X) + gd_std = LinearRegressionGD(learning_rate=0.01, n_iterations=1000) + rmse_std, _ = evaluate_model(gd_std, X_std, y) + scaling_results['Standardized'] = rmse_std + + print(f"Scaling Results (RMSE): {scaling_results}") + + # Plot Scaling Comparison + plt.figure(figsize=(8, 5)) + plt.bar(scaling_results.keys(), scaling_results.values()) + plt.title('Gradient Descent RMSE with Different Scaling Methods') + plt.ylabel('RMSE') + plt.savefig(f"{IMAGES_DIR}/gd_scaling_comparison.png") + plt.close() + + # 2. Learning Rate Analysis (using Standardized data) + print("Analyzing Learning Rates...") + lrs = [0.1, 0.01, 0.001, 0.0001] + loss_histories = {} + + for lr in lrs: + gd = LinearRegressionGD(learning_rate=lr, n_iterations=500, initialization='zeros') + gd.fit(X_std, y) # Fit on whole dataset for loss curve analysis + loss_histories[lr] = gd.loss_history + + plt.figure(figsize=(10, 6)) + for lr, history in loss_histories.items(): + plt.plot(history, label=f'lr={lr}') + plt.title('Loss Curve for Different Learning Rates (Standardized Data)') + plt.xlabel('Iteration') + plt.ylabel('MSE Loss') + plt.legend() + plt.yscale('log') # Log scale to see differences better + plt.savefig(f"{IMAGES_DIR}/gd_learning_rates.png") + plt.close() + + # 3. Initialization Analysis + print("Analyzing Initialization...") + inits = ['zeros', 'random'] + init_histories = {} + lr_best = 0.01 # Pick a stable LR + + for init in inits: + gd = LinearRegressionGD(learning_rate=lr_best, n_iterations=500, initialization=init) + gd.fit(X_std, y) + init_histories[init] = gd.loss_history + + plt.figure(figsize=(10, 6)) + for init, history in init_histories.items(): + plt.plot(history, label=f'init={init}') + plt.title(f'Loss Curve for Different Initializations (lr={lr_best})') + plt.xlabel('Iteration') + plt.ylabel('MSE Loss') + plt.legend() + plt.savefig(f"{IMAGES_DIR}/gd_initialization.png") + plt.close() + + return X_std # Return standardized data for other models + +def run_lwlr_analysis(X, y): + print("Running LWLR Analysis...") + # Use standardized data for distance calculations to be meaningful + X_std, _, _ = standardize_features(X) + + k_values = [0.1, 0.5, 1.0, 2.0, 5.0] + rmse_scores = [] + + # We need to manually do CV for each k because evaluate_model wrapper is too simple for k param + for k in k_values: + fold_rmses = [] + for train_idx, test_idx in get_kfold_indices(X_std, 10): + X_train, X_test = X_std[train_idx], X_std[test_idx] + y_train, y_test = y[train_idx], y[test_idx] + + y_pred = lwlr_predict_batch(X_test, X_train, y_train, k=k) + fold_rmses.append(np.sqrt(mean_squared_error(y_test, y_pred))) + + avg_rmse = np.mean(fold_rmses) + rmse_scores.append(avg_rmse) + print(f"k={k}, RMSE={avg_rmse:.4f}") + + plt.figure(figsize=(8, 5)) + plt.plot(k_values, rmse_scores, marker='o') + plt.title('LWLR RMSE vs k value') + plt.xlabel('k (Bandwidth)') + plt.ylabel('RMSE') + plt.xscale('log') + plt.savefig(f"{IMAGES_DIR}/lwlr_k_analysis.png") + plt.close() + + best_k = k_values[np.argmin(rmse_scores)] + return best_k + +def run_feature_analysis(X, y, feature_names): + print("Running Feature Analysis...") + # Correlation + df_temp = pd.DataFrame(X, columns=feature_names) + df_temp['AQI'] = y + corr = df_temp.corr() + + plt.figure(figsize=(12, 10)) + sns.heatmap(corr, annot=True, fmt=".2f", cmap='coolwarm') + plt.title('Feature Correlation Matrix') + plt.tight_layout() + plt.savefig(f"{IMAGES_DIR}/feature_correlation.png") + plt.close() + + # Regression Coefficients (using Ridge to handle multicollinearity better) + X_std, _, _ = standardize_features(X) + ridge = RidgeRegressionWrapper(alpha=1.0) + ridge.fit(X_std, y) + coefs = ridge.model.coef_ + + plt.figure(figsize=(10, 6)) + sns.barplot(x=coefs, y=feature_names) + plt.title('Feature Coefficients (Ridge Regression)') + plt.xlabel('Coefficient Value') + plt.tight_layout() + plt.savefig(f"{IMAGES_DIR}/feature_coefficients.png") + plt.close() + + # Identify top factors + coef_series = pd.Series(np.abs(coefs), index=feature_names).sort_values(ascending=False) + print("Top influential factors (abs coefficient):") + print(coef_series) + +def run_model_comparison(X, y, best_k=1.0): + print("Running Model Comparison...") + X_std, _, _ = standardize_features(X) + + models = { + 'Gradient Descent': LinearRegressionGD(learning_rate=0.01, n_iterations=1000), + 'Lasso': LassoRegressionWrapper(alpha=0.1), # Small alpha for lasso + 'Ridge': RidgeRegressionWrapper(alpha=1.0), + 'LWLR': 'lwlr' # Placeholder + } + + results = {'Model': [], 'RMSE': [], 'MAE': []} + + for name, model in models.items(): + if name == 'LWLR': + # Manual CV for LWLR with best k + fold_rmses = [] + fold_maes = [] + for train_idx, test_idx in get_kfold_indices(X_std, 10): + X_train, X_test = X_std[train_idx], X_std[test_idx] + y_train, y_test = y[train_idx], y[test_idx] + + y_pred = lwlr_predict_batch(X_test, X_train, y_train, k=best_k) + fold_rmses.append(np.sqrt(mean_squared_error(y_test, y_pred))) + fold_maes.append(mean_absolute_error(y_test, y_pred)) + + rmse = np.mean(fold_rmses) + mae = np.mean(fold_maes) + else: + # For GD, Lasso, Ridge + rmse, mae = evaluate_model(model, X_std, y) + + results['Model'].append(name) + results['RMSE'].append(rmse) + results['MAE'].append(mae) + print(f"{name}: RMSE={rmse:.4f}, MAE={mae:.4f}") + + results_df = pd.DataFrame(results) + + # Plot Comparison + results_df.plot(x='Model', y=['RMSE', 'MAE'], kind='bar', figsize=(10, 6)) + plt.title('Model Comparison Metrics') + plt.ylabel('Error') + plt.xticks(rotation=0) + plt.tight_layout() + plt.savefig(f"{IMAGES_DIR}/model_comparison.png") + plt.close() + + return results_df + +if __name__ == "__main__": + ensure_dir(IMAGES_DIR) + + # Load Data + X, y, feature_names = load_and_preprocess_data(DATA_PATH) + print(f"Data loaded. X shape: {X.shape}, y shape: {y.shape}") + + # 1. Gradient Descent Analysis + # Note: We use X (raw) initially inside the function to show scaling effect + run_gradient_descent_analysis(X, y) + + # 2. LWLR Analysis + best_k = run_lwlr_analysis(X, y) + + # 3. Feature Analysis + run_feature_analysis(X, y, feature_names) + + # 4. Model Comparison + results = run_model_comparison(X, y, best_k) + + print("Analysis Complete.") + print(results) + diff --git a/src/models.py b/src/models.py new file mode 100644 index 0000000..9edabea --- /dev/null +++ b/src/models.py @@ -0,0 +1,107 @@ +import numpy as np +from sklearn.linear_model import Lasso, Ridge + +class LinearRegressionGD: + def __init__(self, learning_rate=0.01, n_iterations=1000, initialization='zeros'): + self.learning_rate = learning_rate + self.n_iterations = n_iterations + self.initialization = initialization + self.weights = None + self.bias = None + self.loss_history = [] + + def fit(self, X, y): + n_samples, n_features = X.shape + + # Initialize weights + if self.initialization == 'zeros': + self.weights = np.zeros(n_features) + self.bias = 0 + elif self.initialization == 'random': + np.random.seed(42) + self.weights = np.random.randn(n_features) + self.bias = np.random.randn() + else: + raise ValueError("Initialization must be 'zeros' or 'random'") + + self.loss_history = [] + + for _ in range(self.n_iterations): + y_predicted = np.dot(X, self.weights) + self.bias + + # Compute gradients + dw = (1 / n_samples) * np.dot(X.T, (y_predicted - y)) + db = (1 / n_samples) * np.sum(y_predicted - y) + + # Update parameters + self.weights -= self.learning_rate * dw + self.bias -= self.learning_rate * db + + # Compute and record loss (MSE) + loss = np.mean((y_predicted - y) ** 2) + self.loss_history.append(loss) + + def predict(self, X): + return np.dot(X, self.weights) + self.bias + +def lwlr_predict(test_point, X_train, y_train, k=1.0): + """ + Locally Weighted Linear Regression prediction for a single point. + """ + m = X_train.shape[0] + weights = np.eye(m) + + # Calculate weights for each training sample based on distance to test_point + # W(i, i) = exp(|x(i) - x| / -2k^2) + diff_mat = np.tile(test_point, (m, 1)) - X_train + sq_dist = np.sum(diff_mat**2, axis=1) + weights_diag = np.exp(sq_dist / (-2 * k**2)) + np.fill_diagonal(weights, weights_diag) + + # Analytical solution for LWLR: theta = (X^T * W * X)^-1 * X^T * W * y + # We need to add bias term column of ones to X_train for matrix math + X_train_bias = np.c_[np.ones((m, 1)), X_train] + test_point_bias = np.r_[1, test_point] + + xTwx = X_train_bias.T @ weights @ X_train_bias + + # Check for singularity + if np.linalg.det(xTwx) == 0.0: + # Fallback or small regularization could be added here + # For now, return mean or error + print("Singular matrix in LWLR") + return np.mean(y_train) + + theta = np.linalg.inv(xTwx) @ (X_train_bias.T @ weights @ y_train) + + return test_point_bias @ theta + +def lwlr_predict_batch(X_test, X_train, y_train, k=1.0): + """ + Predict for multiple points using LWLR. + """ + predictions = [] + for point in X_test: + predictions.append(lwlr_predict(point, X_train, y_train, k)) + return np.array(predictions) + +class LassoRegressionWrapper: + def __init__(self, alpha=1.0): + self.model = Lasso(alpha=alpha) + + def fit(self, X, y): + self.model.fit(X, y) + + def predict(self, X): + return self.model.predict(X) + +class RidgeRegressionWrapper: + def __init__(self, alpha=1.0): + self.model = Ridge(alpha=alpha) + + def fit(self, X, y): + self.model.fit(X, y) + + def predict(self, X): + return self.model.predict(X) +