
ã¿ãªããããã«ã¡ã¯ïŒ ãã®èšäºã§ã¯ããã¥ãŒã©ã«ãããã¯ãŒã¯ã䜿çšããŠæç³»åãäºæž¬ããéã®åºæ¬çãªãã€ãã©ã€ã³ããã®å Žåãããããåæãæãå°é£ãªæç³»å-æ§è³ªãã©ã³ãã ã§äžèŠäºæž¬ã§ããªãéèããŒã¿ã«ã€ããŠã話ããããšæããŸãã ãããšããŸã ãªãã§ããïŒ
ãšã³ããªãŒ
çŸåšãç§ã¯ãããŒã倧åŠã§å¿çšæ°åŠã®åŠäœãååŸãã修士課çšã®æçµå¹Žã«ããŸããCISã®å
žåçãªITåŠçãšããŠãããšãå·¥ç§å€§åŠã§åŠå£«å·ãååŸãããã®åŸãããŸããŸãªãããžã§ã¯ãã§å¢ããåŸãŠããæ©æ¢°åŠç¿ãå¿çšããŸããä»ãã£ãŠããŸãã 倧åŠã§ã¯ãç§ã®ç 究ã®ããŒãã¯æç³»åãç¹ã«éèã«é¢ãã深局åŠç¿ã§ãã
ãã®èšäºã®ç®çã¯ãããŒã¿åŠçãããã¥ãŒã©ã«ãããã¯ãŒã¯ã®æ§ç¯ããã³çµæã®æ€èšŒãŸã§ãæç³»åã§äœæ¥ããããã»ã¹ã瀺ãããšã§ãã äŸãšããŠãéèã·ãªãŒãºã¯å®å
šã«ã©ã³ãã ã«éžæãããŠãããéåžžã®ãã¥ãŒã©ã«ãããã¯ãŒã¯ã¢ãŒããã¯ãã£ãéèååã®æ¯ãèããäºæž¬ããããã«å¿
èŠãªãã¿ãŒã³ããã£ããã§ãããã©ããã¯äžè¬çã«èå³æ·±ãã§ãã
ãã®èšäºã§èª¬æãããã€ãã©ã€ã³ã¯ãä»ã®ããŒã¿ãåé¡ã¢ã«ãŽãªãºã ã«ç°¡åã«é©çšã§ããŸãã ã³ãŒããããã«å®è¡ãããå Žåã¯ã IPython NotebookãããŠã³ããŒãã§ããŸãã
ããŒã¿æºå
ããšãã°ã2005幎ããçŸåšãŸã§ã®Appleã®ãããªæ§ãããªäŒç€Ÿã®æ ªäŸ¡ãèããŠã¿ãŸãããã Yahoo Financeã§.csv圢åŒã§ããŠã³ããŒãã§ããŸãã ããŒã¿ãã¢ããããŒãããŠããã®çŸãããã©ã®ããã«èŠããããèŠãŠã¿ãŸãããã
ãŸããããŒãããå¿
èŠãããã©ã€ãã©ãªãã€ã³ããŒãããŸãã
import matplotlib.pylab as plt import numpy as np import pandas as pd
ããŒã¿ãèªã¿åããã°ã©ããæç»ããŸãïŒYahoo Financeã®.csvã§ãããŒã¿ã¯éé ã§ããŠã³ããŒããããŸã-2017幎ãã2005幎ãŸã§ãæåã«[::-1]ã䜿çšããŠãããªãããããå¿
èŠããããŸãïŒã
data = pd.read_csv('./data/AAPL.csv')[::-1] close_price = data.ix[:, 'Adj Close'].tolist() plt.plot(close_price) plt.show()

