LSTM の予測精度を上げる方法 How to increase LSTM prediction accuracy ?
Show older comments
私は株価予測を通して LSTM について勉強しています。
質問は3つあります。
① 株価の予測を行いたいのですが、例えば 60 日後の株価を予測したい場合、input は60 日前の株価で、target は 60 日後の株価であっていますか。また、データの前処理の仕方が不適切な場合、適切な方法を教えてください。
② LSTM の精度をあげる方法を教えてください。追加するべきコードが知りたいです。
③ 精度を上げるために、検証データの導入を考えているのですが、検証データの作り方と、導入方法を教えてください。
以下、データやコードの詳細になります。
データの前処理として、input および target どちらも -1 ~ 1 の間にスケーリングしております。入出力データは 60 日毎に分割し、セル形式にしております。
今のプログラムだと、波形の動きは、訓練データと予測データで一致していますが、絶対値が最大で 20 % 弱離れています。テストデータも精度は良くないです。
LSTM のコードですが、こちらのサイトをコピペして使用しております。
layers = [
sequenceInputLayer(numFeatures)...
lstmLayer(numHiddenUnits,OutputMode="sequence")...
fullyConnectedLayer(50)...
dropoutLayer(0.5)...
fullyConnectedLayer(numResponses)...
];
maxEpoch = 1000;
miniBatchSize = 20;
options = trainingOptions("adam",...
MaxEpochs=maxEpoch,...
MiniBatchSize=miniBatchSize,...
InitialLearnRate=0.01,...
GradientThreshold=1,...
Shuffle="never",...
Metrics="rmse",...
Plots="training-progress",...
Verbose=0);
お忙しいところ恐縮ですが、ご教授をお願いします。
Accepted Answer
More Answers (0)
Categories
Find more on Deep Learning Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!