前提条件
python3.6+keras+tensorflowの環境で、下記のサイトを参考に複数地点のアメダス雨量データと河川のLSTMを用いた時系列データの深層学習モデルを作成しています。
keraseで多変量LSTM
入力項目が複数で、出力が1つとなります。
質問事項1
LSTMは、「t時間までのデータでt+1時間を予測する」と理解指定良いのか?
質問事項2
学習モデルを作成する段階で、t時間までのデータを使って、t+3とかt+6の先の時間の予測モデルを作成することはできるのか?
できるのならば、下記コードの
データ作成時の次元などを修正すれば良いのか?
python
1# convert an array of values into a dataset matrix 2# if you give look_back 3, a part of the array will be like this: Jan, Feb, Mar 3def create_dataset(dataset, look_back=1): 4 dataX, dataY = [], [] 5 for i in range(len(dataset)-look_back-1): 6 xset = [] 7 for j in range(dataset.shape[1]): 8 a = dataset[i:(i+look_back), j] 9 xset.append(a) 10 dataY.append(dataset[i + look_back, 0]) 11 dataX.append(xset) 12 return numpy.array(dataX), numpy.array(dataY) 13 14# reshape into X=t and Y=t+1 15look_back = 12 16trainX, trainY = create_dataset(train, look_back) 17testX, testY = create_dataset(test, look_back) 18print(testX.shape) 19print(testX[0]) 20print(testY) 21 22# reshape input to be [samples, time steps(number of variables), features] *convert time series into column 23trainX = numpy.reshape(trainX, (trainX.shape[0], trainX.shape[1], trainX.shape[2])) 24testX = numpy.reshape(testX, (testX.shape[0], testX.shape[1], testX.shape[2])) 25 26# create and fit the LSTM network 27model = Sequential() 28model.add(LSTM(4, input_shape=(testX.shape[1], look_back))) #shape:変数数、遡る時間数 29model.add(Dense(1)) 30model.compile(loss='mean_squared_error', optimizer='adam') 31model.fit(trainX, trainY, epochs=1000, batch_size=1, verbose=2)
質問事項3
単変数の場合(株価や飛行機乗客数など多数の例あり)は、将来予測を行う場合、予測値を使って将来予測を行うようですが、多変数の場合は、将来の説明変数がないと将来予測できないものなのでしょうか?
どうにもこうにも煮詰まってしまし、ご教示をお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/03/09 07:11
2019/08/30 02:11