質問編集履歴

6

質問文の追記

2020/10/24 07:36

投稿

stu824
stu824

スコア2

test CHANGED
File without changes
test CHANGED
@@ -42,7 +42,11 @@
42
42
 
43
43
 
44
44
 
45
-
45
+ 再追記
46
+
47
+ 使用している交通量のデータは,
48
+
49
+ 100日間1分間隔(144000行)で記録された時系列のデータになります。
46
50
 
47
51
 
48
52
 

5

コードの変更

2020/10/24 07:36

投稿

stu824
stu824

スコア2

test CHANGED
File without changes
test CHANGED
@@ -104,7 +104,7 @@
104
104
 
105
105
  date_1, date_2 = train_test_split(date, test_size=test_rate, shuffle=False)
106
106
 
107
- train, val = train_test_split(Pt,test_size=test_rate,shuffle=False)
107
+ train, test = train_test_split(Pt,test_size=test_rate,shuffle=False)
108
108
 
109
109
 
110
110
 
@@ -116,9 +116,9 @@
116
116
 
117
117
  t_train = train[pred_time:] #データの上からpred_time分を削って正解データに
118
118
 
119
- x_val = val[:-pred_time] #データの下からpred_time分を削ってテストデータに
119
+ x_test = test[:-pred_time] #データの下からpred_time分を削ってテストデータに
120
-
120
+
121
- t_val = val[pred_time:] #データの上からpred_time分を削って正解データに
121
+ t_test = test[pred_time:] #データの上からpred_time分を削って正解データに
122
122
 
123
123
 
124
124
 
@@ -132,9 +132,9 @@
132
132
 
133
133
  t_train = t_train.reshape(-1, 1)
134
134
 
135
- x_val = x_val.reshape(-1, 1)
135
+ x_test = x_test .reshape(-1, 1)
136
-
136
+
137
- t_val = t_val.reshape(-1, 1)
137
+ t_test = t_test .reshape(-1, 1)
138
138
 
139
139
 
140
140
 
@@ -146,7 +146,7 @@
146
146
 
147
147
 
148
148
 
149
- def scale(x_train, x_val, t_train, t_val):
149
+ def scale(x_train, x_test , t_train, t_test ):
150
150
 
151
151
 
152
152
 
@@ -154,11 +154,11 @@
154
154
 
155
155
  x_train = x_train.astype(np.float32)
156
156
 
157
- x_val = x_val.astype(np.float32)
157
+ x_test = x_test .astype(np.float32)
158
158
 
159
159
  t_train = t_train.astype(np.float32)
160
160
 
161
- t_val = t_val.astype(np.float32)
161
+ t_test = t_test .astype(np.float32)
162
162
 
163
163
 
164
164
 
@@ -168,21 +168,21 @@
168
168
 
169
169
  x_train = sclr.fit_transform(x_train)
170
170
 
171
- x_val = sclr.transform(x_val)
171
+ x_test = sclr.transform(x_test )
172
172
 
173
173
  t_train = sclr.transform(t_train)
174
174
 
175
- t_val = sclr.transform(t_val)
175
+ t_test = sclr.transform(t_test )
176
176
 
177
177
 
178
178
 
179
- return x_train, x_val, t_train, t_val, sclr
179
+ return x_train, x_test , t_train, t_test , sclr
180
180
 
181
181
 
182
182
 
183
183
  #正規化
184
184
 
185
- x_train, x_val, t_train, t_val, sclr = scale(x_train, x_val, t_train, t_val)
185
+ x_train, x_test , t_train, t_test , sclr = scale(x_train, x_test , t_train, t_test )
186
186
 
187
187
 
188
188
 
@@ -190,7 +190,7 @@
190
190
 
191
191
  x_train = np.reshape(x_train.astype("float32"), (x_train.shape[0],1,x_train.shape[1] ))
192
192
 
193
- x_val = np.reshape(x_val.astype("float32"), (x_val.shape[0],1,x_val.shape[1] ))
193
+ x_test = np.reshape(x_test .astype("float32"), (x_test .shape[0],1,x_test .shape[1] ))
194
194
 
195
195
 
196
196
 
@@ -248,9 +248,9 @@
248
248
 
249
249
  #予測
250
250
 
251
- pred = model.predict(x_val) #予測値
251
+ pred = model.predict(x_test ) #予測値
252
-
252
+
253
- obs = t_val #観測値
253
+ obs = t_test #観測値
254
254
 
255
255
 
256
256
 

4

質問文の追記

2020/10/24 05:50

投稿

stu824
stu824

スコア2

test CHANGED
File without changes
test CHANGED
@@ -20,6 +20,24 @@
20
20
 
21
21
 
22
22
 