ããã¯å
žåçãªã©ã³ãã ããã»ã¹ã®ããã«èŠããŸããã1æ¥ãŸãã¯æ°æ¥å
ã®äºæž¬ã®åé¡ã解決ããããšããŸãã ãäºæž¬ãã®ã¿ã¹ã¯ã¯ãæåã«æ©æ¢°åŠç¿ã®ã¿ã¹ã¯ã«ããè¿ã説æããå¿
èŠããããŸãã åžå Žã§ã®æ ªäŸ¡ã®åããåçŽã«äºæž¬ããããšãã§ããŸã-å€ããå°ãªãã-ããã¯ãã€ããªåé¡ã®ã¿ã¹ã¯ã«ãªããŸãã äžæ¹ãç¿æ¥ïŒãŸãã¯æ°æ¥éïŒã®äŸ¡æ Œã®å€ããŸãã¯æçµæ¥ãšæ¯èŒããç¿æ¥ã®äŸ¡æ Œã®å€åããŸãã¯ãã®å·®ã®å¯Ÿæ°ã®ãããããäºæž¬ããããšãã§ããŸã-ã€ãŸããæ°ã§ããã¿ã¹ã¯ãäºæž¬ãããã®ã§ãååž°ã ããããååž°åé¡ã解決ããéã«ã¯ãããŒã¿ã®æ£èŠåã®åé¡ã«å¯ŸåŠããå¿
èŠããããŸããããã«ã€ããŠã¯ã次ã«æ€èšããŸãã
åé¡ã®å Žåãååž°ã®å Žåãæç³»åã®ãŠã£ã³ããŠãå
¥åïŒããšãã°ã30æ¥ïŒãšããŠãç¿æ¥ã®äŸ¡æ Œã®åãïŒåé¡ïŒãŸãã¯å€åã®å€ïŒååž°ïŒãäºæž¬ããããšããŸãã
財åæç³»åã®äž»ãªåé¡ã¯ãããããå°ãã§ãéæ¢ããŠããªãããšã§ãïŒããšãã°ã Dickey-Fullerãã¹ãã䜿çšããŠèªåã§ç¢ºèªã§ããŸãïŒãã€ãŸããããããšããŠã®ç¹æ§ã§ãã ãŠã£ã³ããŠã®æåŸ
å€ãåæ£ãå¹³åæ倧å€ããã³æå°å€ã¯æéãšãšãã«å€åããŸããã€ãŸãããŠã£ã³ããŠã«30æ¥éããå ŽåããŠã£ã³ããŠã®MinMaxãŸãã¯zã¹ã³ã¢ã®æ£èŠåã«ãããã®å€ã䜿çšããããšã¯ã§ããŸãããããã€ãã®ç¹åŸŽããããŸãããç¿æ¥ãŸãã¯ãŠã£ã³ããŠã®äžå€®ã§å€æŽãããå ŽåããããŸãã
ããããåé¡åé¡ã泚ææ·±ãèŠããšããããã«ã¯ããŸãèå³ããããŸããã ç¿æ¥ã«æåŸ
ãŸãã¯åæ£ãç§ãã¡ã¯äžäžã«ç§»åããããšã«ã®ã¿èå³ããããŸãã ãããã£ãŠããã£ã³ã¹ãã€ãã¿ã30æ¥éã®ãŠã£ã³ããŠãzã¹ã³ã¢ã§æ£èŠåããŸããããå°æ¥ãã®åœ±é¿ã¯åããã«ããããã®ã¿ãæ£èŠåããŸãã
X = [(np.array(x) - np.mean(x)) / np.std(x) for x in X]
ååž°ã¿ã¹ã¯ã®å Žåãããã¯ãã§ã«å®è¡ã§ããŸãããå¹³åãæžç®ããŠåå·®ã§å²ããšããã®å€ãç¿æ¥ã«äŸ¡æ Œå€ã«æ»ãå¿
èŠãããããããã®ãã©ã¡ãŒã¿ãŒã¯ãã§ã«å®å
šã«ç°ãªãå¯èœæ§ãããããã§ãã ãããã£ãŠã次ã®2ã€ã®ãªãã·ã§ã³ãè©ŠããŠã¿ãŸããçããŒã¿ã§ãã¬ãŒãã³ã°ããç¿æ¥ã«äŸ¡æ Œã®å²åãå€æŽããŠã·ã¹ãã ãã ãŸãããšãã-ãã³ãããããæ¯æŽããŸãã
close_price_diffs = close.price.pct_change()

