Spaces:
Sleeping
Sleeping
Commit ·
c89b49b
1
Parent(s): 0fa83e9
update code
Browse files- .DS_Store +0 -0
- .gradio/flagged/ Load File MW CSV/02e6bf20c3336738e2c1/Samui_Load_202507171736.csv +0 -0
- .gradio/flagged/ Temperature File MaxTemp CSV/f29000ce64ba7a9a36ca/MAX_TEMP_BY_DAY_202507171739.csv +504 -0
- .gradio/flagged/dataset2.csv +2 -0
- app.py +7 -3
- models/forecast.py +4 -2
- utils/merge_data.py +21 -8
- utils/preprocessing.py +16 -13
.DS_Store
CHANGED
|
Binary files a/.DS_Store and b/.DS_Store differ
|
|
|
.gradio/flagged/ Load File MW CSV/02e6bf20c3336738e2c1/Samui_Load_202507171736.csv
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
.gradio/flagged/ Temperature File MaxTemp CSV/f29000ce64ba7a9a36ca/MAX_TEMP_BY_DAY_202507171739.csv
ADDED
|
@@ -0,0 +1,504 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
year,month,day,MaxTemp
|
| 2 |
+
2024,3,1,19.0232
|
| 3 |
+
2024,3,2,18.612
|
| 4 |
+
2024,3,3,18.8741
|
| 5 |
+
2024,3,4,18.8638
|
| 6 |
+
2024,3,5,19.2048
|
| 7 |
+
2024,3,6,18.891
|
| 8 |
+
2024,3,7,19.4797
|
| 9 |
+
2024,3,8,18.9621
|
| 10 |
+
2024,3,9,18.7149
|
| 11 |
+
2024,3,10,19.0214
|
| 12 |
+
2024,3,11,18.5273
|
| 13 |
+
2024,3,12,18.9358
|
| 14 |
+
2024,3,13,19.5971
|
| 15 |
+
2024,3,14,19.7679
|
| 16 |
+
2024,3,15,18.8543
|
| 17 |
+
2024,3,16,18.9771
|
| 18 |
+
2024,3,17,18.7447
|
| 19 |
+
2024,3,18,18.9183
|
| 20 |
+
2024,3,19,18.7628
|
| 21 |
+
2024,3,20,19.2341
|
| 22 |
+
2024,3,21,18.9056
|
| 23 |
+
2024,3,22,19.4762
|
| 24 |
+
2024,3,23,19.2018
|
| 25 |
+
2024,3,24,19.2111
|
| 26 |
+
2024,3,25,19.8333
|
| 27 |
+
2024,3,26,19.5255
|
| 28 |
+
2024,3,27,19.6389
|
| 29 |
+
2024,3,28,19.9148
|
| 30 |
+
2024,3,29,19.728
|
| 31 |
+
2024,3,30,20.1713
|
| 32 |
+
2024,3,31,20.0354
|
| 33 |
+
2024,4,1,20.037
|
| 34 |
+
2024,4,2,20.4825
|
| 35 |
+
2024,4,3,20.6726
|
| 36 |
+
2024,4,4,20.4526
|
| 37 |
+
2024,4,5,21.2545
|
| 38 |
+
2024,4,6,20.9674
|
| 39 |
+
2024,4,7,20.6755
|
| 40 |
+
2024,4,8,21.1742
|
| 41 |
+
2024,4,9,21.2685
|
| 42 |
+
2024,4,10,21.7292
|
| 43 |
+
2024,4,11,21.0331
|
| 44 |
+
2024,4,12,21.0622
|
| 45 |
+
2024,4,13,20.9177
|
| 46 |
+
2024,4,14,20.9047
|
| 47 |
+
2024,4,15,20.8135
|
| 48 |
+
2024,4,16,20.7047
|
| 49 |
+
2024,4,17,21.3285
|
| 50 |
+
2024,4,18,20.6
|
| 51 |
+
2024,4,19,21.1995
|
| 52 |
+
2024,4,20,21.3305
|
| 53 |
+
2024,4,21,21.6133
|
| 54 |
+
2024,4,22,22.1765
|
| 55 |
+
2024,4,23,21.6728
|
| 56 |
+
2024,4,24,21.9276
|
| 57 |
+
2024,4,25,21.7677
|
| 58 |
+
2024,4,26,22.5882
|
| 59 |
+
2024,4,27,22.0715
|
| 60 |
+
2024,4,28,22.2018
|
| 61 |
+
2024,4,29,22.5913
|
| 62 |
+
2024,4,30,22.3349
|
| 63 |
+
2024,5,1,22.5205
|
| 64 |
+
2024,5,2,22.8777
|
| 65 |
+
2024,5,3,22.8406
|
| 66 |
+
2024,5,4,22.9512
|
| 67 |
+
2024,5,5,22.75
|
| 68 |
+
2024,5,6,22.9212
|
| 69 |
+
2024,5,7,22.3235
|
| 70 |
+
2024,5,8,22.1857
|
| 71 |
+
2024,5,9,21.7068
|
| 72 |
+
2024,5,10,21.3361
|
| 73 |
+
2024,5,11,21.2877
|
| 74 |
+
2024,5,12,21.9644
|
| 75 |
+
2024,5,13,21.5385
|
| 76 |
+
2024,5,14,21.8107
|
| 77 |
+
2024,5,15,22.0213
|
| 78 |
+
2024,5,16,22.1477
|
| 79 |
+
2024,5,17,21.9981
|
| 80 |
+
2024,5,18,22.3135
|
| 81 |
+
2024,5,19,21.2259
|
| 82 |
+
2024,5,20,22.5297
|
| 83 |
+
2024,5,21,21.6
|
| 84 |
+
2024,5,22,22.2286
|
| 85 |
+
2024,5,23,22.0974
|
| 86 |
+
2024,5,24,22.3097
|
| 87 |
+
2024,5,25,22.0401
|
| 88 |
+
2024,5,26,21.4038
|
| 89 |
+
2024,5,27,22.8277
|
| 90 |
+
2024,5,28,22.1352
|
| 91 |
+
2024,5,29,22.1745
|
| 92 |
+
2024,5,30,22.0982
|
| 93 |
+
2024,5,31,22.1488
|
| 94 |
+
2024,6,1,21.5278
|
| 95 |
+
2024,6,2,21.0547
|
| 96 |
+
2024,6,3,21.5557
|
| 97 |
+
2024,6,4,21.4533
|
| 98 |
+
2024,6,5,21.2177
|
| 99 |
+
2024,6,6,21.7285
|
| 100 |
+
2024,6,7,21.8083
|
| 101 |
+
2024,6,8,21.7429
|
| 102 |
+
2024,6,9,20.6831
|
| 103 |
+
2024,6,10,19.9523
|
| 104 |
+
2024,6,11,20.5826
|
| 105 |
+
2024,6,12,20.8187
|
| 106 |
+
2024,6,13,20.9706
|
| 107 |
+
2024,6,14,21.0881
|
| 108 |
+
2024,6,15,21.3001
|
| 109 |
+
2024,6,16,21.8063
|
| 110 |
+
2024,6,17,20.4407
|
| 111 |
+
2024,6,18,20.8372
|
| 112 |
+
2024,6,19,21.6695
|
| 113 |
+
2024,6,20,20.68
|
| 114 |
+
2024,6,21,20.6463
|
| 115 |
+
2024,6,22,20.2246
|
| 116 |
+
2024,6,23,19.0565
|
| 117 |
+
2024,6,24,19.6214
|
| 118 |
+
2024,6,25,19.1639
|
| 119 |
+
2024,6,26,19.8807
|
| 120 |
+
2024,6,27,19.0742
|
| 121 |
+
2024,6,28,19.2886
|
| 122 |
+
2024,6,29,19.1014
|
| 123 |
+
2024,6,30,19.5274
|
| 124 |
+
2024,7,1,20.0451
|
| 125 |
+
2024,7,2,20.7081
|
| 126 |
+
2024,7,3,20.0453
|
| 127 |
+
2024,7,4,19.5101
|
| 128 |
+
2024,7,5,19.3184
|
| 129 |
+
2024,7,6,19.6034
|
| 130 |
+
2024,7,7,19.7735
|
| 131 |
+
2024,7,8,20.5715
|
| 132 |
+
2024,7,9,19.9321
|
| 133 |
+
2024,7,10,19.9143
|
| 134 |
+
2024,7,11,19.4883
|
| 135 |
+
2024,7,12,19.6154
|
| 136 |
+
2024,7,13,19.9989
|
| 137 |
+
2024,7,14,19.0369
|
| 138 |
+
2024,7,15,19.4584
|
| 139 |
+
2024,7,16,18.9481
|
| 140 |
+
2024,7,17,17.4187
|
| 141 |
+
2024,7,18,18.7566
|
| 142 |
+
2024,7,19,19.6097
|
| 143 |
+
2024,7,20,19.672
|
| 144 |
+
2024,7,21,18.914
|
| 145 |
+
2024,7,22,19.3636
|
| 146 |
+
2024,7,23,18.5778
|
| 147 |
+
2024,7,24,19.6462
|
| 148 |
+
2024,7,25,20.1048
|
| 149 |
+
2024,7,26,19.5165
|
| 150 |
+
2024,7,27,19.7892
|
| 151 |
+
2024,7,28,19.1515
|
| 152 |
+
2024,7,29,19.371
|
| 153 |
+
2024,7,30,20.0807
|
| 154 |
+
2024,7,31,20.3211
|
| 155 |
+
2024,8,1,20.3527
|
| 156 |
+
2024,8,2,21.2435
|
| 157 |
+
2024,8,3,20.2625
|
| 158 |
+
2024,8,4,19.5693
|
| 159 |
+
2024,8,5,20.7422
|
| 160 |
+
2024,8,6,19.7344
|
| 161 |
+
2024,8,7,20.6111
|
| 162 |
+
2024,8,8,20.6786
|
| 163 |
+
2024,8,9,20.2316
|
| 164 |
+
2024,8,10,20.4242
|
| 165 |
+
2024,8,11,20.7188
|
| 166 |
+
2024,8,12,20.8871
|
| 167 |
+
2024,8,13,20.3768
|
| 168 |
+
2024,8,14,19.8282
|
| 169 |
+
2024,8,15,20.6359
|
| 170 |
+
2024,8,16,20.5578
|
| 171 |
+
2024,8,17,20.6049
|
| 172 |
+
2024,8,18,20.8793
|
| 173 |
+
2024,8,19,21.4901
|
| 174 |
+
2024,8,20,21.3575
|
| 175 |
+
2024,8,21,21.4018
|
| 176 |
+
2024,8,22,21.851
|
| 177 |
+
2024,8,23,21.3726
|
| 178 |
+
2024,8,24,21.028
|
| 179 |
+
2024,8,25,20.0644
|
| 180 |
+
2024,8,26,20.1667
|
| 181 |
+
2024,8,27,20.3915
|
| 182 |
+
2024,8,28,20.1775
|
| 183 |
+
2024,8,29,19.9287
|
| 184 |
+
2024,8,30,20.2967
|
| 185 |
+
2024,8,31,20.6579
|
| 186 |
+
2024,9,1,20.5083
|
| 187 |
+
2024,9,2,20.4725
|
| 188 |
+
2024,9,3,19.983
|
| 189 |
+
2024,9,4,19.065
|
| 190 |
+
2024,9,5,19.1224
|
| 191 |
+
2024,9,6,19.3933
|
| 192 |
+
2024,9,7,18.9966
|
| 193 |
+
2024,9,8,19.2561
|
| 194 |
+
2024,9,9,19.5603
|
| 195 |
+
2024,9,10,20.4565
|
| 196 |
+
2024,9,11,19.91
|
| 197 |
+
2024,9,12,19.7954
|
| 198 |
+
2024,9,13,19.8005
|
| 199 |
+
2024,9,14,19.5365
|
| 200 |
+
2024,9,15,20.047
|
| 201 |
+
2024,9,16,18.8582
|
| 202 |
+
2024,9,17,19.031
|
| 203 |
+
2024,9,18,18.3894
|
| 204 |
+
2024,9,19,17.6527
|
| 205 |
+
2024,9,20,17.1122
|
| 206 |
+
2024,9,21,17.2649
|
| 207 |
+
2024,9,22,17.6337
|
| 208 |
+
2024,9,23,18.3336
|
| 209 |
+
2024,9,24,17.8626
|
| 210 |
+
2024,9,25,18.9511
|
| 211 |
+
2024,9,26,18.5857
|
| 212 |
+
2024,9,27,18.9795
|
| 213 |
+
2024,9,28,19.2632
|
| 214 |
+
2024,9,29,19.4033
|
| 215 |
+
2024,9,30,19.5045
|
| 216 |
+
2024,10,1,19.8561
|
| 217 |
+
2024,10,2,20.2628
|
| 218 |
+
2024,10,3,19.825
|
| 219 |
+
2024,10,4,20.3585
|
| 220 |
+
2024,10,5,19.8356
|
| 221 |
+
2024,10,6,20.06
|
| 222 |
+
2024,10,7,20.1624
|
| 223 |
+
2024,10,8,20.0363
|
| 224 |
+
2024,10,9,19.2724
|
| 225 |
+
2024,10,10,19.314
|
| 226 |
+
2024,10,11,18.7843
|
| 227 |
+
2024,10,12,19.2774
|
| 228 |
+
2024,10,13,19.1887
|
| 229 |
+
2024,10,14,19.174
|
| 230 |
+
2024,10,15,19.9084
|
| 231 |
+
2024,10,16,19.9837
|
| 232 |
+
2024,10,17,19.7428
|
| 233 |
+
2024,10,18,20.3179
|
| 234 |
+
2024,10,19,19.8807
|
| 235 |
+
2024,10,20,19.2464
|
| 236 |
+
2024,10,21,19.2617
|
| 237 |
+
2024,10,22,19.5542
|
| 238 |
+
2024,10,23,19.204
|
| 239 |
+
2024,10,24,18.4983
|
| 240 |
+
2024,10,25,18.3143
|
| 241 |
+
2024,10,26,18.6299
|
| 242 |
+
2024,10,27,18.5334
|
| 243 |
+
2024,10,28,18.4514
|
| 244 |
+
2024,10,29,18.4703
|
| 245 |
+
2024,10,30,18.6474
|
| 246 |
+
2024,10,31,19.3545
|
| 247 |
+
2024,11,1,19.1008
|
| 248 |
+
2024,11,2,18.5854
|
| 249 |
+
2024,11,3,18.402
|
| 250 |
+
2024,11,4,18.7528
|
| 251 |
+
2024,11,5,17.979
|
| 252 |
+
2024,11,6,17.6098
|
| 253 |
+
2024,11,7,18.3733
|
| 254 |
+
2024,11,8,18.022
|
| 255 |
+
2024,11,9,17.9039
|
| 256 |
+
2024,11,10,18.3958
|
| 257 |
+
2024,11,11,17.6875
|
| 258 |
+
2024,11,12,17.5211
|
| 259 |
+
2024,11,13,17.1317
|
| 260 |
+
2024,11,14,17.1759
|
| 261 |
+
2024,11,15,18.4031
|
| 262 |
+
2024,11,16,18.0314
|
| 263 |
+
2024,11,17,18.5273
|
| 264 |
+
2024,11,18,17.7862
|
| 265 |
+
2024,11,19,17.6859
|
| 266 |
+
2024,11,20,17.923
|
| 267 |
+
2024,11,21,18.2226
|
| 268 |
+
2024,11,22,18.5662
|
| 269 |
+
2024,11,23,18.1174
|
| 270 |
+
2024,11,24,17.4485
|
| 271 |
+
2024,11,25,17.2705
|
| 272 |
+
2024,11,26,17.1827
|
| 273 |
+
2024,11,27,17.6516
|
| 274 |
+
2024,11,28,17.6655
|
| 275 |
+
2024,11,29,17.6496
|
| 276 |
+
2024,11,30,17.1112
|
| 277 |
+
2024,12,1,16.5692
|
| 278 |
+
2024,12,2,16.5468
|
| 279 |
+
2024,12,3,15.9805
|
| 280 |
+
2024,12,4,16.3066
|
| 281 |
+
2024,12,5,15.9751
|
| 282 |
+
2024,12,6,16.7778
|
| 283 |
+
2024,12,7,16.5161
|
| 284 |
+
2024,12,8,15.7893
|
| 285 |
+
2024,12,9,15.9611
|
| 286 |
+
2024,12,10,16.0339
|
| 287 |
+
2024,12,11,16.374
|
| 288 |
+
2024,12,12,16.116
|
| 289 |
+
2024,12,13,16.6485
|
| 290 |
+
2024,12,14,15.269
|
| 291 |
+
2024,12,15,15.4699
|
| 292 |
+
2024,12,16,15.5515
|
| 293 |
+
2024,12,17,15.9659
|
| 294 |
+
2024,12,18,16.3422
|
| 295 |
+
2024,12,19,16.725
|
| 296 |
+
2024,12,20,17.2483
|
| 297 |
+
2024,12,21,17.2485
|
| 298 |
+
2024,12,22,16.0814
|
| 299 |
+
2024,12,23,15.5986
|
| 300 |
+
2024,12,24,16.4121
|
| 301 |
+
2024,12,25,15.6712
|
| 302 |
+
2024,12,26,16.274
|
| 303 |
+
2024,12,27,16.4474
|
| 304 |
+
2024,12,28,16.2663
|
| 305 |
+
2024,12,29,15.5243
|
| 306 |
+
2024,12,30,16.1223
|
| 307 |
+
2024,12,31,16.4763
|
| 308 |
+
2025,1,1,16.1751
|
| 309 |
+
2025,1,2,16.2393
|
| 310 |
+
2025,1,3,16.109
|
| 311 |
+
2025,1,4,16.5281
|
| 312 |
+
2025,1,5,15.977
|
| 313 |
+
2025,1,6,15.925
|
| 314 |
+
2025,1,7,16.3557
|
| 315 |
+
2025,1,8,16.609
|
| 316 |
+
2025,1,9,17.3577
|
| 317 |
+
2025,1,10,16.4632
|
| 318 |
+
2025,1,11,16.029
|
| 319 |
+
2025,1,12,15.5495
|
| 320 |
+
2025,1,13,15.9846
|
| 321 |
+
2025,1,14,15.5799
|
| 322 |
+
2025,1,15,15.6009
|
| 323 |
+
2025,1,16,15.0935
|
| 324 |
+
2025,1,17,15.6705
|
| 325 |
+
2025,1,18,15.7441
|
| 326 |
+
2025,1,19,15.2331
|
| 327 |
+
2025,1,20,15.305
|
| 328 |
+
2025,1,21,16.1735
|
| 329 |
+
2025,1,22,15.8891
|
| 330 |
+
2025,1,23,15.822
|
| 331 |
+
2025,1,24,16.67
|
| 332 |
+
2025,1,25,16.2097
|
| 333 |
+
2025,1,26,16.3083
|
| 334 |
+
2025,1,27,16.705
|
| 335 |
+
2025,1,28,16.1248
|
| 336 |
+
2025,1,29,15.6427
|
| 337 |
+
2025,1,30,15.3452
|
| 338 |
+
2025,1,31,15.6615
|
| 339 |
+
2025,2,1,15.7284
|
| 340 |
+
2025,2,2,16.8565
|
| 341 |
+
2025,2,3,16.2367
|
| 342 |
+
2025,2,4,16.1303
|
| 343 |
+
2025,2,5,16.5334
|
| 344 |
+
2025,2,6,16.5644
|
| 345 |
+
2025,2,7,16.3955
|
| 346 |
+
2025,2,8,16.7075
|
| 347 |
+
2025,2,9,16.4859
|
| 348 |
+
2025,2,10,16.6285
|
| 349 |
+
2025,2,11,16.9642
|
| 350 |
+
2025,2,12,16.3735
|
| 351 |
+
2025,2,13,16.5567
|
| 352 |
+
2025,2,14,16.9783
|
| 353 |
+
2025,2,15,16.7448
|
| 354 |
+
2025,2,16,17.0865
|
| 355 |
+
2025,2,17,17.609
|
| 356 |
+
2025,2,18,17.0086
|
| 357 |
+
2025,2,19,17.5353
|
| 358 |
+
2025,2,20,17.835
|
| 359 |
+
2025,2,21,17.7809
|
| 360 |
+
2025,2,22,17.1502
|
| 361 |
+
2025,2,23,16.7849
|
| 362 |
+
2025,2,24,17.1615
|
| 363 |
+
2025,2,25,17.0034
|
| 364 |
+
2025,2,26,15.9826
|
| 365 |
+
2025,2,27,17.0907
|
| 366 |
+
2025,2,28,16.8425
|
| 367 |
+
2025,3,1,16.9218
|
| 368 |
+
2025,3,2,17.1861
|
| 369 |
+
2025,3,3,17.5831
|
| 370 |
+
2025,3,4,17.7993
|
| 371 |
+
2025,3,5,17.0974
|
| 372 |
+
2025,3,6,17.3266
|
| 373 |
+
2025,3,7,18.5129
|
| 374 |
+
2025,3,8,18.0217
|
| 375 |
+
2025,3,9,18.1277
|
| 376 |
+
2025,3,10,17.503
|
| 377 |
+
2025,3,11,17.7772
|
| 378 |
+
2025,3,12,18.3153
|
| 379 |
+
2025,3,13,18.1879
|
| 380 |
+
2025,3,14,18.1087
|
| 381 |
+
2025,3,15,18.1211
|
| 382 |
+
2025,3,16,18.0639
|
| 383 |
+
2025,3,17,18.6859
|
| 384 |
+
2025,3,18,18.5845
|
| 385 |
+
2025,3,19,18.5279
|
| 386 |
+
2025,3,20,18.6516
|
| 387 |
+
2025,3,21,18.416
|
| 388 |
+
2025,3,22,18.4897
|
| 389 |
+
2025,3,23,18.7387
|
| 390 |
+
2025,3,24,18.2419
|
| 391 |
+
2025,3,25,18.4934
|
| 392 |
+
2025,3,26,18.6165
|
| 393 |
+
2025,3,27,18.818
|
| 394 |
+
2025,3,28,19.0032
|
| 395 |
+
2025,3,29,18.6945
|
| 396 |
+
2025,3,30,19.7996
|
| 397 |
+
2025,3,31,19.558
|
| 398 |
+
2025,4,1,19.1364
|
| 399 |
+
2025,4,2,18.6441
|
| 400 |
+
2025,4,3,18.4268
|
| 401 |
+
2025,4,4,18.4142
|
| 402 |
+
2025,4,5,18.6251
|
| 403 |
+
2025,4,6,18.8096
|
| 404 |
+
2025,4,7,19.2329
|
| 405 |
+
2025,4,8,19.2395
|
| 406 |
+
2025,4,9,20.0564
|
| 407 |
+
2025,4,10,19.9649
|
| 408 |
+
2025,4,11,20.0023
|
| 409 |
+
2025,4,12,20.108
|
| 410 |
+
2025,4,13,19.9217
|
| 411 |
+
2025,4,14,20.3082
|
| 412 |
+
2025,4,15,20.2786
|
| 413 |
+
2025,4,16,20.3467
|
| 414 |
+
2025,4,17,20.4018
|
| 415 |
+
2025,4,18,20.289
|
| 416 |
+
2025,4,19,21.1202
|
| 417 |
+
2025,4,20,20.5744
|
| 418 |
+
2025,4,21,20.9102
|
| 419 |
+
2025,4,22,20.8714
|
| 420 |
+
2025,4,23,21.0777
|
| 421 |
+
2025,4,24,20.8257
|
| 422 |
+
2025,4,25,21.0135
|
| 423 |
+
2025,4,26,20.9057
|
| 424 |
+
2025,4,27,20.6882
|
| 425 |
+
2025,4,28,21.0894
|
| 426 |
+
2025,4,29,21.4871
|
| 427 |
+
2025,4,30,21.0005
|
| 428 |
+
2025,5,1,21.5205
|
| 429 |
+
2025,5,2,21.1192
|
| 430 |
+
2025,5,3,21.2637
|
| 431 |
+
2025,5,4,20.9549
|
| 432 |
+
2025,5,5,21.3309
|
| 433 |
+
2025,5,6,21.1187
|
| 434 |
+
2025,5,7,20.8863
|
| 435 |
+
2025,5,8,21.1084
|
| 436 |
+
2025,5,9,21.0208
|
| 437 |
+
2025,5,10,20.8259
|
| 438 |
+
2025,5,11,21.2001
|
| 439 |
+
2025,5,12,20.8005
|
| 440 |
+
2025,5,13,21.3461
|
| 441 |
+
2025,5,14,20.8995
|
| 442 |
+
2025,5,15,20.407
|
| 443 |
+
2025,5,16,20.7056
|
| 444 |
+
2025,5,17,20.2595
|
| 445 |
+
2025,5,18,19.7436
|
| 446 |
+
2025,5,19,20.295
|
| 447 |
+
2025,5,20,20.2213
|
| 448 |
+
2025,5,21,20.7818
|
| 449 |
+
2025,5,22,20.8221
|
| 450 |
+
2025,5,23,20.4743
|
| 451 |
+
2025,5,24,20.5442
|
| 452 |
+
2025,5,25,20.1626
|
| 453 |
+
2025,5,26,20.6483
|
| 454 |
+
2025,5,27,20.44
|
| 455 |
+
2025,5,28,21.2855
|
| 456 |
+
2025,5,29,21.3208
|
| 457 |
+
2025,5,30,21.015
|
| 458 |
+
2025,5,31,20.6013
|
| 459 |
+
2025,6,1,20.2578
|
| 460 |
+
2025,6,2,20.9214
|
| 461 |
+
2025,6,3,20.3925
|
| 462 |
+
2025,6,4,21.2021
|
| 463 |
+
2025,6,5,20.8154
|
| 464 |
+
2025,6,6,20.5145
|
| 465 |
+
2025,6,7,20.3417
|
| 466 |
+
2025,6,8,20.5785
|
| 467 |
+
2025,6,9,20.5815
|
| 468 |
+
2025,6,10,20.2798
|
| 469 |
+
2025,6,11,19.9082
|
| 470 |
+
2025,6,12,20.1562
|
| 471 |
+
2025,6,13,19.5815
|
| 472 |
+
2025,6,14,20.0905
|
| 473 |
+
2025,6,15,20.3167
|
| 474 |
+
2025,6,16,20.7923
|
| 475 |
+
2025,6,17,19.92
|
| 476 |
+
2025,6,18,20.4543
|
| 477 |
+
2025,6,19,20.8143
|
| 478 |
+
2025,6,20,20.579
|
| 479 |
+
2025,6,21,20.4229
|
| 480 |
+
2025,6,22,19.7961
|
| 481 |
+
2025,6,23,19.1446
|
| 482 |
+
2025,6,24,19.2591
|
| 483 |
+
2025,6,25,19.2447
|
| 484 |
+
2025,6,26,19.2404
|
| 485 |
+
2025,6,27,19.4259
|
| 486 |
+
2025,6,28,19.5898
|
| 487 |
+
2025,6,29,19.2187
|
| 488 |
+
2025,6,30,19.686
|
| 489 |
+
2025,7,1,19.308
|
| 490 |
+
2025,7,2,19.4329
|
| 491 |
+
2025,7,3,19.1627
|
| 492 |
+
2025,7,4,19.4158
|
| 493 |
+
2025,7,5,19.532
|
| 494 |
+
2025,7,6,19.4917
|
| 495 |
+
2025,7,7,19.7972
|
| 496 |
+
2025,7,8,19.6314
|
| 497 |
+
2025,7,9,19.4692
|
| 498 |
+
2025,7,10,19.8476
|
| 499 |
+
2025,7,11,19.8505
|
| 500 |
+
2025,7,12,19.6295
|
| 501 |
+
2025,7,13,19.9509
|
| 502 |
+
2025,7,14,19.4724
|
| 503 |
+
2025,7,15,19.6658
|
| 504 |
+
2025,7,16,19.938
|
.gradio/flagged/dataset2.csv
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
|
|
|
| 1 |
+
📥 Load File (MW) CSV,🌡️ Temperature File (MaxTemp) CSV,Forecast Model,Regression Model,Forecast Horizon (days),ΔTemp (°C),📈 Forecast Load MW,📊 Simulated Load Limit,timestamp
|
| 2 |
+
.gradio/flagged/ Load File MW CSV/02e6bf20c3336738e2c1/Samui_Load_202507171736.csv,.gradio/flagged/ Temperature File MaxTemp CSV/f29000ce64ba7a9a36ca/MAX_TEMP_BY_DAY_202507171739.csv,BiLSTM,mlp,7,1,"{""headers"": [""Step"", ""Forecast Load MW""], ""data"": [[1, 109288087552], [2, 24474480640], [3, 12062349312], [4, -185244057600], [5, -50008150016], [6, -259188015104], [7, 31985971200]], ""metadata"": null}","{""headers"": [""MaxTemp"", ""mw_max"", ""MaxTemp_simulated"", ""Load_simulated""], ""data"": [[19.0232, 72.64, 20.0232, -2648369702.782929], [18.612, 73.09, 19.612, -2058821153.1751406], [18.8741, 74.23, 19.8741, -2434601004.4694114], [18.8638, 72.83, 19.8638, -2419833616.188871], [19.2048, 79.08, 20.2048, -2908734529.166131], [18.891, 69.7, 19.891, -2458830991.0656676], [19.4797, 80.54, 20.4797, -3302866086.284772], [18.9621, 72.03, 19.9621, -2560768982.011924], [18.7149, 71.14, 19.7149, -2206351663.27883], [19.0214, 74.8, 20.0214, -2645788994.151373], [18.5273, 72.25, 19.5273, -1937384474.7904823], [18.9358, 77.33, 19.9358, -2523061961.4509325], [19.5971, 85.27, 20.5971, -3471185638.1426454], [19.7679, 82.2, 20.7679, -3898069002.084642], [18.8543, 69.63, 19.8543, -2406213209.522324], [18.9771, 68.52, 19.9771, -2582274887.2749133], [18.7447, 65.65, 19.7447, -2249076728.4012146], [18.9183, 68.79, 19.9183, -2497971738.6441755], [18.7628, 72.13, 19.7628, -2275027187.4184804], [19.2341, 67.32, 20.2341, -2950742730.779742], [18.9056, 72.83, 19.9056, -2479763405.5215864], [19.4762, 69.62, 20.4762, -3297848041.7234406], [19.2018, 67.57, 20.2018, -2904433348.113566], [19.2111, 69.09, 20.2111, -2917767009.3765893], [19.8333, 70.99, 20.8333, -4064249183.2432103], [19.5255, 69.87, 20.5255, -3368530783.6875763], [19.6389, 69.35, 20.6389, -3531115427.475322], [19.9148, 68.79, 20.9148, -4271339164.3505445], [19.728, 69, 20.728, -3796683845.6897373], [20.1713, 70.27, 21.1713, -4923100884.032149], [20.0354, 68.31, 21.0354, -4577781516.762206], [20.037, 71.13, 21.037, -4581847086.943534], [20.4825, 69.52, 21.4825, -4656438756.966617], [20.6726, 68.8, 21.6726, -4459291473.829349], [20.4526, 69.46, 21.4526, -4687447193.399019], [21.2545, 69.47, 22.2545, -3803416521.902563], [20.9674, 68.47, 21.9674, -4149427137.2269907], [20.6755, 69.35, 21.6755, -4456283966.616842], [21.1742, 68.94, 22.1742, -3900193437.2998095], [21.2685, 68.93, 22.2685, -3786543834.286527], [21.7292, 68.84, 22.7292, -3403758925.6964607], [21.0331, 67.98, 22.0331, -4070246024.629243], [21.0622, 68.19, 22.0622, -4035174938.2274804], [20.9177, 64.42, 21.9177, -4205105260.799661], [20.9047, 67.74, 21.9047, -4218587189.6833143], [20.8135, 68.62, 21.8135, -4313168106.159455], [20.7047, 67.91, 21.7047, -4426001480.20121], [21.3285, 68.71, 22.3285, -3718217526.7597857], [20.6, 72.37, 21.6, -4534582861.287366], [21.1995, 68.27, 22.1995, -3869702080.393799], [21.3305, 70.24, 22.3305, -3716647980.4604545], [21.6133, 70.19, 22.6133, -3494714133.740474], [22.1765, 68.92, 23.1765, -2782209807.9946995], [21.6728, 72.3, 22.6728, -3448020131.3365088], [21.9276, 70.81, 22.9276, -3239925498.8868456], [21.7677, 70.95, 22.7677, -3372224020.619137], [22.5882, 69.66, 23.5882, -1133171973.7014816], [22.0715, 68.61, 23.0715, -3008092944.1807694], [22.2018, 69.17, 23.2018, -2727782728.513743], [22.5913, 71.12, 23.5913, -1119120016.2877626], [22.3349, 70.3, 23.3349, -2281352881.0877304], [22.5205, 69.99, 23.5205, -1440048592.0593321], [22.8777, 71.75, 23.8777, 179099533.16110054], [22.8406, 69.04, 23.8406, 10929333.14514243], [22.9512, 68.34, 23.9512, 512266910.5511306], [22.75, 69.79, 23.75, -399750454.49464214], [22.9212, 72.93, 23.9212, 376280225.90213376], [22.3235, 68.23, 23.3235, -2333027821.2543273], [22.1857, 65.38, 23.1857, -2762418142.7289214], [21.7068, 65.45, 22.7068, -3421337844.248504], [21.3361, 57.09, 22.3361, -3712253250.8224163], [21.2877, 59.55, 22.2877, -3763404148.4132514], [21.9644, 63.01, 22.9644, -3209477809.0823064], [21.5385, 56.4, 22.5385, -3553415165.333974], [21.8107, 63.52, 22.8107, -3336646556.988744], [22.0213, 64.56, 23.0213, -3116086595.9573364], [22.1477, 64.64, 23.1477, -2844166325.3486114], [21.9981, 61.81, 22.9981, -3165996012.714576], [22.3135, 64.15, 23.3135, -2378356716.1372766], [21.2259, 60.09, 22.2259, -3837885012.3179493], [22.5297, 63.61, 23.5297, -1398346008.7669938], [21.6, 67.38, 22.6, -3505151616.630701], [22.2286, 60.56, 23.2286, -2670128747.087241], [22.0974, 65.23, 23.0974, -2952375103.921509], [22.3097, 66.43, 23.3097, -2395581696.192835], [22.0401, 63.91, 23.0401, -3075642758.2401605], [21.4038, 62.03, 22.4038, -3659124108.5913243], [22.8277, 63.56, 23.8277, -47544941.2538186], [22.1352, 65.44, 23.1352, -2871057174.8945894], [22.1745, 65.82, 23.1745, -2786512343.9221015], [22.0982, 63.65, 23.0982, -2950654089.5506134], [22.1488, 64.7, 23.1488, -2841799930.5885367], [21.5278, 65.98, 22.5278, -3561812238.035198], [21.0547, 58.25, 22.0547, -4044213878.0217423], [21.5557, 62.05, 22.5557, -3539917067.160084], [21.4533, 63.61, 22.4533, -3620277837.6838427], [21.2177, 63.45, 22.2177, -3847767586.493002], [21.7285, 60.57, 22.7285, -3404308266.901193], [21.8083, 61.2, 22.8083, -3338632275.889064], [21.7429, 61.6, 22.7429, -3392743115.922155], [20.6831, 58.77, 21.6831, -4448402223.57714], [19.9523, 57.69, 20.9523, -4366625965.473629], [20.5826, 61.99, 21.5826, -4552627904.562421], [20.8187, 70.48, 21.8187, -4307775334.606009], [20.9706, 62.54, 21.9706, -4145570522.914795], [21.0881, 62.68, 22.0881, -4003960466.137961], [21.3001, 66.59, 22.3001, -3748459767.95336], [21.8063, 63.79, 22.8063, -3340287041.639321], [20.4407, 61.31, 21.4407, -4699788343.684878], [20.8372, 62.27, 21.8372, -4288589512.7331204], [21.6695, 63.55, 22.6695, -3450609882.7302985], [20.68, 68.46, 21.68, -4451617145.080181], [20.6463, 61.95, 21.6463, -4486566453.032474], [20.2246, 59.75, 21.2246, -4923899484.589556], [19.0565, 58.51, 20.0565, -2696112812.4666295], [19.6214, 59.62, 20.6214, -3506025204.66858], [19.1639, 63.6, 20.1639, -2850095094.1492133], [19.8807, 63.36, 20.8807, -4184691699.862751], [19.0742, 62.5, 20.0742, -2721489780.6769257], [19.2886, 64.55, 20.2886, -3028880853.2350616], [19.1014, 62.64, 20.1014, -2760487155.5536833], [19.5274, 58.15, 20.5274, -3371254865.020875], [20.0451, 62.68, 21.0451, -4602429035.986058], [20.7081, 4194.3, 21.7081, -4422475437.262413], [20.0453, 65.01, 21.0453, -4602937232.258748], [19.5101, 59.79, 20.5101, -3346451387.61761], [19.3184, 64.09, 20.3184, -3071605918.3574076], [19.6034, 63.82, 20.6034, -3480218118.353041], [19.7735, 65.96, 20.7735, -3912298497.719033], [20.5715, 65.45, 21.5715, -4564139397.686149], [19.9321, 63.44, 20.9321, -4315298141.935315], [19.9143, 63.9, 20.9143, -4270068673.668915], [19.4883, 60.24, 20.4883, -3315196138.6354823], [19.6154, 60.86, 20.6154, -3497422842.563419], [19.9989, 65.35, 20.9989, -4485035697.002514], [19.0369, 62.67, 20.0369, -2668011762.9230657], [19.4584, 61.28, 20.4584, -3272327700.81141], [18.9481, 61.26, 19.9481, -2540696803.766482], [17.4187, 50.56159744408946, 18.4187, -584694992.4711257], [18.7566, 51.545111821086266, 19.7566, -2266138079.909803], [19.6097, 52.52862619808307, 20.6097, -3489250598.563484], [19.672, 53.512140575079876, 20.672, -3646685604.3935385], [18.914, 54.49565495207668, 19.914, -2491806712.4687967], [19.3636, 55.479169329073486, 20.3636, -3136410379.549657], [18.5778, 56.46268370607029, 19.5778, -2009787689.1756427], [19.6462, 57.446198083067095, 20.6462, -3552996162.927796], [20.1048, 58.4297124600639, 21.1048, -4754125623.373954], [19.5165, 69, 20.5165, -3355627240.529811], [19.7892, 71.04, 20.7892, -3952191905.122506], [19.1515, 61.01, 20.1515, -2832316879.1318746], [19.371, 60.64, 20.371, -3147019959.4793897], [20.0807, 63.63, 21.0807, -4692887972.51889], [20.3211, 61.88, 21.3211, -4823822089.414582], [20.3527, 65.05, 21.3527, -4791050631.51275], [21.2435, 62.83, 22.2435, -3816673633.600795], [20.2625, 60.98035051546392, 21.2625, -4884594476.536342], [19.5693, 61.26538144329897, 20.5693, -3431328027.0553403], [20.7422, 61.55041237113402, 21.7422, -4387111300.729105], [19.7344, 61.835443298969075, 20.7344, -3812946126.4147215], [20.6111, 62.07, 21.6111, -4523071368.163599], [20.6786, 66.75, 21.6786, -4453069045.113809], [20.2316, 62.98, 21.2316, -4916639984.421364], [20.4242, 65.84, 21.4242, -4716900022.652628], [20.7188, 66.18, 21.7188, -4411378772.719677], [20.8871, 70.17, 21.8871, -4236839647.248873], [20.3768, 65.07, 21.3768, -4766057209.505345], [19.8282, 61.93, 20.8282, -4051290178.2904496], [20.6359, 65.21, 21.6359, -4497351996.139368], [20.5578, 65.25, 21.5578, -4578347276.586636], [20.6049, 62.18, 21.6049, -4529501211.169689], [20.8793, 65.66, 21.8793, -4244928804.579056], [21.4901, 64.54, 22.4901, -3591398185.7768774], [21.3575, 63.8, 22.3575, -3695459105.4199524], [21.4018, 65.57, 22.4018, -3660693654.890632], [21.851, 66.17, 22.851, -3303303027.1212626], [21.3726, 57.17, 22.3726, -3683609030.8602905], [21.028, 55.91, 22.028, -4076392503.6893344], [20.0644, 55.04, 21.0644, -4651469976.297411], [20.1667, 56.34, 21.1667, -4911412369.761011], [20.3915, 62.53, 21.3915, -4750812259.152254], [20.1775, 67.56, 21.1775, -4938854968.484445], [19.9287, 58.2, 20.9287, -4306658805.30018], [20.2967, 59.27, 21.2967, -4849126632.857805], [20.6579, 63.36, 21.6579, -4474536424.182432], [20.5083, 58.09, 21.5083, -4629682313.489844], [20.4725, 64.51, 21.4725, -4666809471.492504], [19.983, 57.07, 20.983, -4444634093.326312], [19.065, 56.44, 20.065, -2708299492.1156054], [19.1224, 63.02, 20.1224, -2790595422.921748], [19.3933, 64.51, 20.3933, -3178992071.9703465], [18.9966, 59.32, 19.9966, -2610232564.116664], [19.2561, 66.73, 20.2561, -2982284725.1653385], [19.5603, 62.12, 20.5603, -3418424483.8975906], [20.4565, 69.48, 21.4565, -4683402614.733971], [19.91, 62.32, 20.91, -4259142453.8068495], [19.7954, 63.2, 20.7954, -3967945989.574825], [19.8005, 64.01, 20.8005, -3980904994.527609], [19.5365, 60.33, 20.5365, -3384301780.8803906], [20.047, 55.12, 21.047, -4607256900.576335], [18.8582, 59.08, 19.8582, -2411804744.8907647], [19.031, 69.73, 20.031, -2659552773.5196624], [18.3894, 56.01, 19.3894, -1739673519.0732787], [17.6527, 56.13, 18.6527, -797142930.2871407], [17.1122, 52.44, 18.1122, -365700044.0057136], [17.2649, 53.57, 18.2649, -474804541.9850555], [17.6337, 55.77, 18.6337, -776545886.4078361], [18.3336, 65.62, 19.3336, -1659671551.4951687], [17.8626, 54.85, 18.8626, -1024686062.4062442], [18.9511, 62.78, 19.9511, -2544997984.8191094], [18.5857, 58.89, 19.5857, -2021114132.6141572], [18.9795, 60.56, 19.9795, -2585715832.116962], [19.2632, 60.82, 20.2632, -2992464186.989837], [19.4033, 57.96, 20.4033, -3193329342.1455503], [19.5045, 60.68, 20.5045, -3338422516.319473], [19.8561, 61.62, 20.8561, -4122183558.325964], [20.2628, 61.95, 21.2628, -4884283355.100601], [19.825, 60.66, 20.825, -4043159037.9279494], [20.3585, 58.85, 21.3585, -4785035617.087713], [19.8356, 57.28, 20.8356, -4070093440.3786936], [20.06, 57.36, 21.06, -4640289658.29893], [20.1624, 62.63, 21.1624, -4900486149.898907], [20.0363, 58.91, 21.0363, -4580068399.98923], [19.2724, 59.39, 20.2724, -3005654475.551095], [19.314, 56.3, 20.314, -3065297519.4802866], [18.7843, 57.51, 19.7843, -2305852318.2953424], [19.2774, 56.57, 20.2774, -3012823110.638693], [19.1887, 51.95, 20.1887, -2885651524.1839375], [19.174, 55.72495652173913, 20.174, -2864575737.0262294], [19.9084, 63.45, 20.9084, -4255076883.6255445], [19.9837, 65.7, 20.9837, -4446412780.280639], [19.7428, 61.94, 20.7428, -3834290369.866319], [20.3179, 59.4, 21.3179, -4827140718.062868], [19.8807, 60.95, 20.8807, -4184691699.862751], [19.2464, 55.8, 20.2464, -2968377573.0953226], [19.2617, 57.31, 20.2617, -2990313596.4634995], [19.5542, 66.34, 20.5542, -3409678749.0906243], [19.204, 54.72, 20.204, -2907587547.5520988], [18.4983, 48.91, 19.4983, -1895806391.282153], [18.3143, 53.65, 19.3143, -1632000620.0568318], [18.6299, 56.33, 19.6299, -2084484866.7888668], [18.5334, 57.34, 19.5334, -1946130209.5973704], [18.4514, 58.55, 19.4514, -1828564594.1600504], [18.4703, 59.74, 19.4703, -1855662034.7913868], [18.6474, 58.95, 19.6474, -2109575089.5956707], [19.3545, 60.36, 20.3545, -3123363463.6902194], [19.1008, 61.03, 20.1008, -2759626919.3431673], [18.5854, 57.08, 19.5854, -2020684014.5088992], [18.402, 55.06, 19.402, -1757738479.4940863], [18.7528, 50.35, 19.7528, -2260689917.2432137], [17.979, 52.91, 18.979, -1150870057.5403993], [17.6098, 52.25, 18.6098, -749409323.0944229], [18.3733, 59.22, 19.3733, -1716590514.0910697], [18.022, 49.56, 19.022, -1212922212.8332465], [17.9039, 51.21, 18.9039, -1069457531.4701035], [18.3958, 46.48, 19.3958, -1748849371.985456], [17.6875, 46.05, 18.6875, -834868042.2344787], [17.5211, 51.92, 18.5211, -657860025.8246194], [17.1317, 57.36, 18.1317, -379632838.4431779], [17.1759, 63.13, 18.1759, -411213839.168025], [18.4031, 60.81, 19.4031, -1759315579.2134545], [18.0314, 63.33, 19.0314, -1226399246.797989], [18.5273, 59.69, 19.5273, -1937384474.7904823], [17.7862, 58.73, 18.7862, -941864264.9126661], [17.6859, 60.02, 18.6859, -833133554.3288703], [17.923, 64.11, 18.923, -1090162980.8435352], [18.2226, 54.36, 19.2226, -1500527852.5495193], [18.5662, 57, 19.5662, -1993156455.772336], [18.1174, 57.54, 19.1174, -1349699770.3055077], [17.4485, 55.99, 18.4485, -605987160.3805925], [17.2705, 62.87, 18.2705, -478805754.74653155], [17.1827, 53.62, 18.1827, -416072454.66414213], [17.6516, 563000000000, 18.6516, -795950469.8520496], [17.6655, 50.67, 18.6655, -811018833.5321172], [17.6496, 53.18, 18.6496, -793782359.9699727], [17.1112, 52.84, 18.1112, -364985541.72686684], [16.5692, 53.92, 17.5692, 22274693.406058624], [16.5468, 55.47, 17.5468, 38279544.45213466], [15.9805, 53.75, 16.9805, -809176596.0290536], [16.3066, 60.5, 17.3066, -314030114.1539968], [15.9751, 52.96, 16.975099999999998, -804011998.929449], [16.7778, 57.34, 17.7778, -126770481.96058403], [16.5161, 58.19, 17.5161, 26908927.666451648], [15.7893, 56.13, 16.7893, -626311602.4269137], [15.9611, 54.78, 16.961100000000002, -790622302.7451632], [16.0339, 56.19, 17.0339, -810209490.8793029], [16.374, 57.98, 17.374, -204343758.93350285], [16.116, 52.74, 17.116, -659475895.0867743], [16.6485, 51.12, 17.6485, -34385337.30618049], [15.269, 47.52, 16.269, -499944438.61855024], [15.4699, 50.76, 16.469900000000003, -320835248.0517522], [15.5515, 50.78, 16.5515, -398878048.66860276], [15.9659, 62.75, 16.965899999999998, -795213055.7226572], [16.3422, 56.18, 17.3422, -256094887.9544444], [16.725, 59.1, 17.725, -89044761.63768941], [17.2483, 57.11, 18.2483, -462943804.1562499], [17.2485, 57.83, 18.2485, -463086704.6120286], [16.0814, 57.62, 17.0814, -723000650.4390626], [15.5986, 55.24, 16.598599999999998, -443924812.2599312], [16.4121, 63.86, 17.4121, -142340047.7480256], [15.6712, 57.18, 16.6712, -513359951.0440216], [16.274, 58.38, 17.274, -369391752.14857125], [16.4474, 61.77, 17.4474, -84893039.74674386], [16.2663, 55.98, 17.2663, -383528764.1778529], [15.5243, 54.42, 16.5243, -372863781.7963062], [16.1223, 60.33, 17.1223, -647909248.8809935], [16.4763, 61.81, 17.4763, -37861353.30949956], [16.1751, 59.6, 17.1751, -550969737.8231794], [16.2393, 59.98, 17.2393, -433100105.05974746], [16.109, 60.07, 17.109, -672327724.2042626], [16.5281, 59.44, 17.5281, 46437655.5988724], [15.977, 53.22, 16.977, -805829171.9830074], [15.925, 58.42, 16.925, -756096014.7271926], [16.3557, 59.3, 17.3557, -234125069.03043592], [16.609, 59.38, 17.609, -6162497.291859817], [17.3577, 65.7, 18.3577, -541110353.4616629], [16.4632, 61.31, 17.4632, -59180214.63568101], [16.029, 57.22, 17.029, -819205771.261583], [15.5495, 52.56, 16.549500000000002, -396965234.92796594], [15.9846, 54.28, 16.9846, -813097864.1973195], [15.5799, 57.91, 16.579900000000002, -426040003.7852142], [15.6009, 57.21, 16.6009, -446124548.0616077], [15.0935, 53.67, 16.0935, -974149174.0858811], [15.6705, 55.37, 16.6705, -512690466.23475456], [15.7441, 52.59, 16.7441, -583082011.8891828], [15.2331, 53.94, 16.2331, -596947002.7397844], [15.305, 57.15, 16.305, -402671672.36878145], [16.1735, 56.6, 17.1735, -553907298.7643154], [15.8891, 56.91, 16.8891, -721761008.0832694], [15.822, 59.34, 16.822, -657586107.0858462], [16.67, 64.25, 17.67, -49747136.301314786], [16.2097, 55.45, 17.2097, -487444982.470899], [16.3083, 60.92, 17.3083, -311263544.3635541], [16.705, 61.74, 17.705, -74754716.06080176], [16.1248, 61.3, 17.1248, -643319309.9104525], [15.6427, 59.98, 16.642699999999998, -486102355.2403084], [15.3452, 61.23, 16.3452, -294050416.72332233], [15.6615, 59.22, 16.6615, -504082804.4020569], [15.7284, 58.92, 16.7284, -568066424.0254015], [16.8565, 59.94, 17.8565, -183001811.3055339], [16.2367, 64.15, 17.2367, -437873641.5890748], [16.1303, 63.75, 17.1303, -633221444.175306], [16.5334, 64.2, 17.5334, 47853874.98860579], [16.5644, 65.33, 17.5644, 25704304.344497908], [16.3955, 62.66, 17.3955, -169354788.05456284], [16.7075, 64.68, 17.7075, -76540971.75791076], [16.4859, 62.61, 17.4859, -22238370.963541094], [16.6285, 61.66, 17.6285, -20095291.729355354], [16.9642, 60.53, 17.9642, -259953706.73690596], [16.3735, 60.39, 17.3735, -205157455.93069878], [16.5567, 65.36, 17.5567, 31205971.89156457], [16.9783, 64.66, 17.9783, -270028188.86860263], [16.7448, 64.71, 17.7448, -103191906.75874364], [17.0865, 64.04, 18.0865, -347337335.4394449], [17.609, 64.84, 18.609, -748435864.51465], [17.0086, 63.49, 18.0086, -291677607.91753966], [17.5353, 64.45, 18.5353, -668005958.1842133], [17.835, 62.79, 18.835, -994766146.0341829], [17.7809, 55.33, 18.7809, -936118773.7252924], [17.1502, 47.996511156186614, 18.1502, -392851130.6017173], [16.7849, 45.266450304259635, 17.7849, -131843448.14036141], [17.1615, 42.536389452332656, 18.1615, -400925006.3526603], [17.0034, 39.80632860040568, 18.0034, -287962196.0675664], [15.9826, 52.08, 16.982599999999998, -811185050.4567062], [17.0907, 59.71, 18.0907, -350338245.01055586], [16.8425, 60.47, 17.8425, -172998779.40171096], [16.9218, 59.413834586466166, 17.9218, -229658810.1140048], [17.1861, 60.68421052631579, 18.1861, -418501762.4122241], [17.5831, 63.8, 18.5831, -716920142.9962356], [17.7993, 63.07, 18.7993, -956065384.6399529], [17.0974, 64.73, 18.0974, -355125410.27886957], [17.3266, 64.89, 18.3266, -518889332.5896423], [18.5129, 64.42, 19.5129, -1916738805.7380168], [18.0217, 65.83, 19.0217, -1212492094.727996], [18.1277, 63.18, 19.1277, -1364467158.5859852], [17.503, 60.68, 18.503, -644927534.5775515], [17.7772, 64.4, 18.7772, -932107770.4435427], [18.3153, 66.36, 19.3153, -1633434347.074364], [18.1879, 64.38, 19.1879, -1450777525.0412865], [18.1087, 64.68, 19.1087, -1337226345.2529924], [18.1211, 68.61, 19.1211, -1355004560.2703075], [18.0639, 64.05, 19.0639, -1272995374.8677433], [18.6859, 64.74, 19.6859, -2164773579.7705398], [18.5845, 63.92, 19.5845, -2019393660.1931093], [18.5279, 62.61, 19.5279, -1938244711.0010142], [18.6516, 61.27, 19.6516, -2115596743.0692525], [18.416, 61.6, 19.416, -1777810657.7395046], [18.4897, 64.26, 19.4897, -1883476338.931388], [18.7387, 64.71, 19.7387, -2240474366.2960377], [18.2419, 64.35, 19.2419, -1528198783.9878092], [18.4934, 60.47009404388715, 19.4934, -1888781128.8962426], [18.6165, 60.009655172413794, 19.6165, -2065272924.7540429], [18.818, 59.549216300940444, 19.818, -2354168918.7860193], [19.0032, 59.088777429467086, 20.0032, -2619695162.4323964], [18.6945, 58.62833855799373, 19.6945, -2177103632.12125], [19.7996, 58.16789968652038, 20.7996, -3978618111.300639], [19.558, 66.29, 20.558, -3415126911.757276], [19.1364, 57.97, 20.1364, -2810667601.1671896], [18.6441, 56.14, 19.6441, -2104843790.437832], [18.4268, 58.68, 19.4268, -1793294909.5288653], [18.4142, 61.89, 19.4142, -1775229949.1079874], [18.6251, 62.38, 19.6251, -2077602977.1048002], [18.8096, 65.1, 19.8096, -2342125611.838778], [19.2329, 64.21, 20.2329, -2949022258.358686], [19.2395, 64.59, 20.2395, -2958484856.6744184], [20.0564, 50.32, 21.0564, -4631142125.391122], [19.9649, 51.67156133828996, 20.9649, -4398642330.650948], [20.0023, 53.48568773234201, 21.0023, -4493675033.637625], [20.108, 55.299814126394054, 21.108, -4762256763.736445], [19.9217, 57.1139405204461, 20.9217, -4288871935.7572136], [20.3082, 58.928066914498146, 21.3082, -4837200311.153], [20.2786, 60.742193308550185, 21.2786, -4867897626.149662], [20.3467, 62.55631970260223, 21.3467, -4797273060.228306], [20.4018, 64.64, 21.4018, -4740130423.190658], [20.289, 64.01, 21.289, -4857112083.042697], [21.1202, 63.6, 22.1202, -3965273803.818503], [20.5744, 64.66, 21.5744, -4561131890.473658], [20.9102, 64.09, 21.9102, -4212883296.694049], [20.8714, 65.36, 21.8714, -4253121669.0545216], [21.0777, 64.14, 22.0777, -4016494462.652691], [20.8257, 65.74, 21.8257, -4300515834.437887], [21.0135, 65.41, 22.0135, -4093867787.291575], [20.9057, 64.43, 21.9057, -4217550118.2307024], [20.6882, 63.1, 21.6882, -4443113159.168928], [21.0894, 64.85, 22.0894, -4002393716.573676], [21.4871, 64.14, 22.4871, -3593752505.2257805], [21.0005, 65.12, 22.0005, -4109535282.934999], [21.5205, 65.34, 22.5205, -3567541082.027603], [21.1192, 65.01, 22.1192, -3966478995.7910523], [21.2637, 60.8, 22.2637, -3792328755.7548366], [20.9549, 63.71, 21.9549, -4164492036.8841166], [21.3309, 66.51, 22.3309, -3716334071.2006006], [21.1187, 61.19, 22.1187, -3967081591.7773585], [20.8863, 61.027760416666666, 21.8863, -4237669304.4109583], [21.1084, 64.18, 22.1084, -3979495069.0948224], [21.0208, 64.93, 22.0208, -4085069885.891853], [20.8259, 62.89, 21.8259, -4300308420.147337], [21.2001, 65.01, 22.2001, -3868978965.2101955], [20.8005, 58.058749999999996, 21.8005, -4326650035.043133], [21.3461, 63.08, 22.3461, -3704405519.325979], [20.8995, 59.60673913043478, 21.8995, -4223979961.2367773], [20.407, 56.7, 21.407, -4734737651.637172], [20.7056, 54.03822784810127, 21.7056, -4425068115.89392], [20.2595, 53.63, 21.2595, -4887705690.8941]], ""metadata"": null}",2025-07-18 10:24:00.851641
|
app.py
CHANGED
|
@@ -8,7 +8,7 @@ import os
|
|
| 8 |
import numpy as np
|
| 9 |
|
| 10 |
from utils.preprocessing import preprocess_load_data, preprocess_temperature_data
|
| 11 |
-
from utils.merge_data import merge_load_temp
|
| 12 |
from models.forecast import TimeSeriesForecaster
|
| 13 |
from models.regression import LoadLimitRegressor
|
| 14 |
from utils.simulate import simulate_with_model
|
|
@@ -37,9 +37,13 @@ def forecast_ui(load_file, temp_file,
|
|
| 37 |
# 2. preprocess
|
| 38 |
df_load = preprocess_load_data(df_load_raw)
|
| 39 |
df_temp = preprocess_temperature_data(df_temp_raw)
|
|
|
|
|
|
|
|
|
|
| 40 |
|
| 41 |
-
# 3. merge
|
| 42 |
-
|
|
|
|
| 43 |
|
| 44 |
# 4. สร้างและ train forecasting model (forecast max load)
|
| 45 |
forecast_model = TimeSeriesForecaster(model_type=forecast_model_type, horizon=forecast_horizon)
|
|
|
|
| 8 |
import numpy as np
|
| 9 |
|
| 10 |
from utils.preprocessing import preprocess_load_data, preprocess_temperature_data
|
| 11 |
+
from utils.merge_data import aggregate_daily_max, merge_load_temp
|
| 12 |
from models.forecast import TimeSeriesForecaster
|
| 13 |
from models.regression import LoadLimitRegressor
|
| 14 |
from utils.simulate import simulate_with_model
|
|
|
|
| 37 |
# 2. preprocess
|
| 38 |
df_load = preprocess_load_data(df_load_raw)
|
| 39 |
df_temp = preprocess_temperature_data(df_temp_raw)
|
| 40 |
+
|
| 41 |
+
print("df_load:", df_load)
|
| 42 |
+
print("df_temp:", df_temp)
|
| 43 |
|
| 44 |
+
# 3. aggregate และ merge
|
| 45 |
+
df_daily = aggregate_daily_max(df_load) # ✅ ต้องสรุป daily ก่อน
|
| 46 |
+
df_merged = merge_load_temp(df_daily, df_temp) # ✅ ถึงจะ merge ได้
|
| 47 |
|
| 48 |
# 4. สร้างและ train forecasting model (forecast max load)
|
| 49 |
forecast_model = TimeSeriesForecaster(model_type=forecast_model_type, horizon=forecast_horizon)
|
models/forecast.py
CHANGED
|
@@ -33,7 +33,8 @@ class TimeSeriesForecaster:
|
|
| 33 |
"""
|
| 34 |
if self.model_type in ['PatchTST', 'LSTM', 'BiLSTM', 'GRU', 'RNN']:
|
| 35 |
X, y = self.preprocess(df, value_col)
|
| 36 |
-
|
|
|
|
| 37 |
if self.model_type == 'PatchTST':
|
| 38 |
self.model = PatchTST(self.dls.vars, self.dls.len, self.dls.c)
|
| 39 |
elif self.model_type == 'LSTM':
|
|
@@ -66,7 +67,8 @@ class TimeSeriesForecaster:
|
|
| 66 |
future_steps = self.horizon
|
| 67 |
|
| 68 |
if self.model_type in ['PatchTST', 'LSTM', 'BiLSTM', 'GRU', 'RNN']:
|
| 69 |
-
|
|
|
|
| 70 |
pred = self.learn.model(x_last).detach().cpu().numpy().flatten()
|
| 71 |
pred = self.scaler.inverse_transform(pred.reshape(-1, 1)).flatten()
|
| 72 |
return pred[:future_steps]
|
|
|
|
| 33 |
"""
|
| 34 |
if self.model_type in ['PatchTST', 'LSTM', 'BiLSTM', 'GRU', 'RNN']:
|
| 35 |
X, y = self.preprocess(df, value_col)
|
| 36 |
+
splits = get_splits(y, valid_size=0.2, shuffle=False)
|
| 37 |
+
self.dls = get_ts_dls(X, y, bs=32, splits=splits)
|
| 38 |
if self.model_type == 'PatchTST':
|
| 39 |
self.model = PatchTST(self.dls.vars, self.dls.len, self.dls.c)
|
| 40 |
elif self.model_type == 'LSTM':
|
|
|
|
| 67 |
future_steps = self.horizon
|
| 68 |
|
| 69 |
if self.model_type in ['PatchTST', 'LSTM', 'BiLSTM', 'GRU', 'RNN']:
|
| 70 |
+
device = next(self.learn.model.parameters()).device # 👈 เอา device ที่โมเดลอยู่
|
| 71 |
+
x_last = torch.tensor(self.dls.items[-1][None, :]).to(device) # 👈 ย้าย input ไป device เดียวกัน
|
| 72 |
pred = self.learn.model(x_last).detach().cpu().numpy().flatten()
|
| 73 |
pred = self.scaler.inverse_transform(pred.reshape(-1, 1)).flatten()
|
| 74 |
return pred[:future_steps]
|
utils/merge_data.py
CHANGED
|
@@ -1,31 +1,44 @@
|
|
| 1 |
-
# utils/merge_data.py
|
| 2 |
import pandas as pd
|
| 3 |
|
| 4 |
def aggregate_daily_max(df_load_15min: pd.DataFrame) -> pd.DataFrame:
|
| 5 |
"""
|
| 6 |
-
จากข้อมูล
|
| 7 |
"""
|
| 8 |
df = df_load_15min.copy()
|
| 9 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 10 |
df_daily = df.groupby('date')['mw'].agg(['max', 'mean']).reset_index()
|
| 11 |
df_daily = df_daily.rename(columns={'max': 'mw_max', 'mean': 'mw_mean'})
|
| 12 |
return df_daily
|
| 13 |
|
|
|
|
| 14 |
def merge_load_temp(df_daily_load: pd.DataFrame, df_temp: pd.DataFrame) -> pd.DataFrame:
|
| 15 |
"""
|
| 16 |
-
รวม
|
| 17 |
-
df_temp ต้องมีคอลัมน์ 'date' ที่เป็น datetime64[ns] หรือ datetime.date
|
| 18 |
"""
|
| 19 |
df_temp = df_temp.copy()
|
| 20 |
-
|
|
|
|
| 21 |
if 'date' not in df_temp.columns:
|
| 22 |
-
|
|
|
|
|
|
|
|
|
|
| 23 |
|
| 24 |
-
#
|
|
|
|
|
|
|
|
|
|
| 25 |
|
|
|
|
| 26 |
df_merged = pd.merge(df_daily_load, df_temp[['date', 'MaxTemp']], on='date', how='inner')
|
| 27 |
return df_merged
|
| 28 |
|
|
|
|
| 29 |
# ตัวอย่างใช้
|
| 30 |
if __name__ == '__main__':
|
| 31 |
load_fp = 'load_15min.csv'
|
|
|
|
|
|
|
| 1 |
import pandas as pd
|
| 2 |
|
| 3 |
def aggregate_daily_max(df_load_15min: pd.DataFrame) -> pd.DataFrame:
|
| 4 |
"""
|
| 5 |
+
จากข้อมูลโหลด 15 นาที หาค่าสูงสุดต่อวัน และค่าเฉลี่ย
|
| 6 |
"""
|
| 7 |
df = df_load_15min.copy()
|
| 8 |
+
|
| 9 |
+
# datetime ต้องเป็น datetime64 ก่อน
|
| 10 |
+
if not pd.api.types.is_datetime64_any_dtype(df['datetime']):
|
| 11 |
+
df['datetime'] = pd.to_datetime(df['datetime'])
|
| 12 |
+
|
| 13 |
+
df['date'] = df['datetime'].dt.date # datetime.date type
|
| 14 |
df_daily = df.groupby('date')['mw'].agg(['max', 'mean']).reset_index()
|
| 15 |
df_daily = df_daily.rename(columns={'max': 'mw_max', 'mean': 'mw_mean'})
|
| 16 |
return df_daily
|
| 17 |
|
| 18 |
+
|
| 19 |
def merge_load_temp(df_daily_load: pd.DataFrame, df_temp: pd.DataFrame) -> pd.DataFrame:
|
| 20 |
"""
|
| 21 |
+
รวม daily load กับอุณหภูมิ โดยใช้ 'date' เป็น key
|
|
|
|
| 22 |
"""
|
| 23 |
df_temp = df_temp.copy()
|
| 24 |
+
|
| 25 |
+
# สร้าง date ถ้ายังไม่มี
|
| 26 |
if 'date' not in df_temp.columns:
|
| 27 |
+
if {'year', 'month', 'day'}.issubset(df_temp.columns):
|
| 28 |
+
df_temp['date'] = pd.to_datetime(df_temp[['year', 'month', 'day']]).dt.date
|
| 29 |
+
else:
|
| 30 |
+
raise ValueError("❌ df_temp ไม่มีคอลัมน์ 'date' หรือ [year, month, day]")
|
| 31 |
|
| 32 |
+
# ตรวจสอบชนิดข้อมูล date ให้เหมือนกันทั้งสองฝั่ง
|
| 33 |
+
if df_daily_load['date'].dtype != df_temp['date'].dtype:
|
| 34 |
+
df_temp['date'] = pd.to_datetime(df_temp['date']).dt.date
|
| 35 |
+
df_daily_load['date'] = pd.to_datetime(df_daily_load['date']).dt.date
|
| 36 |
|
| 37 |
+
# Merge
|
| 38 |
df_merged = pd.merge(df_daily_load, df_temp[['date', 'MaxTemp']], on='date', how='inner')
|
| 39 |
return df_merged
|
| 40 |
|
| 41 |
+
|
| 42 |
# ตัวอย่างใช้
|
| 43 |
if __name__ == '__main__':
|
| 44 |
load_fp = 'load_15min.csv'
|
utils/preprocessing.py
CHANGED
|
@@ -3,34 +3,37 @@ import pandas as pd
|
|
| 3 |
|
| 4 |
def preprocess_load_data(df_load: pd.DataFrame) -> pd.DataFrame:
|
| 5 |
"""
|
| 6 |
-
รับ DataFrame load ดิบ แปลง datetime, sort, resample 15 นาที เติม missing
|
| 7 |
"""
|
| 8 |
df_load = df_load.copy()
|
| 9 |
|
| 10 |
-
# ล
|
| 11 |
df_load.columns = df_load.columns.str.strip()
|
| 12 |
|
| 13 |
-
# รวม date + time เป็น datetime
|
| 14 |
-
|
|
|
|
| 15 |
|
| 16 |
-
#
|
|
|
|
|
|
|
|
|
|
|
|
|
| 17 |
df_load = df_load.drop(columns=['date', 'time'])
|
| 18 |
|
| 19 |
-
# Sort
|
| 20 |
df_load = df_load.sort_values('datetime').set_index('datetime')
|
| 21 |
|
| 22 |
-
#
|
| 23 |
-
start = df_load.index.min().
|
| 24 |
-
end = df_load.index.max().
|
| 25 |
full_idx = pd.date_range(start=start, end=end, freq='15T')
|
| 26 |
|
| 27 |
-
# Reindex
|
| 28 |
df_load = df_load.reindex(full_idx)
|
| 29 |
-
|
| 30 |
-
# เติม missing ด้วย linear interpolation แล้ว forward fill / back fill อีกที
|
| 31 |
df_load['mw'] = df_load['mw'].interpolate(method='time').fillna(method='ffill').fillna(method='bfill')
|
| 32 |
|
| 33 |
-
# Reset index
|
| 34 |
df_load = df_load.reset_index().rename(columns={'index': 'datetime'})
|
| 35 |
|
| 36 |
return df_load
|
|
|
|
| 3 |
|
| 4 |
def preprocess_load_data(df_load: pd.DataFrame) -> pd.DataFrame:
|
| 5 |
"""
|
| 6 |
+
รับ DataFrame load ดิบ แปลง datetime จาก 'd/m/yyyy', sort, resample 15 นาที เติม missing
|
| 7 |
"""
|
| 8 |
df_load = df_load.copy()
|
| 9 |
|
| 10 |
+
# ล้างชื่อคอลัมน์
|
| 11 |
df_load.columns = df_load.columns.str.strip()
|
| 12 |
|
| 13 |
+
# รวม date + time เป็น datetime — ฟอร์แมต d/m/yyyy รองรับด้วย dayfirst=True
|
| 14 |
+
datetime_str = df_load['date'].astype(str) + ' ' + df_load['time'].astype(str)
|
| 15 |
+
df_load['datetime'] = pd.to_datetime(datetime_str, dayfirst=True, errors='coerce')
|
| 16 |
|
| 17 |
+
# เช็คพวก parse ไม่ได้
|
| 18 |
+
if df_load['datetime'].isna().any():
|
| 19 |
+
raise ValueError("❌ บางแถวแปลง datetime ไม่ได้ — ตรวจ format 'date' กับ 'time' ให้ชัวร์ว่าเป็น d/m/yyyy!")
|
| 20 |
+
|
| 21 |
+
# ทิ้ง date, time เดิม
|
| 22 |
df_load = df_load.drop(columns=['date', 'time'])
|
| 23 |
|
| 24 |
+
# Sort & set index
|
| 25 |
df_load = df_load.sort_values('datetime').set_index('datetime')
|
| 26 |
|
| 27 |
+
# เตรียมช่วงเวลา 15 นาที
|
| 28 |
+
start = df_load.index.min().floor('D')
|
| 29 |
+
end = df_load.index.max().ceil('D')
|
| 30 |
full_idx = pd.date_range(start=start, end=end, freq='15T')
|
| 31 |
|
| 32 |
+
# Reindex + fill
|
| 33 |
df_load = df_load.reindex(full_idx)
|
|
|
|
|
|
|
| 34 |
df_load['mw'] = df_load['mw'].interpolate(method='time').fillna(method='ffill').fillna(method='bfill')
|
| 35 |
|
| 36 |
+
# Reset index
|
| 37 |
df_load = df_load.reset_index().rename(columns={'index': 'datetime'})
|
| 38 |
|
| 39 |
return df_load
|