23
+ 追記
24
+
25
+ 下記図に関して,
26
+
27
+ 青線が予測値
28
+
29
+ オレンジ線が観測値
30
+
31
+ になります。
32
+
33
+ また,ソースコードにおける「pred_time」が予測したい時間先になっており,
34
+
35
+ pred_time=30で,正解データが30分先の値であることを意味しています。
36
+
37
+ この意味として,ある1時点のデータを学習データ,その時点から30分後の時点のデータを正解データとして
38
+
39
+ 損失関数を小さくするような学習をしてほしいと考えています。
40
+
23
41
 
24
42
 
25
43
 

3

コードの変更

2020/10/24 04:53

投稿

stu824
stu824

スコア2

test CHANGED
File without changes
test CHANGED
@@ -50,7 +50,7 @@
50
50
 
51
51
 
52
52
 
53
- import_file = 'C:/Users/Shunsuke Kiso/Desktop/week_day1.csv' #データファイルの読み込み
53
+ import_file = 'C:/Users/temp/Desktop/week_day1.csv' #データファイルの読み込み
54
54
 
55
55
 
56
56
 
@@ -306,7 +306,7 @@
306
306
 
307
307
  #csvに書き出し
308
308
 
309
- df.to_csv('C:/Users/Shunsuke Kiso/Desktop/5_30_output.csv')
309
+ df.to_csv('C:/Users/temp/Desktop/5_30_output.csv')
310
310
 
311
311
  ```
312
312
 

2

コードの変更

2020/10/23 03:41

投稿

stu824
stu824

スコア2

test CHANGED
File without changes
test CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  問題点として,
10
10
 
11
- (1)明らかに精度が高い
11
+ (1)明らかに精度が高い(本当に意図した時間先を予測しているのか?)
12
12
 
13
13
  (2)予測したい時間を変えたとき明らかに不自然な予測結果が得られる
14
14
 
@@ -50,7 +50,7 @@
50
50
 
51
51
 
52
52
 
53
- import_file = 'C:/Users/temp/Desktop/week_day1.csv' #データファイルの読み込み
53
+ import_file = 'C:/Users/Shunsuke Kiso/Desktop/week_day1.csv' #データファイルの読み込み
54
54
 
55
55
 
56
56
 
@@ -58,7 +58,7 @@
58
58
 
59
59
  test_rate = 0.2 #データの分割割合
60
60
 
61
- pred_time = 30 #何分先を予測するかの決定(データ:1分間隔/1時間先を予測:pred_time = 60)
61
+ pred_time = 720 #何分先を予測するかの決定(データ:1分間隔/1時間先を予測:pred_time = 60)
62
62
 
63
63
  time = 1440
64
64
 
@@ -74,7 +74,7 @@
74
74
 
75
75
  date = df.iloc[:,0].values #データの1列目を抽出
76
76
 
77
- Pt = df.iloc[:, 3].values #データの4列目を抽出
77
+ Pt = df.iloc[:, 3:4].values #データの4列目を抽出
78
78
 
79
79
 
80
80
 
@@ -214,7 +214,7 @@
214
214
 
215
215
  es = EarlyStopping(monitor='val_loss',
216
216
 
217
- patience=10,
217
+ patience=5,
218
218
 
219
219
  verbose=1)
220
220
 
@@ -222,7 +222,7 @@
222
222
 
223
223
  #モデルの学習
224
224
 
225
- history = model.fit(x_train, t_train, epochs=10000, batch_size=256, verbose=1, shuffle=False, validation_data=([x_val],[t_val]), callbacks=[es])
225
+ history = model.fit(x_train, t_train, epochs=10, batch_size=256, verbose=1, shuffle=False, validation_split = 0.1, callbacks=[es])
226
226
 
227
227
 
228
228
 
@@ -306,13 +306,13 @@
306
306
 
307
307
  #csvに書き出し
308
308
 
309
- df.to_csv('C:/Users/temp/Desktop/result/output.csv')
309
+ df.to_csv('C:/Users/Shunsuke Kiso/Desktop/5_30_output.csv')
310
310
 
311
311
  ```
312
312
 
313
- ![30分後を予測](2c2cdfa547040987570f931fe34ec320.png)
313
+ ![30分後を予測](6d7b274ae3e438ed11f19321f0ef4e9b.png)
314
-
314
+
315
- ![12時間後を予測](0f8aeb15648281f773f8426fdc96dbf0.png)
315
+ ![半日後を予測](5bce935ae4fb0c36b8e5c659d1d61860.png)
316
316
 
317
317
  ![1日後を予測](7f21d79ed531abe56e1dbcc5ea06c19b.png)
318
318
 

1

画像の修正

2020/10/23 01:09

投稿

stu824
stu824

スコア2

test CHANGED
File without changes
test CHANGED
@@ -314,7 +314,7 @@
314
314
 
315
315
  ![12時間後を予測](0f8aeb15648281f773f8426fdc96dbf0.png)
316
316
 
317
- ![1日後を予測](5963337c751ef75efeeb670dc59e9e28.png)
317
+ ![1日後を予測](7f21d79ed531abe56e1dbcc5ea06c19b.png)
318
318
 
319
319
  ### 試したこと
320
320