ããã¯æ¬¡ã®ããã«èŠããŸãããŸããã芧ã®ããã«ãçµ±èšç¹æ§ãæäœããã«ååŸãããã®ããŒã¿ã¯ããã§ã«-0.5ã0.5ã®ç¯å²ã«ãããŸãã
ãã¬ãŒãã³ã°ãšãã¬ãŒãã³ã°ãµã³ãã«ã«åé¢ããããã«ããã¬ãŒãã³ã°ã«éã«åãããã«æåã®85ïŒ
ã®ãŠã£ã³ããŠã䜿çšããæåŸã®15ïŒ
ããã¥ãŒã©ã«ãããã¯ãŒã¯ã®åäœã®ãã§ãã¯ã«äœ¿çšããŸãã
ãããã£ãŠããã¥ãŒã©ã«ãããã¯ãŒã¯ããã¬ãŒãã³ã°ããã«ã¯ã次ã®XãYãã¢ãååŸããŸãã30æ¥éã®åžå Žçµå€ã®äŸ¡æ Œãšããã€ããªåé¡ã®äŸ¡æ Œå€ãå¢å ãããæžå°ãããã«å¿ããŠã[1ã0]ãŸãã¯[0ã1]ã 30æ¥éã®äŸ¡æ Œã®å€åçãšååž°ã®ç¿æ¥ã®å€åã
ãã¥ãŒã©ã«ãããã¯ãŒã¯ã¢ãŒããã¯ãã£
åºæ¬ã¢ãã«ãšããŠãå€å±€ããŒã»ãããã³ã䜿çšããŸãã ãã¥ãŒã©ã«ãããã¯ãŒã¯ã®åºæ¬çãªæŠå¿µã«æ
£ããŠããªãå Žåã¯ã ããããå§ããã®ãæé©ã§ã ã
Kerasã¯å®è£
ãã¬ãŒã ã¯ãŒã¯ãšããŠæ¡çšãããŠããŸããéåžžã«ã·ã³ãã«ã§çŽæçã§ãéåžžã«è€éãªèšç®ã°ã©ããã²ãã®äžã«å®è£
ã§ããŸãããçŸæç¹ã§ã¯å¿
èŠãããŸããã åçŽãªã°ãªãããå®çŸããŸã-30åã®ãã¥ãŒãã³ïŒãŠã£ã³ããŠã®é·ãïŒãæã€å
¥åå±€ã64åã®ãã¥ãŒãã³ãæã€æåã®é ãå±€ã BatchNormalization-ãããã»ãŒãã¹ãŠã®å€å±€ãããã¯ãŒã¯ã«äœ¿çšããããšããå§ãããŸãã LeakyReLUã®ãããªãã¡ãã·ã§ããã«ïŒã åºåã§ã¯ã1ã€ã®ãã¥ãŒãã³ïŒãŸãã¯åé¡çšã«2ã€ïŒãé
眮ããŸããã¿ã¹ã¯ïŒåé¡ãŸãã¯ååž°ïŒã«å¿ããŠãåºåã«ãœããããã¯ã¹ãããããå€ãäºæž¬ã§ããããã«éç·åœ¢ã®ãŸãŸã«ããŸãã
åé¡ã³ãŒãã¯æ¬¡ã®ããã«ãªããŸãã
model = Sequential() model.add(Dense(64, input_dim=30)) model.add(BatchNormalization()) model.add(LeakyReLU()) model.add(Dense(2)) model.add(Activation('softmax'))
æåŸã®ååž°ã¿ã¹ã¯ã®å Žåãã¢ã¯ãã£ããŒã·ã§ã³ãã©ã¡ãŒã¿ãŒã¯ãç·åœ¢ãã§ããå¿
èŠããããŸãã 次ã«ããšã©ãŒé¢æ°ãšæé©åã¢ã«ãŽãªãºã ã決å®ããå¿
èŠããããŸãã åŸé
éäžå€åã®è©³çŽ°ã«å
¥ããã«ãAdamã®ã¹ãããé·ã0.001ã«ããŸãã åé¡ã®æ倱ãã©ã¡ãŒã¿ã¯ã¯ãã¹ãšã³ããããŒ-ãcategorical_crossentropyãã«èšå®ããå¿
èŠããããååž°ã®å Žåã¯äºä¹å¹³å誀差-ãmseãã«èšå®ããå¿
èŠããããŸãã Kerasã§ã¯ããã¬ãŒãã³ã°ããã»ã¹ãéåžžã«æè»ã«å¶åŸ¡ããããšãã§ããŸããããšãã°ãåŸé
éäžã¹ãããã®å€ãæžããããšããå§ãããŸããçµæãæ¹åãããªãå Žåãããã¯ã¢ãã«ãã¬ãŒãã³ã°ãžã®ã³ãŒã«ããã¯ãšããŠè¿œå ããReduceLROnPlateauã®æ©èœã§ãã
reduce_lr = ReduceLROnPlateau(monitor='val_loss', factor=0.9, patience=5, min_lr=0.000001, verbose=1) model.compile(optimizer=opt, loss='categorical_crossentropy', metrics=['accuracy'])
ãã¥ãŒã©ã«ãããã¯ãŒã¯ãã¬ãŒãã³ã°
history = model.fit(X_train, Y_train, nb_epoch = 50, batch_size = 128, verbose=1, validation_data=(X_test, Y_test), shuffle=True, callbacks=[reduce_lr])
ãã¬ãŒãã³ã°ããã»ã¹ãå®äºãããããšã©ãŒãšç²ŸåºŠã®å€ã®ãã€ããã¯ã¹ã°ã©ãã衚瀺ãããšäŸ¿å©ã§ãã
plt.figure() plt.plot(history.history['loss']) plt.plot(history.history['val_loss']) plt.title('model loss') plt.ylabel('loss') plt.xlabel('epoch') plt.legend(['train', 'test'], loc='best') plt.show() plt.figure() plt.plot(history.history['acc']) plt.plot(history.history['val_acc']) plt.title('model accuracy') plt.ylabel('acc') plt.xlabel('epoch') plt.legend(['train', 'test'], loc='best') plt.show()
ãã¬ãŒãã³ã°ãéå§ããåã«ãéèŠãªãã€ã³ãã«æ³šæãæããããšæããŸãããã®ãããªããŒã¿ã®ã¢ã«ãŽãªãºã ãå°ãªããšã50ã100æ代ããé·ãåŠç¿ããå¿
èŠããããŸãã ããã¯ãããšãã°5ã10ãšããã¯ã§ãã¬ãŒãã³ã°ããŠ55ïŒ
ã®ç²ŸåºŠã確èªããå Žåããã¿ãŒã³ãèŠã€ããããšãåŠãã ãšããæå³ã§ã¯ãªãå¯èœæ§ãé«ãããã§ãããã¬ãŒãã³ã°ããŒã¿ãåæãããšã55ïŒ
ãŠã£ã³ããŠã¯1ã€ã®ãã¿ãŒã³çšïŒå¢å ãªã©ïŒã§ãæ®ãã®45ïŒ
ã¯å¥ã®ãã¿ãŒã³çšïŒæžå°ïŒã§ãã ç§ãã¡ã®å ŽåããŠã£ã³ããŠã®53ïŒ
ããäžéãã¯ã©ã¹ã47ïŒ
ããäžæãã¯ã©ã¹ã§ããããã53ïŒ
ããé«ã粟床ãåŸãããšããŸããã€ãŸããæšèãèŠã€ããããšãåŠãã ããšãæå³ããŸãã
çµå€ãåçŽãªã¢ã«ãŽãªãºã ãªã©ã®çããŒã¿ã®ç²ŸåºŠãé«ããããšããã¬ãŒãã³ã°ãµã³ãã«ã®æºåã«ãããŠåãã¬ãŒãã³ã°ãŸãã¯ãå
èªã¿ããæå³ããå¯èœæ§ãé«ããªããŸãã
åé¡ã¿ã¹ã¯
æåã®ã¢ãã«ããã¬ãŒãã³ã°ããŠãã°ã©ããèŠãŠã¿ãŸãããã


