├── CAMB-algorithms.ipynb
├── ElasticNet+SARIMA.ipynb
├── README.md
├── SVM+SARIMA.ipynb
├── classic-machine-learning-algorithms.ipynb
├── data.xlsx
├── neural-network-algorithms.ipynb
└── time-series-analysis-algorithms.ipynb
/CAMB-algorithms.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "code",
5 | "execution_count": 1,
6 | "metadata": {},
7 | "outputs": [],
8 | "source": [
9 | "import numpy as np\n",
10 | "import matplotlib.pyplot as plt\n",
11 | "import pandas as pd\n",
12 | "from sklearn.metrics import mean_squared_error\n",
13 | "from sklearn.metrics import mean_absolute_error\n",
14 | "import statsmodels.api as sm\n",
15 | "%matplotlib inline\n",
16 | "plt.style.use('fivethirtyeight')"
17 | ]
18 | },
19 | {
20 | "cell_type": "code",
21 | "execution_count": 2,
22 | "metadata": {},
23 | "outputs": [
24 | {
25 | "data": {
26 | "text/html": [
27 | "
\n",
28 | "\n",
41 | "
\n",
42 | " \n",
43 | " \n",
44 | " | \n",
45 | " 年 | \n",
46 | " 月 | \n",
47 | " ASPL | \n",
48 | " BME | \n",
49 | " BASPL | \n",
50 | " BLD | \n",
51 | " BLW | \n",
52 | " BJ | \n",
53 | " JN | \n",
54 | " LBL | \n",
55 | " SN | \n",
56 | " TJ | \n",
57 | " ST | \n",
58 | " SX | \n",
59 | " XMD | \n",
60 | " YXX | \n",
61 | "
\n",
62 | " \n",
63 | " \n",
64 | " \n",
65 | " 55 | \n",
66 | " 2019 | \n",
67 | " 8 | \n",
68 | " 3.763248e+06 | \n",
69 | " 62854.619304 | \n",
70 | " 8.599843e+07 | \n",
71 | " 1.650015e+08 | \n",
72 | " 3.481067e+08 | \n",
73 | " 1.060927e+06 | \n",
74 | " 2.359482e+06 | \n",
75 | " 13219.096853 | \n",
76 | " 6.456187e+05 | \n",
77 | " 1.758874e+08 | \n",
78 | " 2.961155e+07 | \n",
79 | " 1.949292e+07 | \n",
80 | " 56728.894684 | \n",
81 | " 107392.856432 | \n",
82 | "
\n",
83 | " \n",
84 | " 56 | \n",
85 | " 2019 | \n",
86 | " 9 | \n",
87 | " 4.294952e+06 | \n",
88 | " 51559.590738 | \n",
89 | " 1.052790e+08 | \n",
90 | " 1.811433e+08 | \n",
91 | " 4.621942e+08 | \n",
92 | " 1.135383e+06 | \n",
93 | " 2.416740e+06 | \n",
94 | " 224849.311140 | \n",
95 | " 1.233509e+06 | \n",
96 | " 2.395380e+08 | \n",
97 | " 3.489288e+07 | \n",
98 | " 2.116995e+07 | \n",
99 | " 26868.589363 | \n",
100 | " 227671.344996 | \n",
101 | "
\n",
102 | " \n",
103 | " 57 | \n",
104 | " 2019 | \n",
105 | " 10 | \n",
106 | " 2.835714e+06 | \n",
107 | " 31933.698695 | \n",
108 | " 8.023482e+07 | \n",
109 | " 1.674704e+08 | \n",
110 | " 3.022591e+08 | \n",
111 | " 1.023727e+06 | \n",
112 | " 2.074879e+06 | \n",
113 | " 32356.283055 | \n",
114 | " 4.381713e+05 | \n",
115 | " 1.561968e+08 | \n",
116 | " 2.178650e+07 | \n",
117 | " 1.655320e+07 | \n",
118 | " 32469.492085 | \n",
119 | " 134291.930366 | \n",
120 | "
\n",
121 | " \n",
122 | " 58 | \n",
123 | " 2019 | \n",
124 | " 11 | \n",
125 | " 3.188248e+06 | \n",
126 | " 42248.757526 | \n",
127 | " 9.053573e+07 | \n",
128 | " 1.624495e+08 | \n",
129 | " 2.918764e+08 | \n",
130 | " 1.297557e+06 | \n",
131 | " 2.163609e+06 | \n",
132 | " 136809.701451 | \n",
133 | " 8.436577e+05 | \n",
134 | " 1.604672e+08 | \n",
135 | " 2.843713e+07 | \n",
136 | " 1.799922e+07 | \n",
137 | " 30197.836641 | \n",
138 | " 201416.711500 | \n",
139 | "
\n",
140 | " \n",
141 | " 59 | \n",
142 | " 2019 | \n",
143 | " 12 | \n",
144 | " 4.437618e+06 | \n",
145 | " 67250.974962 | \n",
146 | " 1.034565e+08 | \n",
147 | " 1.545455e+08 | \n",
148 | " 2.355498e+08 | \n",
149 | " 1.336709e+06 | \n",
150 | " 2.369512e+06 | \n",
151 | " 246160.303870 | \n",
152 | " 6.326834e+05 | \n",
153 | " 1.424411e+08 | \n",
154 | " 2.360613e+07 | \n",
155 | " 1.968310e+07 | \n",
156 | " 20921.125742 | \n",
157 | " 157548.075168 | \n",
158 | "
\n",
159 | " \n",
160 | "
\n",
161 | "
"
162 | ],
163 | "text/plain": [
164 | " 年 月 ASPL BME BASPL BLD \\\n",
165 | "55 2019 8 3.763248e+06 62854.619304 8.599843e+07 1.650015e+08 \n",
166 | "56 2019 9 4.294952e+06 51559.590738 1.052790e+08 1.811433e+08 \n",
167 | "57 2019 10 2.835714e+06 31933.698695 8.023482e+07 1.674704e+08 \n",
168 | "58 2019 11 3.188248e+06 42248.757526 9.053573e+07 1.624495e+08 \n",
169 | "59 2019 12 4.437618e+06 67250.974962 1.034565e+08 1.545455e+08 \n",
170 | "\n",
171 | " BLW BJ JN LBL SN \\\n",
172 | "55 3.481067e+08 1.060927e+06 2.359482e+06 13219.096853 6.456187e+05 \n",
173 | "56 4.621942e+08 1.135383e+06 2.416740e+06 224849.311140 1.233509e+06 \n",
174 | "57 3.022591e+08 1.023727e+06 2.074879e+06 32356.283055 4.381713e+05 \n",
175 | "58 2.918764e+08 1.297557e+06 2.163609e+06 136809.701451 8.436577e+05 \n",
176 | "59 2.355498e+08 1.336709e+06 2.369512e+06 246160.303870 6.326834e+05 \n",
177 | "\n",
178 | " TJ ST SX XMD YXX \n",
179 | "55 1.758874e+08 2.961155e+07 1.949292e+07 56728.894684 107392.856432 \n",
180 | "56 2.395380e+08 3.489288e+07 2.116995e+07 26868.589363 227671.344996 \n",
181 | "57 1.561968e+08 2.178650e+07 1.655320e+07 32469.492085 134291.930366 \n",
182 | "58 1.604672e+08 2.843713e+07 1.799922e+07 30197.836641 201416.711500 \n",
183 | "59 1.424411e+08 2.360613e+07 1.968310e+07 20921.125742 157548.075168 "
184 | ]
185 | },
186 | "execution_count": 2,
187 | "metadata": {},
188 | "output_type": "execute_result"
189 | }
190 | ],
191 | "source": [
192 | "#读取数据 \n",
193 | "data=pd.read_excel('data.xlsx') \n",
194 | "data=data.iloc[:,:]\n",
195 | "choose='BASPL'#选取这一列\n",
196 | "data.tail()"
197 | ]
198 | },
199 | {
200 | "cell_type": "code",
201 | "execution_count": 3,
202 | "metadata": {},
203 | "outputs": [
204 | {
205 | "data": {
206 | "text/plain": [
207 | "Text(0.5, 1.0, 'BASPL')"
208 | ]
209 | },
210 | "execution_count": 3,
211 | "metadata": {},
212 | "output_type": "execute_result"
213 | },
214 | {
215 | "data": {
216 | "image/png": "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\n",
217 | "text/plain": [
218 | ""
219 | ]
220 | },
221 | "metadata": {
222 | "needs_background": "light"
223 | },
224 | "output_type": "display_data"
225 | }
226 | ],
227 | "source": [
228 | "#展示一下看看\n",
229 | "data=data[choose]\n",
230 | "plt.figure(figsize=(12,6))\n",
231 | "plt.plot(data)\n",
232 | "#plt.grid()\n",
233 | "plt.title(choose,fontsize='15') #添加标题"
234 | ]
235 | },
236 | {
237 | "cell_type": "code",
238 | "execution_count": 4,
239 | "metadata": {},
240 | "outputs": [
241 | {
242 | "data": {
243 | "text/html": [
244 | "\n",
245 | "\n",
258 | "
\n",
259 | " \n",
260 | " \n",
261 | " | \n",
262 | " 0 | \n",
263 | " 1 | \n",
264 | " 2 | \n",
265 | " 3 | \n",
266 | " 4 | \n",
267 | " 5 | \n",
268 | " 6 | \n",
269 | " 7 | \n",
270 | " 8 | \n",
271 | " 9 | \n",
272 | " 10 | \n",
273 | " 11 | \n",
274 | " 12 | \n",
275 | "
\n",
276 | " \n",
277 | " \n",
278 | " \n",
279 | " 43 | \n",
280 | " 8.246982 | \n",
281 | " 9.620531 | \n",
282 | " 6.602126 | \n",
283 | " 8.713054 | \n",
284 | " 8.821096 | \n",
285 | " 11.614596 | \n",
286 | " 6.550721 | \n",
287 | " 9.362264 | \n",
288 | " 9.868245 | \n",
289 | " 8.736202 | \n",
290 | " 9.008205 | \n",
291 | " 9.361410 | \n",
292 | " 8.599843 | \n",
293 | "
\n",
294 | " \n",
295 | " 44 | \n",
296 | " 9.620531 | \n",
297 | " 6.602126 | \n",
298 | " 8.713054 | \n",
299 | " 8.821096 | \n",
300 | " 11.614596 | \n",
301 | " 6.550721 | \n",
302 | " 9.362264 | \n",
303 | " 9.868245 | \n",
304 | " 8.736202 | \n",
305 | " 9.008205 | \n",
306 | " 9.361410 | \n",
307 | " 8.599843 | \n",
308 | " 10.527895 | \n",
309 | "
\n",
310 | " \n",
311 | " 45 | \n",
312 | " 6.602126 | \n",
313 | " 8.713054 | \n",
314 | " 8.821096 | \n",
315 | " 11.614596 | \n",
316 | " 6.550721 | \n",
317 | " 9.362264 | \n",
318 | " 9.868245 | \n",
319 | " 8.736202 | \n",
320 | " 9.008205 | \n",
321 | " 9.361410 | \n",
322 | " 8.599843 | \n",
323 | " 10.527895 | \n",
324 | " 8.023482 | \n",
325 | "
\n",
326 | " \n",
327 | " 46 | \n",
328 | " 8.713054 | \n",
329 | " 8.821096 | \n",
330 | " 11.614596 | \n",
331 | " 6.550721 | \n",
332 | " 9.362264 | \n",
333 | " 9.868245 | \n",
334 | " 8.736202 | \n",
335 | " 9.008205 | \n",
336 | " 9.361410 | \n",
337 | " 8.599843 | \n",
338 | " 10.527895 | \n",
339 | " 8.023482 | \n",
340 | " 9.053573 | \n",
341 | "
\n",
342 | " \n",
343 | " 47 | \n",
344 | " 8.821096 | \n",
345 | " 11.614596 | \n",
346 | " 6.550721 | \n",
347 | " 9.362264 | \n",
348 | " 9.868245 | \n",
349 | " 8.736202 | \n",
350 | " 9.008205 | \n",
351 | " 9.361410 | \n",
352 | " 8.599843 | \n",
353 | " 10.527895 | \n",
354 | " 8.023482 | \n",
355 | " 9.053573 | \n",
356 | " 10.345651 | \n",
357 | "
\n",
358 | " \n",
359 | "
\n",
360 | "
"
361 | ],
362 | "text/plain": [
363 | " 0 1 2 3 4 5 6 \\\n",
364 | "43 8.246982 9.620531 6.602126 8.713054 8.821096 11.614596 6.550721 \n",
365 | "44 9.620531 6.602126 8.713054 8.821096 11.614596 6.550721 9.362264 \n",
366 | "45 6.602126 8.713054 8.821096 11.614596 6.550721 9.362264 9.868245 \n",
367 | "46 8.713054 8.821096 11.614596 6.550721 9.362264 9.868245 8.736202 \n",
368 | "47 8.821096 11.614596 6.550721 9.362264 9.868245 8.736202 9.008205 \n",
369 | "\n",
370 | " 7 8 9 10 11 12 \n",
371 | "43 9.362264 9.868245 8.736202 9.008205 9.361410 8.599843 \n",
372 | "44 9.868245 8.736202 9.008205 9.361410 8.599843 10.527895 \n",
373 | "45 8.736202 9.008205 9.361410 8.599843 10.527895 8.023482 \n",
374 | "46 9.008205 9.361410 8.599843 10.527895 8.023482 9.053573 \n",
375 | "47 9.361410 8.599843 10.527895 8.023482 9.053573 10.345651 "
376 | ]
377 | },
378 | "execution_count": 4,
379 | "metadata": {},
380 | "output_type": "execute_result"
381 | }
382 | ],
383 | "source": [
384 | "#构造针对机器学习模型的数据集\n",
385 | "window=12#时间窗为12\n",
386 | "data=data.values \n",
387 | "dataset=data\n",
388 | "for i in range(window):\n",
389 | " zero=np.zeros(i+1)\n",
390 | " temp=np.append(data[i+1:],zero)\n",
391 | " dataset=np.row_stack((dataset,temp))\n",
392 | "dataset=pd.DataFrame(dataset).T\n",
393 | "dataset=dataset.iloc[:-window]\n",
394 | "dataset=dataset/10000000#进行伪归一化\n",
395 | "dataset.tail()#构造好的数据集如下"
396 | ]
397 | },
398 | {
399 | "cell_type": "code",
400 | "execution_count": 5,
401 | "metadata": {},
402 | "outputs": [
403 | {
404 | "name": "stdout",
405 | "output_type": "stream",
406 | "text": [
407 | "(48, 12)\n",
408 | "(48,)\n"
409 | ]
410 | }
411 | ],
412 | "source": [
413 | "#划分特征与标签\n",
414 | "x=dataset.iloc[:,:-1]\n",
415 | "y=dataset.iloc[:,-1]\n",
416 | "print(x.shape)\n",
417 | "print(y.shape)"
418 | ]
419 | },
420 | {
421 | "cell_type": "code",
422 | "execution_count": 6,
423 | "metadata": {},
424 | "outputs": [
425 | {
426 | "name": "stdout",
427 | "output_type": "stream",
428 | "text": [
429 | "504\n",
430 | "72\n",
431 | "42\n",
432 | "6\n"
433 | ]
434 | }
435 | ],
436 | "source": [
437 | "#构造训练集测试集\n",
438 | "cut=6#取最后cut天为测试集\n",
439 | "X_train, X_test=x.iloc[:-cut],x.iloc[-cut:]#列表的切片操作\n",
440 | "y_train, y_test=y.iloc[:-cut],y.iloc[-cut:]\n",
441 | "X_train,X_test,y_train,y_test=X_train.values,X_test.values,y_train.values,y_test.values\n",
442 | "print(X_train.size)#通过输出训练集测试集的大小来判断数据格式正确。\n",
443 | "print(X_test.size)\n",
444 | "print(y_train.size)\n",
445 | "print(y_test.size)"
446 | ]
447 | },
448 | {
449 | "cell_type": "code",
450 | "execution_count": 7,
451 | "metadata": {},
452 | "outputs": [],
453 | "source": [
454 | "#以下函数均为对模型进行检验所用到的 精简代码的作用\n",
455 | "def mape(y_true, y_pred):\n",
456 | " return np.mean(np.abs((y_pred - y_true) / y_true)) * 100\n",
457 | "def up_down_accuracy(y_true, y_pred):\n",
458 | " y_var_test=y_true[1:]-y_true[:len(y_true)-1]#实际涨跌\n",
459 | " y_var_predict=y_pred[1:]-y_pred[:len(y_pred)-1]#原始涨跌\n",
460 | " txt=np.zeros(len(y_var_test))\n",
461 | " for i in range(len(y_var_test-1)):#计算数量\n",
462 | " txt[i]=np.sign(y_var_test[i])==np.sign(y_var_predict[i])\n",
463 | " result=sum(txt)/len(txt)\n",
464 | " return result\n",
465 | "def output():\n",
466 | " #展示在测试集上的表现 \n",
467 | " draw=pd.concat([pd.DataFrame(y_test),pd.DataFrame(y_test_predict)],axis=1);\n",
468 | " draw.iloc[:,0].plot(figsize=(12,6))\n",
469 | " draw.iloc[:,1].plot(figsize=(12,6))\n",
470 | " plt.legend(('real', 'predict'),loc='upper right',fontsize='15')\n",
471 | " plt.title(\"Test Data\",fontsize='30') #添加标题\n",
472 | " plt.show()\n",
473 | " #输出结果\n",
474 | " print('测试集上的MAE/MSE/MAPE/涨跌准确率')\n",
475 | " print(mean_absolute_error(y_test_predict, y_test))\n",
476 | " print(mean_squared_error(y_test_predict, y_test) )\n",
477 | " print(mape(y_test_predict, y_test) )\n",
478 | " print(up_down_accuracy(y_test_predict,y_test))"
479 | ]
480 | },
481 | {
482 | "cell_type": "markdown",
483 | "metadata": {},
484 | "source": [
485 | "# SVM+Elastic Net+Random Forest"
486 | ]
487 | },
488 | {
489 | "cell_type": "code",
490 | "execution_count": 8,
491 | "metadata": {},
492 | "outputs": [],
493 | "source": [
494 | "#支持向量机\n",
495 | "from sklearn.svm import LinearSVR \n",
496 | "def svm_model():\n",
497 | " svr = LinearSVR() \n",
498 | " model = svr.fit(X_train, y_train)\n",
499 | " #在训练集上的拟合结果\n",
500 | " y_train_predict=model.predict(X_train)\n",
501 | " y_test_predict=model.predict(X_test)\n",
502 | " return [y_train_predict,y_test_predict]"
503 | ]
504 | },
505 | {
506 | "cell_type": "code",
507 | "execution_count": 9,
508 | "metadata": {},
509 | "outputs": [],
510 | "source": [
511 | "#弹性网回归\n",
512 | "from sklearn.linear_model import ElasticNet\n",
513 | "def elasticnet_model():\n",
514 | " elasticnet=ElasticNet(alpha=.1, l1_ratio=.9, random_state=3)\n",
515 | " model = elasticnet.fit(X_train, y_train)\n",
516 | " #在训练集上的拟合结果\n",
517 | " y_train_predict=model.predict(X_train)\n",
518 | " y_test_predict=model.predict(X_test)\n",
519 | " return [y_train_predict,y_test_predict]"
520 | ]
521 | },
522 | {
523 | "cell_type": "code",
524 | "execution_count": 10,
525 | "metadata": {},
526 | "outputs": [],
527 | "source": [
528 | "# 建立随机森林模型 预测\n",
529 | "from sklearn.ensemble import RandomForestRegressor\n",
530 | "def rf_model():\n",
531 | " rf=RandomForestRegressor()\n",
532 | " model = rf.fit(X_train, y_train) \n",
533 | " #在训练集上的拟合结果\n",
534 | " y_train_predict=model.predict(X_train)\n",
535 | " y_test_predict=model.predict(X_test)\n",
536 | " return [y_train_predict,y_test_predict]"
537 | ]
538 | },
539 | {
540 | "cell_type": "code",
541 | "execution_count": 11,
542 | "metadata": {},
543 | "outputs": [
544 | {
545 | "name": "stderr",
546 | "output_type": "stream",
547 | "text": [
548 | "E:\\anoconda\\lib\\site-packages\\sklearn\\svm\\base.py:929: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations.\n",
549 | " \"the number of iterations.\", ConvergenceWarning)\n",
550 | "E:\\anoconda\\lib\\site-packages\\sklearn\\ensemble\\forest.py:245: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
551 | " \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n"
552 | ]
553 | }
554 | ],
555 | "source": [
556 | "y_train_predict1,y_test_predict1=svm_model()\n",
557 | "y_train_predict2,y_test_predict2=elasticnet_model()\n",
558 | "y_train_predict3,y_test_predict3=rf_model()"
559 | ]
560 | },
561 | {
562 | "cell_type": "markdown",
563 | "metadata": {},
564 | "source": [
565 | "# SARIMA"
566 | ]
567 | },
568 | {
569 | "cell_type": "code",
570 | "execution_count": 12,
571 | "metadata": {},
572 | "outputs": [
573 | {
574 | "name": "stderr",
575 | "output_type": "stream",
576 | "text": [
577 | "E:\\anoconda\\lib\\site-packages\\ipykernel_launcher.py:9: FutureWarning: Creating a DatetimeIndex by passing range endpoints is deprecated. Use `pandas.date_range` instead.\n",
578 | " if __name__ == '__main__':\n"
579 | ]
580 | }
581 | ],
582 | "source": [
583 | "#sarima\n",
584 | "#展示一下看看\n",
585 | "data=pd.read_excel('data.xlsx') \n",
586 | "data=data[choose]\n",
587 | "data=data/10000000#进行伪归一化\n",
588 | "#构建训练集测试集\n",
589 | "cut=6#取最后cut天为测试集\n",
590 | "data=pd.Series(data.values,\\\n",
591 | " index=pd.DatetimeIndex(start='2015-01-01',end='2019-12-01',freq='MS'))\n",
592 | "y=data[:-cut]\n",
593 | "true=data[-cut:]"
594 | ]
595 | },
596 | {
597 | "cell_type": "code",
598 | "execution_count": 13,
599 | "metadata": {},
600 | "outputs": [],
601 | "source": [
602 | "#SARIMA模型 \n",
603 | "def sarima_model():\n",
604 | " mod = sm.tsa.statespace.SARIMAX(y,\n",
605 | " order=(1, 1, 1),\n",
606 | " seasonal_order=(1, 1, 1, 12),\n",
607 | " enforce_stationarity=False,\n",
608 | " enforce_invertibility=False)\n",
609 | " results = mod.fit()\n",
610 | " #在训练集上进行预测\n",
611 | " pred = results.get_prediction(start=pd.to_datetime('2015-01-01'), dynamic=False)\n",
612 | " y_train_predict = pred.predicted_mean.values\n",
613 | " y_train = y.values\n",
614 | " y_train_predict = y_train_predict[1:]\n",
615 | " y_train_predict = y_train_predict[-42:]\n",
616 | " y_train = y_train[1:]\n",
617 | " #在测试集上进行预测\n",
618 | " pred_uc = results.get_forecast(steps=cut) # retun out-of-sample forecast \n",
619 | " y_test_predict=pred_uc.predicted_mean\n",
620 | " y_test_predict=y_test_predict.values\n",
621 | " y_test=true.values\n",
622 | " return [y_train_predict,y_test_predict]"
623 | ]
624 | },
625 | {
626 | "cell_type": "code",
627 | "execution_count": 14,
628 | "metadata": {},
629 | "outputs": [],
630 | "source": [
631 | "#构建神经网络数据集\n",
632 | "y_train_predict4,y_test_predict4=sarima_model()\n",
633 | "x_train_coef=np.array([y_train_predict1,y_train_predict2,y_train_predict3,y_train_predict4])\n",
634 | "x_train_coef=x_train_coef.T\n",
635 | "y_train_coef=y_train\n",
636 | "x_test_coef=np.array([y_test_predict1,y_test_predict2,y_test_predict3,y_test_predict4])\n",
637 | "x_test_coef=x_test_coef.T"
638 | ]
639 | },
640 | {
641 | "cell_type": "code",
642 | "execution_count": 15,
643 | "metadata": {},
644 | "outputs": [],
645 | "source": [
646 | "from sklearn.neural_network import MLPRegressor\n",
647 | "# alpha:L2的参数:MLP是可以支持正则化的,默认为L2,具体参数需要调整\n",
648 | "# hidden_layer_sizes=(5, 2) hidden层2层,第一层5个神经元,第二层2个神经元),2层隐藏层,也就有3层神经网络\n",
649 | "#clf = MLPRegressor(solver='lbfgs', alpha=1e-5,hidden_layer_sizes=(5, 2), random_state=1)\n",
650 | "#'identity',无操作激活,对实现线性瓶颈很有用,返回f(x)= x\n",
651 | "#'logistic',logistic sigmoid函数,返回f(x)= 1 /(1 + exp(-x))。\n",
652 | "#'tanh',双曲tan函数,返回f(x)= tanh(x)。\n",
653 | "#'relu',整流后的线性单位函数,返回f(x)= max(0,x)\n",
654 | "NN= MLPRegressor(\n",
655 | " hidden_layer_sizes=(12,12,1), activation='relu', solver='adam', alpha=0.0001, batch_size='auto',\n",
656 | " learning_rate='constant', learning_rate_init=0.001, power_t=0.5, max_iter=5000, shuffle=True,\n",
657 | " random_state=1, tol=0.0001, verbose=False, warm_start=False, momentum=0.9, nesterovs_momentum=True,\n",
658 | " early_stopping=False,beta_1=0.9, beta_2=0.999, epsilon=1e-08)\n",
659 | "model = NN.fit(x_train_coef, y_train_coef)\n",
660 | "y_test_predict=model.predict(x_test_coef)"
661 | ]
662 | },
663 | {
664 | "cell_type": "code",
665 | "execution_count": 16,
666 | "metadata": {},
667 | "outputs": [
668 | {
669 | "data": {
670 | "image/png": "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\n",
671 | "text/plain": [
672 | ""
673 | ]
674 | },
675 | "metadata": {
676 | "needs_background": "light"
677 | },
678 | "output_type": "display_data"
679 | },
680 | {
681 | "name": "stdout",
682 | "output_type": "stream",
683 | "text": [
684 | "测试集上的MAE/MSE/MAPE/涨跌准确率\n",
685 | "0.8584564079619827\n",
686 | "0.8972802516676929\n",
687 | "8.378834394349372\n",
688 | "1.0\n"
689 | ]
690 | }
691 | ],
692 | "source": [
693 | "#最终组合的输出结果\n",
694 | "output()"
695 | ]
696 | },
697 | {
698 | "cell_type": "code",
699 | "execution_count": null,
700 | "metadata": {},
701 | "outputs": [],
702 | "source": []
703 | },
704 | {
705 | "cell_type": "code",
706 | "execution_count": null,
707 | "metadata": {},
708 | "outputs": [],
709 | "source": []
710 | }
711 | ],
712 | "metadata": {
713 | "anaconda-cloud": {},
714 | "kernelspec": {
715 | "display_name": "Python 3",
716 | "language": "python",
717 | "name": "python3"
718 | },
719 | "language_info": {
720 | "codemirror_mode": {
721 | "name": "ipython",
722 | "version": 3
723 | },
724 | "file_extension": ".py",
725 | "mimetype": "text/x-python",
726 | "name": "python",
727 | "nbconvert_exporter": "python",
728 | "pygments_lexer": "ipython3",
729 | "version": "3.7.3"
730 | }
731 | },
732 | "nbformat": 4,
733 | "nbformat_minor": 1
734 | }
735 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # regression-prediction-algorithms
2 | 使用支持向量机、弹性网络、随机森林、LSTM、SARIMA等多种算法进行时间序列的回归预测,除此以外还采取了多种组合方法对以上算法输出的结果进行组合预测。Support vector machine, elastic network, random forest, LSTM, SARIMA and other algorithms are used for regression prediction of time series. In addition, a variety of combination methods are used to forecast the output of the above algorithms.
3 |
--------------------------------------------------------------------------------
/data.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/momodagithub/regression-prediction-algorithms/430519b7b3f8d11732a288711c5dade571cf3a64/data.xlsx
--------------------------------------------------------------------------------