初心者です、よろしくお願い致します。
Pythonのライブラリscikit-learnのLinearRegressionを使ってFX(ドル円)の翌日の価格予想を行ってみたのですが、予測結果が明らかにおかしいのですが、その理由が理解できません。
利用したデータ
https://stooq.com/q/d/?s=usdjpy&c=0
こちらのサイトで2018-01-02から2020-02-19までのドル円のデータを取得
実装したコード
import pandas as pd import numpy as np from sklearn import linear_model price = pd.read_csv('usdjpy_d.csv') #データ数を揃えるのと目的変数に翌日の価格を入れる為にyを一日ずらしています num = len(price) x = price.loc[0:num-2, ["Close"]] y = price.loc[1:num, ["Close"]] #データを7:3で分ける import math cut = math.ceil(num * 0.7) x_train = np.array(x[:cut]) x_test = np.array(x[cut:]) y_train = np.array(y[:cut]) y_test = np.array(y[cut:]) model = linear_model.LinearRegression() model.fit(x_train, y_train) y_pred = model.predict(x_test)
matplotlib.pyplotで実際の価格と予測価格を比べてみると一番最初と一番最後のデータが大幅に違い、それ以外は殆ど同じになりました。
なにか根本的に考え方や流れが間違っていると思うのですが、理解できません。
書き方の流れや書いた内容に間違いなどありますしょうか。
よろしくお願い致します。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/02/20 09:00
2020/02/20 09:14 編集