ã芧ã®ãšããããšã©ãŒã¯ããã¹ããµã³ãã«ã®ç²ŸåºŠãåžžã«ãã©ã¹ãŸãã¯ãã€ãã¹1ã®å€ã®ãŸãŸã§ããããã¬ãŒãã³ã°ãµã³ãã«ã®ãšã©ãŒãæžå°ãã粟床ãåäžããããšã§ããããã«ãããåãã¬ãŒãã³ã°ãããããŸãã 2ã€ã®ã¬ã€ã€ãŒã§ããæ·±ãã¢ãã«ãååŸããŠã¿ãŸãããã
model = Sequential() model.add(Dense(64, input_dim=30)) model.add(BatchNormalization()) model.add(LeakyReLU()) model.add(Dense(16)) model.add(BatchNormalization()) model.add(LeakyReLU()) model.add(Dense(2)) model.add(Activation('softmax'))
圌女ã®ä»äºã®çµæã¯æ¬¡ã®ãšããã§ãã


ã»ãŒåãåçã åèšç·Žã®å¹æã«åºããããããã¢ãã«ã«æ£ååãè¿œå ããå¿
èŠããããŸãã ã€ãŸããåãã¬ãŒãã³ã°äžã«ããã¬ãŒãã³ã°ããŒã¿ãåã«ãèšæ¶ãããç¥èãæ°ããããŒã¿ã«äžè¬åã§ããªãã¢ãã«ãæ§ç¯ããŸãã æ£ååã®ããã»ã¹ã§ã¯ããã¥ãŒã©ã«ãããã¯ãŒã¯ã®éã¿ã«ç¹å®ã®å¶éã課ããããå€ã«å€§ããªåºããã¯ãªããå€æ°ã®ãã©ã¡ãŒã¿ãŒïŒã€ãŸãããããã¯ãŒã¯ã®éã¿ïŒãããã«ãããããããåçŽåã®ããã«ãããã®äžéšããŒãã«ããå¿
èŠããããŸãã æãäžè¬çãªæ¹æ³ããå§ããŸã-ãšã©ãŒé¢æ°ã«éã¿ã®åèšã®L2ãã«ã ãæã€è¿œå ã®é
ãè¿œå ããŸããKerasã§ã¯ãããã¯keras.regularizers.activity_regularizerã䜿çšããŠè¡ãããŸãã
model = Sequential() model.add(Dense(64, input_dim=30, activity_regularizer=regularizers.l2(0.01))) model.add(BatchNormalization()) model.add(LeakyReLU()) model.add(Dense(16, activity_regularizer=regularizers.l2(0.01))) model.add(BatchNormalization()) model.add(LeakyReLU()) model.add(Dense(2)) model.add(Activation('softmax'))
ãã®ãããªãã¥ãŒã©ã«ãããã¯ãŒã¯ã¯ããšã©ãŒé¢æ°ã®ç¹ã§ãã§ã«å°ãè¯ãåŠç¿ããŠããŸããã粟床ã¯äŸç¶ãšããŠäœäžããŠããŸãã


