質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Keras

Kerasは、TheanoやTensorFlow/CNTK対応のラッパーライブラリです。DeepLearningの数学的部分を短いコードでネットワークとして表現することが可能。DeepLearningの最新手法を迅速に試すことができます。

深層学習

深層学習は、多数のレイヤのニューラルネットワークによる機械学習手法。人工知能研究の一つでディープラーニングとも呼ばれています。コンピューター自体がデータの潜在的な特徴を汲み取り、効率的で的確な判断を実現することができます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

1131閲覧

keras+tensorflowの時系列データ将来予測について

tys

総合スコア7

Keras

Kerasは、TheanoやTensorFlow/CNTK対応のラッパーライブラリです。DeepLearningの数学的部分を短いコードでネットワークとして表現することが可能。DeepLearningの最新手法を迅速に試すことができます。

深層学習

深層学習は、多数のレイヤのニューラルネットワークによる機械学習手法。人工知能研究の一つでディープラーニングとも呼ばれています。コンピューター自体がデータの潜在的な特徴を汲み取り、効率的で的確な判断を実現することができます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2018/03/09 06:09

前提条件
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
単変数の場合(株価や飛行機乗客数など多数の例あり)は、将来予測を行う場合、予測値を使って将来予測を行うようですが、多変数の場合は、将来の説明変数がないと将来予測できないものなのでしょうか?

どうにもこうにも煮詰まってしまし、ご教示をお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

2
dataY.append(dataset[i + look_back, 0])

dataY.append(dataset[i + look_back + 3, 0])

投稿2018/03/09 06:26

mkgrei

総合スコア8560

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tys

2018/03/09 07:11

なるほど、+3ということはt+3というこですね。 こんな簡単なことなんですね。 ありがとうございました。
k.brook

2019/08/30 02:11

失礼します.私もt時間までのデータを使って,t+3やt+6など先の時間の予測モデルを作成したいと思っているのですが,『dataY.append(dataset[i + look_back + 3, 0])』へ変更することで実行できましたか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問