LSTM の予測精度を上げる方法 How to increase LSTM prediction accuracy ?
이전 댓글 표시
私は株価予測を通して 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);
お忙しいところ恐縮ですが、ご教授をお願いします。
채택된 답변
추가 답변 (0개)
카테고리
도움말 센터 및 File Exchange에서 Deep Learning Toolbox에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!