é«ãã€ãºãŸãã¯ã©ã³ãã ãªæ§è³ªã®ããŒã¿ãåŠçããå Žåããšã©ãŒã®æžå°ãšãããããªå¥åŠãªå¹æããããŸããã粟床ã®äœäžã§ã¯ãããŸãã-ããã¯ã誀差ãã¯ãã¹ãšã³ããããŒå€ã«åºã¥ããŠèšç®ãããããã§ãããšã©ãŒãå€æŽãããå Žåã§ããäžæ£è§£ã®ãŸãŸã«ãªãå ŽåããããŸãã
ãããã£ãŠãè¿å¹Žäººæ°ã®ããããããã¢ãŠãææ³ã䜿çšããŠãã¢ãã«ã«ããã«æ£ååãè¿œå ãã䟡å€ããããŸãã倧ãŸãã«èšãã°ãããã¯ããã¥ãŒãã³ã®åæé©å¿ãåé¿ããããã«ãåŠç¿ããã»ã¹ã§ããã€ãã®éã¿ãã©ã³ãã ã«ãç¡èŠãããããšã§ãïŒåã笊å·ãåŠç¿ããªãããã«ïŒã ã³ãŒãã¯æ¬¡ã®ãšããã§ãã
model = Sequential() model.add(Dense(64, input_dim=30, activity_regularizer=regularizers.l2(0.01))) model.add(BatchNormalization()) model.add(LeakyReLU()) model.add(Dropout(0.5)) model.add(Dense(16, activity_regularizer=regularizers.l2(0.01))) model.add(BatchNormalization()) model.add(LeakyReLU()) model.add(Dense(2)) model.add(Activation('softmax'))
ã芧ã®ãšããã2ã€ã®é ãããã¬ã€ã€ãŒã®éã§ããã¬ãŒãã³ã°äžã«éã¿ã50ïŒ
ã®ç¢ºçã§æ¥ç¶ãããããããããŸãã éåžžãå
¥åã¬ã€ã€ãŒãšæåã®é衚瀺ã¬ã€ã€ãŒã®éã«ããããã¢ãŠãã¯è¿œå ãããŸããããã®å Žåããã€ãºã®å€ãããŒã¿ããåŠç¿ããããã§ãããåºåã®çŽåã«ãè¿œå ãããŸããã ãã¡ããããããã¯ãŒã¯ãã¹ãäžã«ããããã¢ãŠãã¯çºçããŸããã ãã®ãããªã°ãªããã¯ã©ã®ããã«åŠç¿ããŸããïŒ


ã芧ã®ãšããããšã©ãŒãšç²ŸåºŠã®ã°ã©ãã¯é©åã§ããå°ãæ©ããããã¯ãŒã¯ã®ãã¬ãŒãã³ã°ãåæ¢ãããšãäŸ¡æ Œå€åäºæž¬ã®ç²ŸåºŠã®58ïŒ
ãååŸã§ããŸããããã¯ãã©ã³ãã ãªå ãããã確å®ã«åªããŠããŸãã
éèæç³»åãäºæž¬ããäžã§ã®ãã1ã€ã®èå³æ·±ãçŽèŠ³çãªãã€ã³ãã¯ãç¿æ¥ã®å€åãæ¬è³ªçã«ã©ã³ãã ã§ãããšããããšã§ããããã£ãŒããšããŒãœã¯ãèŠããšãä»åŸ5ã10æ¥éã®åŸåã«æ°ä»ãããšãã§ããŸãã ãã¥ãŒãã³ããã®ã¿ã¹ã¯ã«å¯ŸåŠã§ãããã©ããã確èªããŸããã-æåããæåŸã®ã¢ãŒããã¯ãã£ã§5æ¥éã®äŸ¡æ Œå€åãäºæž¬ããèå³ã®ããã«ãããå€ãã®æ代ã«ãã¬ãŒãã³ã°ããŸãã


ã芧ã®ãšããããã¬ãŒãã³ã°ãååæ©æã«åæ¢ãããšïŒæéã®çµéãšãšãã«ãªãŒããŒãã£ãããçºçããŸãïŒã 60ïŒ
ã®ç²ŸåºŠãåŸãããšãã§ããŸããããã¯éåžžã«è¯ãããšã§ãã
ååž°ã¿ã¹ã¯
ååž°ã¿ã¹ã¯ã§ã¯ãæåŸã«æåããåé¡ã®ã¢ãŒããã¯ãã£ïŒå¿
èŠãªå±æ§ãåŠç¿ã§ããããšãæ¢ã«ç€ºãããŠããŸãïŒã䜿çšããŠãããããã¢ãŠããåé€ããããå€ãã®å埩ã§ãã¬ãŒãã³ã°ããŸãã
ãŸãããã®å Žåããšã©ãŒã®å€ã ãã§ãªãã次ã®ã³ãŒãã䜿çšããŠäºæž¬ã®å質ãèŠèŠçã«è©äŸ¡ããããšãã§ããŸãã
pred = model.predict(np.array(X_test)) original = Y_test predicted = pred plt.plot(original, color='black', label = 'Original data') plt.plot(predicted, color='blue', label = 'Predicted data') plt.legend(loc='best') plt.title('Actual and predicted') plt.show()
ãããã¯ãŒã¯ã¢ãŒããã¯ãã£ã¯æ¬¡ã®ããã«ãªããŸãã
model = Sequential() model.add(Dense(64, input_dim=30, activity_regularizer=regularizers.l2(0.01))) model.add(BatchNormalization()) model.add(LeakyReLU()) model.add(Dense(16, activity_regularizer=regularizers.l2(0.01))) model.add(BatchNormalization()) model.add(LeakyReLU()) model.add(Dense(1)) model.add(Activation('linear'))
ãçã調æŽã«è¿ããã¬ãŒãã³ã°ãè¡ããšã©ããªããèŠãŠã¿ãŸãããã

é ãããã¯è¯ãèŠããŸãããããèŠããšããã¥ãŒã©ã«ãããã¯ãŒã¯ã®äºæž¬ãé
ããŠããããšãããããŸããããã¯å€±æãšèŠãªãããšãã§ããŸãã
äŸ¡æ Œã®å€æŽã«ã€ããŠãã¬ãŒãã³ã°ãããšã次ã®çµæãåŸãããŸãã

äžéšã®å€ã¯é©åã«äºæž¬ãããäžéšã®å Žæã§ã¯åŸåãæ£ããæšæž¬ãããŸãããäžè¬çã«ã¯ãŸããŸãã§ãã
è°è«
ååãšããŠãäžèŠãããšãããçµæã¯äžè¬çã«å°è±¡çã§ã¯ãããŸããã ããã¯äºå®ã§ãããå€ãã®ååŠçãè¡ããã«ã1次å
ããŒã¿ã§æãåçŽãªåœ¢åŒã®ãã¥ãŒã©ã«ãããã¯ãŒã¯ããã¬ãŒãã³ã°ããŸããã 粟床ã60ã70ïŒ
ã®ã¬ãã«ã«ããããã®ããã€ãã®æé ããããŸãã
- é«é »åºŠããŒã¿ã§ãã¬ãŒãã³ã°ïŒ1æéããšã5åããšïŒ-ããå€ãã®ããŒã¿-ããå€ãã®ãã¿ãŒã³-ããå°ãªãåãã¬ãŒãã³ã°
- ã·ãŒã±ã³ã¹ã§åäœããããã«èšèšãããããé«åºŠãªãã¥ãŒã©ã«ãããã¯ãŒã¯ã¢ãŒããã¯ãã£ã䜿çšãã-ç³ã¿èŸŒã¿ãã¥ãŒã©ã«ãããã¯ãŒã¯ããªã«ã¬ã³ããã¥ãŒã©ã«ãããã¯ãŒã¯
- çµå€ã ãã§ãªãã.csvã®ãã¹ãŠã®ããŒã¿ïŒé«å€ãå®å€ãå§å€ãçµå€ãéïŒã䜿çšããŸããã€ãŸããããããç¬éã«ãå©çšå¯èœãªãã¹ãŠã®æ
å ±ã«æ³šæãæã£ãŠãã ããã
- ãã€ããŒãã©ã¡ãŒã¿ãŒïŒãŠã£ã³ããŠãµã€ãºãé ãå±€ã®ãã¥ãŒãã³ã®æ°ããã¬ãŒãã³ã°ã¹ãããïŒãæé©åããããã«ãããããã¹ãŠã®ãã©ã¡ãŒã¿ãŒã¯ã©ã³ãã ã«ååŸããã ã©ã³ãã æ€çŽ¢ã䜿çšããŠã45æ¥åã«èª¿ã¹ãŠãããå°ããªã¹ãããã§ããæ·±ãã°ãªãããåŠç¿ããå¿
èŠãããããšãããããŸãã
- ã¿ã¹ã¯ã«ããé©ããæ倱é¢æ°ã䜿çšããŸãïŒããšãã°ãäŸ¡æ Œã®å€åãäºæž¬ããããã«ãééã£ã笊å·ã«å¯ŸããŠãã¥ãŒã©ã«ã埮調æŽã§ããŸããéåžžã®MSEã¯æ°å€ã®ç¬Šå·ã«å¯ŸããŠäžå€ã§ãïŒ
æç³»åäºæž¬ãè¿œæ±ããäž»ãªç®æšã§ãããã®ããŒã¿ãååŒã«äœ¿çšããŠåçæ§ãé«ããããšãç¡èŠããŸããã ããããªã³ã©ã€ã³ãŠã§ãããŒã¢ãŒãã§ç€ºããäºæž¬åé¡ã«ç³ã¿èŸŒã¿ãããã¯ãŒã¯ãšãªã«ã¬ã³ããããã¯ãŒã¯ãé©çšããããã«ãããã®äºæž¬ã䜿çšããŠæŠç¥ã®åçæ§ã確èªããããšæããŸãã èå³ããã人ã¯ã5æ5æ¥18:00 UTC ã«ãã³ã°ã¢ãŠããªã³ãšã¢ã§åŸ
ã£ãŠããŸãã
ãããã«
ãã®èšäºã§ã¯ãæãåçŽãªãã¥ãŒã©ã«ãããã¯ãŒã¯ã¢ãŒããã¯ãã£ã䜿çšããŠãåžå ŽäŸ¡æ Œã®åããäºæž¬ããŸããã ãã®ãã€ãã©ã€ã³ã¯ãããããæç³»åã«äœ¿çšã§ããŸããäž»ãªããšã¯ãé©åãªããŒã¿ååŠçãéžæãããããã¯ãŒã¯ã¢ãŒããã¯ãã£ã決å®ããã¢ã«ãŽãªãºã ã®å質ãè©äŸ¡ããããšã§ãã ä»åã®ã±ãŒã¹ã§ã¯ãéå»30æ¥éã®äŸ¡æ Œæ ã䜿çšããŠã5æ¥éã§60ïŒ
ã®ç²ŸåºŠã§åŸåãäºæž¬ã§ããŸãããããã¯è¯ãçµæãšèããããŸãã äŸ¡æ Œã®å€åãå®éçã«äºæž¬ãããšã倱æãå€æããŸããããã®ã¿ã¹ã¯ã§ã¯ãããæ·±å»ãªããŒã«ãšæç³»åã®çµ±èšåæã䜿çšããããšããå§ãããŸãã IPython Notebookã§äœ¿çšãããŠãããã¹ãŠã®ã³ãŒãã¯ããªã³ã¯ããååŸã§ããŸãã