{"cells":[{"metadata":{"trusted":true},"cell_type":"code","source":"from fastai import __version__ as fastai_version","execution_count":3,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"fastai_version","execution_count":4,"outputs":[{"output_type":"execute_result","execution_count":4,"data":{"text/plain":"'1.0.51'"},"metadata":{}}]},{"metadata":{"trusted":true,"_uuid":"f02146926f9478e8a005abf19c743f1be3de39f6","scrolled":true},"cell_type":"code","source":"from fastai.tabular import *\nfrom fastai.callbacks import SaveModelCallback\nfrom fastai.metrics import mean_absolute_error,mae","execution_count":53,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"30c1f20e07a15cd91f3056208f3c8d3eb238ebf3"},"cell_type":"code","source":"path = Path(\"../input\")","execution_count":6,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"!head ../input/train.csv","execution_count":7,"outputs":[{"output_type":"stream","text":"acoustic_data,time_to_failure\r\n12,1.4690999832\r\n6,1.4690999821\r\n8,1.469099981\r\n5,1.4690999799\r\n8,1.4690999788\r\n8,1.4690999777\r\n9,1.4690999766\r\n7,1.4690999755\r\n-5,1.4690999744\r\n","name":"stdout"}]},{"metadata":{"trusted":true,"_uuid":"890d3950a6132214736c4074922521737aca80b5"},"cell_type":"code","source":"%%time\ntrain_df = pd.read_csv(path/'train.csv', dtype={'acoustic_data': np.int16, 'time_to_failure': np.float32})","execution_count":8,"outputs":[{"output_type":"stream","text":"CPU times: user 2min 23s, sys: 10.8 s, total: 2min 33s\nWall time: 2min 34s\n","name":"stdout"}]},{"metadata":{"trusted":true},"cell_type":"code","source":"train_df.head()","execution_count":9,"outputs":[{"output_type":"execute_result","execution_count":9,"data":{"text/plain":"   acoustic_data  time_to_failure\n0             12           1.4691\n1              6           1.4691\n2              8           1.4691\n3              5           1.4691\n4              8           1.4691","text/html":"<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>acoustic_data</th>\n      <th>time_to_failure</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>12</td>\n      <td>1.4691</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>6</td>\n      <td>1.4691</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>8</td>\n      <td>1.4691</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>5</td>\n      <td>1.4691</td>\n    </tr>\n    <tr>\n      <th>4</th>\n      <td>8</td>\n      <td>1.4691</td>\n    </tr>\n  </tbody>\n</table>\n</div>"},"metadata":{}}]},{"metadata":{"trusted":true},"cell_type":"code","source":"len(train_df)","execution_count":10,"outputs":[{"output_type":"execute_result","execution_count":10,"data":{"text/plain":"629145480"},"metadata":{}}]},{"metadata":{"_uuid":"9796412b9d4fc2361ffb229e126071c24756fc2e"},"cell_type":"markdown","source":"# Preprocessing data.\nI used https://www.kaggle.com/gpreda/lanl-earthquake-eda-and-prediction"},{"metadata":{"trusted":true,"_uuid":"89261a53cabd2c2069f627ff6c4d47746c259424"},"cell_type":"code","source":"rows = 150000\nsegments = int(np.floor(train_df.shape[0] / rows))","execution_count":11,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"segments","execution_count":12,"outputs":[{"output_type":"execute_result","execution_count":12,"data":{"text/plain":"4194"},"metadata":{}}]},{"metadata":{"trusted":true,"_uuid":"5cdb7f28e08186acd27e57849c69393620954fa4"},"cell_type":"code","source":"train_X = pd.DataFrame(index=range(segments), dtype=np.float64)\ntrain_y = pd.DataFrame(index=range(segments), dtype=np.float64, columns=['time_to_failure'])","execution_count":13,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"c019e349542faf34c2993789d205cec326b1130c"},"cell_type":"code","source":"import warnings\nfrom scipy import stats\nfrom scipy.signal import hann\nimport matplotlib.pyplot as plt\nfrom scipy.signal import hilbert\nfrom scipy.signal import convolve\nfrom sklearn.svm import NuSVR, SVR\nfrom sklearn.kernel_ridge import KernelRidge\nfrom sklearn.metrics import mean_squared_error\nfrom sklearn.preprocessing import LabelEncoder\nfrom sklearn.metrics import mean_absolute_error\nfrom sklearn.preprocessing import StandardScaler\nfrom tqdm import tqdm\nfrom sklearn.linear_model import LinearRegression\nfrom sklearn.model_selection import KFold,StratifiedKFold, RepeatedKFold\nwarnings.filterwarnings(\"ignore\")","execution_count":14,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"0365dffe580dce46c07c8f361283c59076b02739"},"cell_type":"code","source":"def add_trend_feature(arr, abs_values=False):\n    idx = np.array(range(len(arr)))\n    if abs_values:\n        arr = np.abs(arr)\n    lr = LinearRegression()\n    lr.fit(idx.reshape(-1, 1), arr)\n    return lr.coef_[0]\n\ndef classic_sta_lta(x, length_sta, length_lta):\n    sta = np.cumsum(x ** 2)\n    # Convert to float\n    sta = np.require(sta, dtype=np.float)\n    # Copy for LTA\n    lta = sta.copy()\n    # Compute the STA and the LTA\n    sta[length_sta:] = sta[length_sta:] - sta[:-length_sta]\n    sta /= length_sta\n    lta[length_lta:] = lta[length_lta:] - lta[:-length_lta]\n    lta /= length_lta\n    # Pad zeros\n    sta[:length_lta - 1] = 0\n    # Avoid division by zero by setting zero values to tiny float\n    dtiny = np.finfo(0.0).tiny\n    idx = lta < dtiny\n    lta[idx] = dtiny\n    return sta / lta","execution_count":15,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"8d8c8db2a98dac84c0046d33bb675cfa328308e9"},"cell_type":"code","source":"def create_features(seg_id, seg, X):\n    xc = pd.Series(seg['acoustic_data'].values)\n    zc = np.fft.fft(xc)\n    \n    X.loc[seg_id, 'mean'] = xc.mean()\n    X.loc[seg_id, 'std'] = xc.std()\n    X.loc[seg_id, 'max'] = xc.max()\n    X.loc[seg_id, 'min'] = xc.min()\n    \n    #FFT transform values\n    realFFT = np.real(zc)\n    imagFFT = np.imag(zc)\n    X.loc[seg_id, 'Rmean'] = realFFT.mean()\n    X.loc[seg_id, 'Rstd'] = realFFT.std()\n    X.loc[seg_id, 'Rmax'] = realFFT.max()\n    X.loc[seg_id, 'Rmin'] = realFFT.min()\n    X.loc[seg_id, 'Imean'] = imagFFT.mean()\n    X.loc[seg_id, 'Istd'] = imagFFT.std()\n    X.loc[seg_id, 'Imax'] = imagFFT.max()\n    X.loc[seg_id, 'Imin'] = imagFFT.min()\n    X.loc[seg_id, 'Rmean_last_5000'] = realFFT[-5000:].mean()\n    X.loc[seg_id, 'Rstd__last_5000'] = realFFT[-5000:].std()\n    X.loc[seg_id, 'Rmax_last_5000'] = realFFT[-5000:].max()\n    X.loc[seg_id, 'Rmin_last_5000'] = realFFT[-5000:].min()\n    X.loc[seg_id, 'Rmean_last_15000'] = realFFT[-15000:].mean()\n    X.loc[seg_id, 'Rstd_last_15000'] = realFFT[-15000:].std()\n    X.loc[seg_id, 'Rmax_last_15000'] = realFFT[-15000:].max()\n    X.loc[seg_id, 'Rmin_last_15000'] = realFFT[-15000:].min()\n    \n    X.loc[seg_id, 'mean_change_abs'] = np.mean(np.diff(xc))\n    X.loc[seg_id, 'mean_change_rate'] = np.mean(np.nonzero((np.diff(xc) / xc[:-1]))[0])\n    X.loc[seg_id, 'abs_max'] = np.abs(xc).max()\n    \n    X.loc[seg_id, 'std_first_50000'] = xc[:50000].std()\n    X.loc[seg_id, 'std_last_50000'] = xc[-50000:].std()\n    X.loc[seg_id, 'std_first_10000'] = xc[:10000].std()\n    X.loc[seg_id, 'std_last_10000'] = xc[-10000:].std()\n    \n    X.loc[seg_id, 'avg_first_50000'] = xc[:50000].mean()\n    X.loc[seg_id, 'avg_last_50000'] = xc[-50000:].mean()\n    X.loc[seg_id, 'avg_first_10000'] = xc[:10000].mean()\n    X.loc[seg_id, 'avg_last_10000'] = xc[-10000:].mean()\n    \n    X.loc[seg_id, 'min_first_50000'] = xc[:50000].min()\n    X.loc[seg_id, 'min_last_50000'] = xc[-50000:].min()\n    X.loc[seg_id, 'min_first_10000'] = xc[:10000].min()\n    X.loc[seg_id, 'min_last_10000'] = xc[-10000:].min()\n    \n    X.loc[seg_id, 'max_first_50000'] = xc[:50000].max()\n    X.loc[seg_id, 'max_last_50000'] = xc[-50000:].max()\n    X.loc[seg_id, 'max_first_10000'] = xc[:10000].max()\n    X.loc[seg_id, 'max_last_10000'] = xc[-10000:].max()\n    \n    X.loc[seg_id, 'max_to_min'] = xc.max() / np.abs(xc.min())\n    X.loc[seg_id, 'max_to_min_diff'] = xc.max() - np.abs(xc.min())\n    X.loc[seg_id, 'sum'] = xc.sum()\n    \n    X.loc[seg_id, 'mean_change_rate_first_50000'] = np.mean(np.nonzero((np.diff(xc[:50000]) / xc[:50000][:-1]))[0])\n    X.loc[seg_id, 'mean_change_rate_last_50000'] = np.mean(np.nonzero((np.diff(xc[-50000:]) / xc[-50000:][:-1]))[0])\n    X.loc[seg_id, 'mean_change_rate_first_10000'] = np.mean(np.nonzero((np.diff(xc[:10000]) / xc[:10000][:-1]))[0])\n    X.loc[seg_id, 'mean_change_rate_last_10000'] = np.mean(np.nonzero((np.diff(xc[-10000:]) / xc[-10000:][:-1]))[0])\n    \n    X.loc[seg_id, 'q95'] = np.quantile(xc, 0.95)\n    X.loc[seg_id, 'q99'] = np.quantile(xc, 0.99)\n    X.loc[seg_id, 'q05'] = np.quantile(xc, 0.05)\n    X.loc[seg_id, 'q01'] = np.quantile(xc, 0.01)\n    \n    X.loc[seg_id, 'abs_q95'] = np.quantile(np.abs(xc), 0.95)\n    X.loc[seg_id, 'abs_q99'] = np.quantile(np.abs(xc), 0.99)\n    X.loc[seg_id, 'abs_q05'] = np.quantile(np.abs(xc), 0.05)\n    \n    X.loc[seg_id, 'trend'] = add_trend_feature(xc)\n    X.loc[seg_id, 'abs_trend'] = add_trend_feature(xc, abs_values=True)\n    X.loc[seg_id, 'abs_mean'] = np.abs(xc).mean()\n    X.loc[seg_id, 'abs_std'] = np.abs(xc).std()\n    \n    X.loc[seg_id, 'mad'] = xc.mad()\n    X.loc[seg_id, 'kurt'] = xc.kurtosis()\n    X.loc[seg_id, 'skew'] = xc.skew()\n    \n    X.loc[seg_id, 'Hilbert_mean'] = np.abs(hilbert(xc)).mean()\n    X.loc[seg_id, 'Hann_window_mean'] = (convolve(xc, hann(150), mode='same') / sum(hann(150))).mean()\n    X.loc[seg_id, 'classic_sta_lta1_mean'] = classic_sta_lta(xc, 500, 10000).mean()\n    X.loc[seg_id, 'classic_sta_lta2_mean'] = classic_sta_lta(xc, 5000, 100000).mean()\n    X.loc[seg_id, 'classic_sta_lta3_mean'] = classic_sta_lta(xc, 3333, 6666).mean()\n    X.loc[seg_id, 'classic_sta_lta4_mean'] = classic_sta_lta(xc, 10000, 25000).mean()\n    X.loc[seg_id, 'Moving_average_700_mean'] = xc.rolling(window=700).mean().mean(skipna=True)\n    X.loc[seg_id, 'Moving_average_1500_mean'] = xc.rolling(window=1500).mean().mean(skipna=True)\n    X.loc[seg_id, 'Moving_average_3000_mean'] = xc.rolling(window=3000).mean().mean(skipna=True)\n    X.loc[seg_id, 'Moving_average_6000_mean'] = xc.rolling(window=6000).mean().mean(skipna=True)\n    ewma = pd.Series.ewm\n    X.loc[seg_id, 'exp_Moving_average_300_mean'] = (ewma(xc, span=300).mean()).mean(skipna=True)\n    X.loc[seg_id, 'exp_Moving_average_3000_mean'] = ewma(xc, span=3000).mean().mean(skipna=True)\n    X.loc[seg_id, 'exp_Moving_average_30000_mean'] = ewma(xc, span=30000).mean().mean(skipna=True)\n    no_of_std = 2\n    X.loc[seg_id, 'MA_700MA_std_mean'] = xc.rolling(window=700).std().mean()\n    X.loc[seg_id,'MA_700MA_BB_high_mean'] = (X.loc[seg_id, 'Moving_average_700_mean'] + no_of_std * X.loc[seg_id, 'MA_700MA_std_mean']).mean()\n    X.loc[seg_id,'MA_700MA_BB_low_mean'] = (X.loc[seg_id, 'Moving_average_700_mean'] - no_of_std * X.loc[seg_id, 'MA_700MA_std_mean']).mean()\n    X.loc[seg_id, 'MA_400MA_std_mean'] = xc.rolling(window=400).std().mean()\n    X.loc[seg_id,'MA_400MA_BB_high_mean'] = (X.loc[seg_id, 'Moving_average_700_mean'] + no_of_std * X.loc[seg_id, 'MA_400MA_std_mean']).mean()\n    X.loc[seg_id,'MA_400MA_BB_low_mean'] = (X.loc[seg_id, 'Moving_average_700_mean'] - no_of_std * X.loc[seg_id, 'MA_400MA_std_mean']).mean()\n    X.loc[seg_id, 'MA_1000MA_std_mean'] = xc.rolling(window=1000).std().mean()\n    \n    X.loc[seg_id, 'iqr'] = np.subtract(*np.percentile(xc, [75, 25]))\n    X.loc[seg_id, 'q999'] = np.quantile(xc,0.999)\n    X.loc[seg_id, 'q001'] = np.quantile(xc,0.001)\n    X.loc[seg_id, 'ave10'] = stats.trim_mean(xc, 0.1)\n    \n    for windows in [10, 100, 1000]:\n        x_roll_std = xc.rolling(windows).std().dropna().values\n        x_roll_mean = xc.rolling(windows).mean().dropna().values\n        \n        X.loc[seg_id, 'ave_roll_std_' + str(windows)] = x_roll_std.mean()\n        X.loc[seg_id, 'std_roll_std_' + str(windows)] = x_roll_std.std()\n        X.loc[seg_id, 'max_roll_std_' + str(windows)] = x_roll_std.max()\n        X.loc[seg_id, 'min_roll_std_' + str(windows)] = x_roll_std.min()\n        X.loc[seg_id, 'q01_roll_std_' + str(windows)] = np.quantile(x_roll_std, 0.01)\n        X.loc[seg_id, 'q05_roll_std_' + str(windows)] = np.quantile(x_roll_std, 0.05)\n        X.loc[seg_id, 'q95_roll_std_' + str(windows)] = np.quantile(x_roll_std, 0.95)\n        X.loc[seg_id, 'q99_roll_std_' + str(windows)] = np.quantile(x_roll_std, 0.99)\n        X.loc[seg_id, 'av_change_abs_roll_std_' + str(windows)] = np.mean(np.diff(x_roll_std))\n        X.loc[seg_id, 'av_change_rate_roll_std_' + str(windows)] = np.mean(np.nonzero((np.diff(x_roll_std) / x_roll_std[:-1]))[0])\n        X.loc[seg_id, 'abs_max_roll_std_' + str(windows)] = np.abs(x_roll_std).max()\n        \n        X.loc[seg_id, 'std_roll_mean_' + str(windows)] = x_roll_mean.std()\n        X.loc[seg_id, 'max_roll_mean_' + str(windows)] = x_roll_mean.max()\n        X.loc[seg_id, 'min_roll_mean_' + str(windows)] = x_roll_mean.min()\n        X.loc[seg_id, 'q01_roll_mean_' + str(windows)] = np.quantile(x_roll_mean, 0.01)\n        X.loc[seg_id, 'q05_roll_mean_' + str(windows)] = np.quantile(x_roll_mean, 0.05)\n        X.loc[seg_id, 'q95_roll_mean_' + str(windows)] = np.quantile(x_roll_mean, 0.95)\n        X.loc[seg_id, 'q99_roll_mean_' + str(windows)] = np.quantile(x_roll_mean, 0.99)\n        X.loc[seg_id, 'av_change_abs_roll_mean_' + str(windows)] = np.mean(np.diff(x_roll_mean))\n        X.loc[seg_id, 'av_change_rate_roll_mean_' + str(windows)] = np.mean(np.nonzero((np.diff(x_roll_mean) / x_roll_mean[:-1]))[0])\n        X.loc[seg_id, 'abs_max_roll_mean_' + str(windows)] = np.abs(x_roll_mean).max()","execution_count":17,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"fc5a25685c5af8a12d4478dbe75e6a9bad0c19d1"},"cell_type":"code","source":"# iterate over all segments\nfor seg_id in tqdm(range(segments)):\n    seg = train_df.iloc[seg_id*rows:seg_id*rows+rows]\n    create_features(seg_id, seg, train_X)\n    train_y.loc[seg_id, 'time_to_failure'] = seg['time_to_failure'].values[-1]","execution_count":18,"outputs":[{"output_type":"stream","text":"100%|██████████| 4194/4194 [23:10<00:00,  3.01it/s]\n","name":"stderr"}]},{"metadata":{"trusted":true,"_uuid":"c8b2fa785da89673e3a76b6eab4c0032789e7b43"},"cell_type":"code","source":"submission = pd.read_csv(path/'sample_submission.csv', index_col='seg_id')\ntest_X = pd.DataFrame(columns=train_X.columns, dtype=np.float64, index=submission.index)","execution_count":19,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"a391483ba9565d6e789c4052f088ea12bcf27093"},"cell_type":"code","source":"for seg_id in tqdm(test_X.index):\n    seg = pd.read_csv(path/f'test/{seg_id}.csv')\n    create_features(seg_id, seg, test_X)","execution_count":20,"outputs":[{"output_type":"stream","text":"100%|██████████| 2624/2624 [15:26<00:00,  2.84it/s]\n","name":"stderr"}]},{"metadata":{"trusted":true,"_uuid":"4ec1f654a82d5403d759393fa25d01f4c50625a0"},"cell_type":"code","source":"test_X.reset_index(inplace=True)","execution_count":21,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"b4d47c592cd5cc0c90b96a1710e92f51d07bdfd9"},"cell_type":"code","source":"df = pd.concat([train_X, train_y], axis=1)","execution_count":22,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"82b1d711b7b2bc5b9d1e59bd394572c94747ca9c"},"cell_type":"code","source":"df.to_feather(\"df\")\ntest_X.to_hdf('df_test.h5', key=\"df_test\")\ndf = pd.read_feather(\"df\")\ntest_df = pd.read_hdf('df_test.h5', key=\"df_test\")","execution_count":23,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"871ecc3b4af29928cceb2daa125e9c4f5d8e0034"},"cell_type":"code","source":"","execution_count":24,"outputs":[{"output_type":"execute_result","execution_count":24,"data":{"text/plain":"(4194, 148)"},"metadata":{}}]},{"metadata":{"trusted":true,"_uuid":"b214aadd4763eccdca19fc9bb03ad9a22ed458c9"},"cell_type":"code","source":"dep_var = 'time_to_failure'\ncont_names = None\ncat_names = None\n\nprocs = [FillMissing, Categorify, Normalize]\n# procs = [FillMissing, Categorify]","execution_count":25,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"6655de447bc4e83ccde7fa866d67af80349ae06e"},"cell_type":"code","source":"data = TabularDataBunch.from_df(path, df, dep_var, valid_idx=range(0,800), procs=procs, test_df=test_df)","execution_count":26,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"e5d9cabc42831249a3f8ff69f0bdee1fdb015ade"},"cell_type":"code","source":"data.show_batch(rows=10)","execution_count":27,"outputs":[{"output_type":"display_data","data":{"text/plain":"<IPython.core.display.HTML object>","text/html":"<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th>max_first_50000</th>\n      <th>max_first_10000</th>\n      <th>av_change_rate_roll_mean_1000</th>\n      <th>q05_roll_std_10</th>\n      <th>q999</th>\n      <th>std_roll_mean_10</th>\n      <th>Istd</th>\n      <th>MA_400MA_std_mean</th>\n      <th>ave_roll_std_1000</th>\n      <th>std_roll_mean_100</th>\n      <th>q95_roll_mean_100</th>\n      <th>min_last_50000</th>\n      <th>q05_roll_std_1000</th>\n      <th>av_change_abs_roll_std_1000</th>\n      <th>q01_roll_mean_100</th>\n      <th>MA_400MA_BB_high_mean</th>\n      <th>max_roll_mean_1000</th>\n      <th>Rmax</th>\n      <th>MA_400MA_BB_low_mean</th>\n      <th>av_change_abs_roll_std_100</th>\n      <th>MA_1000MA_std_mean</th>\n      <th>classic_sta_lta1_mean</th>\n      <th>q99_roll_std_100</th>\n      <th>abs_max</th>\n      <th>Imin</th>\n      <th>abs_q05</th>\n      <th>min_roll_std_10</th>\n      <th>q001</th>\n      <th>Rstd__last_5000</th>\n      <th>av_change_rate_roll_mean_10</th>\n      <th>abs_max_roll_mean_1000</th>\n      <th>min_first_50000</th>\n      <th>Imean</th>\n      <th>sum</th>\n      <th>exp_Moving_average_300_mean</th>\n      <th>exp_Moving_average_3000_mean</th>\n      <th>q99_roll_std_1000</th>\n      <th>min_roll_mean_100</th>\n      <th>Rmax_last_5000</th>\n      <th>max_roll_mean_100</th>\n      <th>min_roll_std_1000</th>\n      <th>max_to_min</th>\n      <th>Moving_average_700_mean</th>\n      <th>Rmean_last_15000</th>\n      <th>std_roll_std_1000</th>\n      <th>q99_roll_std_10</th>\n      <th>mean_change_rate_last_10000</th>\n      <th>mean_change_rate_last_50000</th>\n      <th>av_change_abs_roll_mean_10</th>\n      <th>ave_roll_std_100</th>\n      <th>av_change_abs_roll_mean_1000</th>\n      <th>q01_roll_std_10</th>\n      <th>avg_first_10000</th>\n      <th>std</th>\n      <th>ave_roll_std_10</th>\n      <th>max_to_min_diff</th>\n      <th>Imax</th>\n      <th>std_last_50000</th>\n      <th>q99_roll_mean_1000</th>\n      <th>Moving_average_3000_mean</th>\n      <th>av_change_abs_roll_mean_100</th>\n      <th>avg_first_50000</th>\n      <th>Rmin_last_15000</th>\n      <th>exp_Moving_average_30000_mean</th>\n      <th>q05_roll_mean_100</th>\n      <th>abs_trend</th>\n      <th>mean_change_rate_first_10000</th>\n      <th>q95_roll_std_1000</th>\n      <th>q01_roll_std_100</th>\n      <th>max</th>\n      <th>abs_mean</th>\n      <th>Moving_average_6000_mean</th>\n      <th>av_change_rate_roll_std_10</th>\n      <th>avg_last_10000</th>\n      <th>q99_roll_mean_100</th>\n      <th>abs_q95</th>\n      <th>q01</th>\n      <th>trend</th>\n      <th>std_last_10000</th>\n      <th>std_first_50000</th>\n      <th>q95_roll_mean_10</th>\n      <th>MA_700MA_BB_high_mean</th>\n      <th>min</th>\n      <th>mad</th>\n      <th>std_roll_std_10</th>\n      <th>std_roll_mean_1000</th>\n      <th>min_roll_mean_10</th>\n      <th>abs_max_roll_mean_100</th>\n      <th>Rmax_last_15000</th>\n      <th>mean</th>\n      <th>ave10</th>\n      <th>Rstd_last_15000</th>\n      <th>classic_sta_lta2_mean</th>\n      <th>q05_roll_mean_1000</th>\n      <th>q01_roll_mean_10</th>\n      <th>mean_change_abs</th>\n      <th>abs_max_roll_mean_10</th>\n      <th>q99</th>\n      <th>std_first_10000</th>\n      <th>abs_max_roll_std_100</th>\n      <th>kurt</th>\n      <th>min_first_10000</th>\n      <th>avg_last_50000</th>\n      <th>mean_change_rate</th>\n      <th>std_roll_std_100</th>\n      <th>q95_roll_mean_1000</th>\n      <th>min_roll_mean_1000</th>\n      <th>av_change_abs_roll_std_10</th>\n      <th>max_last_50000</th>\n      <th>q95</th>\n      <th>max_roll_std_10</th>\n      <th>max_roll_std_1000</th>\n      <th>skew</th>\n      <th>abs_std</th>\n      <th>q05_roll_std_100</th>\n      <th>mean_change_rate_first_50000</th>\n      <th>q95_roll_std_10</th>\n      <th>Rmin_last_5000</th>\n      <th>min_roll_std_100</th>\n      <th>Rmean</th>\n      <th>abs_max_roll_std_1000</th>\n      <th>av_change_rate_roll_mean_100</th>\n      <th>max_roll_std_100</th>\n      <th>min_last_10000</th>\n      <th>MA_700MA_BB_low_mean</th>\n      <th>q05</th>\n      <th>q99_roll_mean_10</th>\n      <th>Rstd</th>\n      <th>Rmean_last_5000</th>\n      <th>q01_roll_std_1000</th>\n      <th>Hann_window_mean</th>\n      <th>max_roll_mean_10</th>\n      <th>q01_roll_mean_1000</th>\n      <th>max_last_10000</th>\n      <th>classic_sta_lta4_mean</th>\n      <th>Moving_average_1500_mean</th>\n      <th>classic_sta_lta3_mean</th>\n      <th>MA_700MA_std_mean</th>\n      <th>av_change_rate_roll_std_100</th>\n      <th>q05_roll_mean_10</th>\n      <th>q95_roll_std_100</th>\n      <th>Hilbert_mean</th>\n      <th>av_change_rate_roll_std_1000</th>\n      <th>Rmin</th>\n      <th>iqr</th>\n      <th>abs_max_roll_std_10</th>\n      <th>abs_q99</th>\n      <th>target</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <td>-0.2855</td>\n      <td>-0.3068</td>\n      <td>0.7454</td>\n      <td>-0.5830</td>\n      <td>-0.1740</td>\n      <td>-0.1954</td>\n      <td>-0.1998</td>\n      <td>-0.2904</td>\n      <td>-0.3026</td>\n      <td>-0.1542</td>\n      <td>0.8259</td>\n      <td>-0.1039</td>\n      <td>-0.5148</td>\n      <td>-0.2025</td>\n      <td>0.3521</td>\n      <td>-0.2191</td>\n      <td>-0.0597</td>\n      <td>1.1981</td>\n      <td>0.3605</td>\n      <td>0.2203</td>\n      <td>-0.3026</td>\n      <td>0.0482</td>\n      <td>-0.1526</td>\n      <td>-0.2067</td>\n      <td>0.1926</td>\n      <td>0.2814</td>\n      <td>0.2099</td>\n      <td>0.1784</td>\n      <td>-0.1797</td>\n      <td>0.4382</td>\n      <td>-0.0597</td>\n      <td>0.2078</td>\n      <td>0.0000</td>\n      <td>1.1981</td>\n      <td>1.2000</td>\n      <td>1.2157</td>\n      <td>-0.1816</td>\n      <td>0.2225</td>\n      <td>-0.2013</td>\n      <td>-0.1821</td>\n      <td>0.1518</td>\n      <td>-1.6132</td>\n      <td>1.2026</td>\n      <td>-1.5201</td>\n      <td>-0.1878</td>\n      <td>-0.1745</td>\n      <td>-2.6463</td>\n      <td>-0.5759</td>\n      <td>-0.7502</td>\n      <td>-0.2791</td>\n      <td>-0.9121</td>\n      <td>-0.4429</td>\n      <td>1.0724</td>\n      <td>-0.2003</td>\n      <td>-0.2789</td>\n      <td>-0.4686</td>\n      <td>-0.1926</td>\n      <td>-0.0618</td>\n      <td>0.4919</td>\n      <td>1.2227</td>\n      <td>-1.2795</td>\n      <td>1.3364</td>\n      <td>0.3557</td>\n      <td>1.2804</td>\n      <td>1.1266</td>\n      <td>0.0448</td>\n      <td>0.5104</td>\n      <td>-0.2721</td>\n      <td>-0.4887</td>\n      <td>-0.2772</td>\n      <td>-0.0864</td>\n      <td>1.2422</td>\n      <td>0.4931</td>\n      <td>0.2296</td>\n      <td>0.0283</td>\n      <td>-0.2495</td>\n      <td>0.2324</td>\n      <td>-0.8663</td>\n      <td>0.5696</td>\n      <td>-0.2478</td>\n      <td>-0.1446</td>\n      <td>-0.2283</td>\n      <td>0.1523</td>\n      <td>-0.2776</td>\n      <td>-0.2084</td>\n      <td>-0.2015</td>\n      <td>0.1216</td>\n      <td>-0.1817</td>\n      <td>-0.1903</td>\n      <td>1.1981</td>\n      <td>1.2035</td>\n      <td>-0.2061</td>\n      <td>0.6664</td>\n      <td>1.1499</td>\n      <td>0.2349</td>\n      <td>1.3125</td>\n      <td>-0.1862</td>\n      <td>-0.1628</td>\n      <td>-0.2032</td>\n      <td>-0.1905</td>\n      <td>-0.4311</td>\n      <td>0.1175</td>\n      <td>0.8511</td>\n      <td>0.6815</td>\n      <td>-0.1970</td>\n      <td>0.9162</td>\n      <td>0.2661</td>\n      <td>-0.4137</td>\n      <td>-0.0967</td>\n      <td>-0.0895</td>\n      <td>-0.2437</td>\n      <td>-0.1638</td>\n      <td>-0.9930</td>\n      <td>-0.1910</td>\n      <td>-0.5423</td>\n      <td>0.9176</td>\n      <td>-0.3041</td>\n      <td>0.2716</td>\n      <td>-0.7267</td>\n      <td>-1.8252</td>\n      <td>-0.1638</td>\n      <td>0.2138</td>\n      <td>-0.1905</td>\n      <td>-0.9811</td>\n      <td>0.3655</td>\n      <td>0.5219</td>\n      <td>-0.1647</td>\n      <td>-0.1336</td>\n      <td>-0.8697</td>\n      <td>-0.3470</td>\n      <td>1.1986</td>\n      <td>-0.2760</td>\n      <td>0.6155</td>\n      <td>0.5894</td>\n      <td>0.7742</td>\n      <td>1.2092</td>\n      <td>0.2186</td>\n      <td>-0.2974</td>\n      <td>0.2378</td>\n      <td>0.5912</td>\n      <td>-0.1707</td>\n      <td>-0.1784</td>\n      <td>0.7591</td>\n      <td>0.3557</td>\n      <td>-0.9580</td>\n      <td>-0.2437</td>\n      <td>-0.1597</td>\n      <td>7.860896</td>\n    </tr>\n    <tr>\n      <td>-0.4392</td>\n      <td>-0.4229</td>\n      <td>-0.2846</td>\n      <td>-1.6667</td>\n      <td>-0.3632</td>\n      <td>-0.3796</td>\n      <td>-0.3760</td>\n      <td>-0.6678</td>\n      <td>-0.6930</td>\n      <td>-0.2026</td>\n      <td>-1.5947</td>\n      <td>0.4747</td>\n      <td>-1.3124</td>\n      <td>-0.2493</td>\n      <td>-0.0310</td>\n      <td>-0.7514</td>\n      <td>-0.2924</td>\n      <td>-1.4234</td>\n      <td>0.5821</td>\n      <td>-0.0120</td>\n      <td>-0.6930</td>\n      <td>-0.7634</td>\n      <td>-0.3230</td>\n      <td>-0.4247</td>\n      <td>0.4657</td>\n      <td>0.2814</td>\n      <td>-1.1276</td>\n      <td>0.3339</td>\n      <td>-0.3085</td>\n      <td>-0.1206</td>\n      <td>-0.2924</td>\n      <td>0.3783</td>\n      <td>-0.0000</td>\n      <td>-1.4234</td>\n      <td>-1.4248</td>\n      <td>-1.4234</td>\n      <td>-0.3236</td>\n      <td>0.2728</td>\n      <td>-0.3530</td>\n      <td>-0.3375</td>\n      <td>-1.7019</td>\n      <td>-0.5907</td>\n      <td>-1.4264</td>\n      <td>0.3449</td>\n      <td>-0.3775</td>\n      <td>-0.4116</td>\n      <td>0.3979</td>\n      <td>-0.3376</td>\n      <td>0.3065</td>\n      <td>-0.6508</td>\n      <td>-0.1500</td>\n      <td>-0.9223</td>\n      <td>-0.8691</td>\n      <td>-0.3782</td>\n      <td>-0.6773</td>\n      <td>-0.1784</td>\n      <td>-0.4657</td>\n      <td>-0.3857</td>\n      <td>-1.1058</td>\n      <td>-1.4363</td>\n      <td>0.8947</td>\n      <td>-1.3852</td>\n      <td>0.4523</td>\n      <td>-1.4077</td>\n      <td>-0.9645</td>\n      <td>0.0176</td>\n      <td>0.8294</td>\n      <td>-0.8761</td>\n      <td>-1.6779</td>\n      <td>-0.4370</td>\n      <td>-0.7023</td>\n      <td>-1.4525</td>\n      <td>-0.1550</td>\n      <td>-1.3003</td>\n      <td>-0.4927</td>\n      <td>-0.7122</td>\n      <td>0.5133</td>\n      <td>0.1142</td>\n      <td>-0.4150</td>\n      <td>-0.3490</td>\n      <td>-1.0802</td>\n      <td>-0.7637</td>\n      <td>0.3987</td>\n      <td>-0.6513</td>\n      <td>-0.4171</td>\n      <td>-0.1344</td>\n      <td>0.3744</td>\n      <td>-0.3358</td>\n      <td>-0.4408</td>\n      <td>-1.4234</td>\n      <td>-1.3877</td>\n      <td>-0.4143</td>\n      <td>-0.2893</td>\n      <td>-1.3476</td>\n      <td>0.5209</td>\n      <td>-0.4302</td>\n      <td>-0.3924</td>\n      <td>-0.5811</td>\n      <td>-0.2923</td>\n      <td>-0.4033</td>\n      <td>-0.8160</td>\n      <td>0.3126</td>\n      <td>-1.1925</td>\n      <td>0.0377</td>\n      <td>-0.3934</td>\n      <td>-1.5456</td>\n      <td>-0.0884</td>\n      <td>0.1283</td>\n      <td>-0.4142</td>\n      <td>-0.9448</td>\n      <td>-0.4426</td>\n      <td>-0.3509</td>\n      <td>-0.4945</td>\n      <td>-0.3430</td>\n      <td>-1.6414</td>\n      <td>-0.6588</td>\n      <td>-0.8564</td>\n      <td>0.4230</td>\n      <td>-1.6228</td>\n      <td>0.5607</td>\n      <td>-0.3509</td>\n      <td>-0.1227</td>\n      <td>-0.4033</td>\n      <td>0.4811</td>\n      <td>0.5994</td>\n      <td>0.5219</td>\n      <td>-0.5738</td>\n      <td>-0.3284</td>\n      <td>0.1604</td>\n      <td>-1.3019</td>\n      <td>-1.4235</td>\n      <td>-0.4144</td>\n      <td>-0.6912</td>\n      <td>-0.5543</td>\n      <td>0.0492</td>\n      <td>-1.4297</td>\n      <td>0.2153</td>\n      <td>-0.6826</td>\n      <td>-0.0951</td>\n      <td>0.5912</td>\n      <td>-0.9196</td>\n      <td>-0.6768</td>\n      <td>-0.3041</td>\n      <td>0.4523</td>\n      <td>-0.9580</td>\n      <td>-0.4426</td>\n      <td>-0.3783</td>\n      <td>0.030399311</td>\n    </tr>\n    <tr>\n      <td>-0.1062</td>\n      <td>0.4543</td>\n      <td>-0.5780</td>\n      <td>-0.8494</td>\n      <td>-0.2897</td>\n      <td>-0.3042</td>\n      <td>-0.3210</td>\n      <td>-0.5534</td>\n      <td>-0.5765</td>\n      <td>-0.1340</td>\n      <td>-0.1969</td>\n      <td>0.3103</td>\n      <td>-0.9864</td>\n      <td>-0.0440</td>\n      <td>0.0946</td>\n      <td>-0.5768</td>\n      <td>-0.1145</td>\n      <td>-0.4034</td>\n      <td>0.5281</td>\n      <td>0.1001</td>\n      <td>-0.5765</td>\n      <td>-1.3633</td>\n      <td>-0.3220</td>\n      <td>-0.2839</td>\n      <td>0.3133</td>\n      <td>0.2814</td>\n      <td>-0.4251</td>\n      <td>0.3132</td>\n      <td>-0.2399</td>\n      <td>-0.5607</td>\n      <td>-0.1145</td>\n      <td>0.1112</td>\n      <td>0.0000</td>\n      <td>-0.4034</td>\n      <td>-0.4037</td>\n      <td>-0.4140</td>\n      <td>-0.2987</td>\n      <td>0.2500</td>\n      <td>-0.1584</td>\n      <td>-0.1978</td>\n      <td>-0.4744</td>\n      <td>0.2184</td>\n      <td>-0.4050</td>\n      <td>0.3078</td>\n      <td>-0.3070</td>\n      <td>-0.3989</td>\n      <td>1.7153</td>\n      <td>-0.8715</td>\n      <td>-0.0810</td>\n      <td>-0.5367</td>\n      <td>0.4422</td>\n      <td>-0.5381</td>\n      <td>0.1287</td>\n      <td>-0.3219</td>\n      <td>-0.5703</td>\n      <td>-0.0070</td>\n      <td>-0.3133</td>\n      <td>-0.3241</td>\n      <td>0.2068</td>\n      <td>-0.4272</td>\n      <td>-0.0022</td>\n      <td>-0.8607</td>\n      <td>0.3531</td>\n      <td>-0.5307</td>\n      <td>-0.2675</td>\n      <td>0.0120</td>\n      <td>-0.2530</td>\n      <td>-0.8044</td>\n      <td>-0.7810</td>\n      <td>-0.2844</td>\n      <td>-0.4992</td>\n      <td>-0.4616</td>\n      <td>-0.5518</td>\n      <td>1.3806</td>\n      <td>-0.1801</td>\n      <td>-0.4809</td>\n      <td>0.5133</td>\n      <td>1.7159</td>\n      <td>-0.3842</td>\n      <td>-0.1950</td>\n      <td>-0.7060</td>\n      <td>-0.5894</td>\n      <td>0.2904</td>\n      <td>-0.5265</td>\n      <td>-0.3576</td>\n      <td>0.2774</td>\n      <td>0.2885</td>\n      <td>-0.1972</td>\n      <td>-0.4214</td>\n      <td>-0.4034</td>\n      <td>-0.3907</td>\n      <td>-0.3445</td>\n      <td>0.2181</td>\n      <td>-0.5301</td>\n      <td>0.4637</td>\n      <td>0.6590</td>\n      <td>-0.2537</td>\n      <td>-0.5114</td>\n      <td>0.2397</td>\n      <td>-0.3019</td>\n      <td>-0.4929</td>\n      <td>-0.2820</td>\n      <td>0.4427</td>\n      <td>-0.6112</td>\n      <td>-0.3246</td>\n      <td>0.2091</td>\n      <td>0.1092</td>\n      <td>0.3019</td>\n      <td>-0.2938</td>\n      <td>-0.5171</td>\n      <td>-0.3351</td>\n      <td>-0.2313</td>\n      <td>0.0856</td>\n      <td>-0.2906</td>\n      <td>-0.8579</td>\n      <td>-0.5675</td>\n      <td>-0.7669</td>\n      <td>0.3612</td>\n      <td>-0.3401</td>\n      <td>-0.3936</td>\n      <td>-0.2313</td>\n      <td>-1.0215</td>\n      <td>-0.3019</td>\n      <td>0.4665</td>\n      <td>0.5422</td>\n      <td>0.5219</td>\n      <td>-0.4715</td>\n      <td>-0.2606</td>\n      <td>-0.2714</td>\n      <td>-1.0616</td>\n      <td>-0.4033</td>\n      <td>-0.2604</td>\n      <td>-0.1389</td>\n      <td>-0.5052</td>\n      <td>-0.0778</td>\n      <td>-0.4111</td>\n      <td>-1.1180</td>\n      <td>-0.5667</td>\n      <td>-1.0140</td>\n      <td>0.5912</td>\n      <td>-0.7892</td>\n      <td>-0.5171</td>\n      <td>-0.5736</td>\n      <td>0.3531</td>\n      <td>-0.9580</td>\n      <td>-0.3351</td>\n      <td>-0.3470</td>\n      <td>6.0726995</td>\n    </tr>\n    <tr>\n      <td>-0.1894</td>\n      <td>0.1060</td>\n      <td>0.2882</td>\n      <td>1.2052</td>\n      <td>0.5723</td>\n      <td>0.7677</td>\n      <td>0.6838</td>\n      <td>0.6611</td>\n      <td>0.7026</td>\n      <td>0.2707</td>\n      <td>-0.2651</td>\n      <td>-2.4513</td>\n      <td>1.3652</td>\n      <td>2.1349</td>\n      <td>-0.1440</td>\n      <td>0.6387</td>\n      <td>0.4189</td>\n      <td>-0.3655</td>\n      <td>-0.6812</td>\n      <td>1.2026</td>\n      <td>0.7026</td>\n      <td>1.8906</td>\n      <td>0.1868</td>\n      <td>0.9909</td>\n      <td>-0.7144</td>\n      <td>0.2814</td>\n      <td>1.8481</td>\n      <td>-0.5578</td>\n      <td>0.4635</td>\n      <td>0.9273</td>\n      <td>0.4189</td>\n      <td>0.2362</td>\n      <td>0.0000</td>\n      <td>-0.3655</td>\n      <td>-0.3652</td>\n      <td>-0.3707</td>\n      <td>0.3675</td>\n      <td>-0.5351</td>\n      <td>0.5469</td>\n      <td>0.7108</td>\n      <td>1.3288</td>\n      <td>-0.7917</td>\n      <td>-0.3686</td>\n      <td>0.8002</td>\n      <td>0.7582</td>\n      <td>0.3466</td>\n      <td>3.3930</td>\n      <td>1.3930</td>\n      <td>0.6235</td>\n      <td>0.6277</td>\n      <td>0.3499</td>\n      <td>1.3945</td>\n      <td>-0.4337</td>\n      <td>0.6856</td>\n      <td>0.6472</td>\n      <td>-0.3103</td>\n      <td>0.7144</td>\n      <td>1.7041</td>\n      <td>-0.2934</td>\n      <td>-0.3807</td>\n      <td>-0.1516</td>\n      <td>0.0160</td>\n      <td>-0.6662</td>\n      <td>-0.3037</td>\n      <td>-0.4003</td>\n      <td>0.9402</td>\n      <td>0.5996</td>\n      <td>0.6037</td>\n      <td>1.4992</td>\n      <td>1.0630</td>\n      <td>0.4882</td>\n      <td>-0.3866</td>\n      <td>1.0061</td>\n      <td>-0.2602</td>\n      <td>-0.0173</td>\n      <td>0.4444</td>\n      <td>-0.3998</td>\n      <td>-0.9559</td>\n      <td>5.6894</td>\n      <td>-0.0316</td>\n      <td>0.5416</td>\n      <td>0.6638</td>\n      <td>-1.1807</td>\n      <td>0.6308</td>\n      <td>0.6829</td>\n      <td>-0.0765</td>\n      <td>-1.3485</td>\n      <td>0.7041</td>\n      <td>0.7952</td>\n      <td>-0.3655</td>\n      <td>-0.3937</td>\n      <td>0.7165</td>\n      <td>1.8756</td>\n      <td>-0.2451</td>\n      <td>-0.3953</td>\n      <td>0.5501</td>\n      <td>1.1477</td>\n      <td>0.3949</td>\n      <td>0.2203</td>\n      <td>1.3519</td>\n      <td>4.4200</td>\n      <td>-0.0776</td>\n      <td>-0.7550</td>\n      <td>0.9794</td>\n      <td>0.7594</td>\n      <td>-0.5093</td>\n      <td>-0.4143</td>\n      <td>0.8430</td>\n      <td>1.9238</td>\n      <td>0.3382</td>\n      <td>1.0846</td>\n      <td>1.0400</td>\n      <td>1.2226</td>\n      <td>0.6954</td>\n      <td>1.3847</td>\n      <td>0.0406</td>\n      <td>0.6895</td>\n      <td>-0.7368</td>\n      <td>-0.3569</td>\n      <td>0.4017</td>\n      <td>1.0400</td>\n      <td>0.8940</td>\n      <td>1.3519</td>\n      <td>-6.2012</td>\n      <td>-0.7048</td>\n      <td>-0.7579</td>\n      <td>0.3467</td>\n      <td>0.5452</td>\n      <td>-0.3289</td>\n      <td>1.1074</td>\n      <td>-0.3652</td>\n      <td>1.2384</td>\n      <td>-0.4872</td>\n      <td>6.6179</td>\n      <td>0.8665</td>\n      <td>-0.3721</td>\n      <td>1.6810</td>\n      <td>0.6854</td>\n      <td>0.8839</td>\n      <td>-0.6415</td>\n      <td>0.6285</td>\n      <td>0.5577</td>\n      <td>0.2881</td>\n      <td>-0.6662</td>\n      <td>0.4674</td>\n      <td>1.0846</td>\n      <td>0.3087</td>\n      <td>4.374796</td>\n    </tr>\n    <tr>\n      <td>-0.1190</td>\n      <td>0.0157</td>\n      <td>1.0394</td>\n      <td>1.4507</td>\n      <td>0.2044</td>\n      <td>0.1914</td>\n      <td>0.2152</td>\n      <td>0.5187</td>\n      <td>0.5546</td>\n      <td>0.0546</td>\n      <td>0.0759</td>\n      <td>-0.8930</td>\n      <td>1.4770</td>\n      <td>-0.6883</td>\n      <td>-0.1440</td>\n      <td>0.5083</td>\n      <td>-0.1413</td>\n      <td>-0.1602</td>\n      <td>-0.5273</td>\n      <td>-1.0851</td>\n      <td>0.5546</td>\n      <td>1.3273</td>\n      <td>0.1514</td>\n      <td>0.1959</td>\n      <td>-0.3028</td>\n      <td>0.2814</td>\n      <td>0.9333</td>\n      <td>-0.1742</td>\n      <td>0.1594</td>\n      <td>0.6666</td>\n      <td>-0.1413</td>\n      <td>0.1396</td>\n      <td>0.0000</td>\n      <td>-0.1602</td>\n      <td>-0.1570</td>\n      <td>-0.1362</td>\n      <td>0.2740</td>\n      <td>-0.2103</td>\n      <td>0.3289</td>\n      <td>0.0004</td>\n      <td>0.4313</td>\n      <td>-0.7827</td>\n      <td>-0.1680</td>\n      <td>-0.1719</td>\n      <td>0.2126</td>\n      <td>0.2462</td>\n      <td>-1.8958</td>\n      <td>2.3218</td>\n      <td>-0.6622</td>\n      <td>0.4920</td>\n      <td>-0.9800</td>\n      <td>1.3945</td>\n      <td>0.7926</td>\n      <td>0.2277</td>\n      <td>0.5455</td>\n      <td>-0.2444</td>\n      <td>0.3028</td>\n      <td>0.7203</td>\n      <td>-0.1282</td>\n      <td>-0.1779</td>\n      <td>-1.1300</td>\n      <td>0.4540</td>\n      <td>-0.4012</td>\n      <td>0.0536</td>\n      <td>-0.3671</td>\n      <td>0.4511</td>\n      <td>-1.9112</td>\n      <td>0.6095</td>\n      <td>1.2792</td>\n      <td>0.2204</td>\n      <td>0.3474</td>\n      <td>-0.1777</td>\n      <td>0.6121</td>\n      <td>-1.2648</td>\n      <td>0.0283</td>\n      <td>0.4444</td>\n      <td>-0.3998</td>\n      <td>-1.4929</td>\n      <td>2.5365</td>\n      <td>0.0422</td>\n      <td>0.6663</td>\n      <td>0.5300</td>\n      <td>-0.2958</td>\n      <td>0.4934</td>\n      <td>0.2836</td>\n      <td>0.0664</td>\n      <td>-0.2176</td>\n      <td>-0.0006</td>\n      <td>0.5245</td>\n      <td>-0.1602</td>\n      <td>-0.1612</td>\n      <td>0.2598</td>\n      <td>3.0432</td>\n      <td>-0.3126</td>\n      <td>-0.3181</td>\n      <td>-1.3016</td>\n      <td>0.1216</td>\n      <td>0.3949</td>\n      <td>0.0849</td>\n      <td>0.2599</td>\n      <td>0.5751</td>\n      <td>-0.1055</td>\n      <td>-0.7368</td>\n      <td>0.7173</td>\n      <td>0.2301</td>\n      <td>-0.0865</td>\n      <td>-0.1847</td>\n      <td>0.4719</td>\n      <td>0.6535</td>\n      <td>0.7658</td>\n      <td>0.3382</td>\n      <td>0.1380</td>\n      <td>0.2864</td>\n      <td>0.2015</td>\n      <td>1.4026</td>\n      <td>-1.0433</td>\n      <td>0.6938</td>\n      <td>-0.4986</td>\n      <td>0.9211</td>\n      <td>0.8789</td>\n      <td>0.1380</td>\n      <td>1.0640</td>\n      <td>0.2599</td>\n      <td>-2.7357</td>\n      <td>-0.5483</td>\n      <td>-0.7579</td>\n      <td>0.2816</td>\n      <td>0.1516</td>\n      <td>-0.9056</td>\n      <td>1.2985</td>\n      <td>-0.1606</td>\n      <td>0.1241</td>\n      <td>-0.1904</td>\n      <td>2.8276</td>\n      <td>2.3347</td>\n      <td>-0.1731</td>\n      <td>0.1349</td>\n      <td>0.5400</td>\n      <td>1.0465</td>\n      <td>-0.7031</td>\n      <td>0.5851</td>\n      <td>0.4145</td>\n      <td>1.0348</td>\n      <td>-0.4012</td>\n      <td>0.4674</td>\n      <td>0.3382</td>\n      <td>0.2151</td>\n      <td>1.9008985</td>\n    </tr>\n    <tr>\n      <td>-0.4392</td>\n      <td>-0.2165</td>\n      <td>-0.0969</td>\n      <td>-0.8494</td>\n      <td>-0.2686</td>\n      <td>-0.2864</td>\n      <td>-0.3027</td>\n      <td>-0.5223</td>\n      <td>-0.5475</td>\n      <td>-0.1578</td>\n      <td>0.0077</td>\n      <td>0.4944</td>\n      <td>-0.8597</td>\n      <td>-0.9702</td>\n      <td>0.1888</td>\n      <td>-0.5070</td>\n      <td>-0.1340</td>\n      <td>0.2517</td>\n      <td>0.5358</td>\n      <td>-0.0071</td>\n      <td>-0.5475</td>\n      <td>-0.4091</td>\n      <td>-0.2632</td>\n      <td>-0.2805</td>\n      <td>0.3978</td>\n      <td>0.2814</td>\n      <td>0.2099</td>\n      <td>0.2613</td>\n      <td>-0.2461</td>\n      <td>0.2995</td>\n      <td>-0.1340</td>\n      <td>0.3442</td>\n      <td>-0.0000</td>\n      <td>0.2517</td>\n      <td>0.2546</td>\n      <td>0.2734</td>\n      <td>-0.2769</td>\n      <td>0.2495</td>\n      <td>-0.3577</td>\n      <td>-0.1895</td>\n      <td>0.0457</td>\n      <td>1.7761</td>\n      <td>0.2513</td>\n      <td>0.5819</td>\n      <td>-0.2818</td>\n      <td>-0.3290</td>\n      <td>-0.0726</td>\n      <td>-0.0751</td>\n      <td>0.4298</td>\n      <td>-0.5067</td>\n      <td>-2.0115</td>\n      <td>-0.5381</td>\n      <td>0.8480</td>\n      <td>-0.3024</td>\n      <td>-0.5389</td>\n      <td>0.2040</td>\n      <td>-0.3978</td>\n      <td>-0.3667</td>\n      <td>-0.0671</td>\n      <td>0.2444</td>\n      <td>-0.4914</td>\n      <td>0.7874</td>\n      <td>0.3997</td>\n      <td>0.3750</td>\n      <td>0.2968</td>\n      <td>-0.1076</td>\n      <td>0.5948</td>\n      <td>-0.7686</td>\n      <td>-0.7943</td>\n      <td>-0.2808</td>\n      <td>-0.3765</td>\n      <td>0.2375</td>\n      <td>0.3075</td>\n      <td>0.1464</td>\n      <td>-0.1541</td>\n      <td>-0.4809</td>\n      <td>0.4431</td>\n      <td>-1.4393</td>\n      <td>-0.3306</td>\n      <td>-0.3387</td>\n      <td>-0.5812</td>\n      <td>-0.5207</td>\n      <td>0.3465</td>\n      <td>-0.5011</td>\n      <td>-0.3276</td>\n      <td>-0.0390</td>\n      <td>0.3139</td>\n      <td>-0.1890</td>\n      <td>-0.4520</td>\n      <td>0.2517</td>\n      <td>0.2398</td>\n      <td>-0.3192</td>\n      <td>-0.8027</td>\n      <td>0.0774</td>\n      <td>0.4255</td>\n      <td>0.1144</td>\n      <td>-0.2002</td>\n      <td>-0.4417</td>\n      <td>-0.1793</td>\n      <td>-0.3149</td>\n      <td>-0.5172</td>\n      <td>0.0989</td>\n      <td>-0.4840</td>\n      <td>0.3020</td>\n      <td>-0.2985</td>\n      <td>0.1118</td>\n      <td>0.1820</td>\n      <td>-0.1149</td>\n      <td>-0.4416</td>\n      <td>-0.5171</td>\n      <td>-0.3617</td>\n      <td>-0.2174</td>\n      <td>0.4755</td>\n      <td>-0.2743</td>\n      <td>-0.8956</td>\n      <td>-1.2473</td>\n      <td>-0.7118</td>\n      <td>0.3359</td>\n      <td>0.5152</td>\n      <td>0.4017</td>\n      <td>-0.2174</td>\n      <td>0.4402</td>\n      <td>-0.3149</td>\n      <td>0.4811</td>\n      <td>0.5486</td>\n      <td>0.5219</td>\n      <td>-0.4065</td>\n      <td>-0.2256</td>\n      <td>0.6469</td>\n      <td>-0.7855</td>\n      <td>0.2514</td>\n      <td>-0.2010</td>\n      <td>0.1847</td>\n      <td>-0.5052</td>\n      <td>0.1780</td>\n      <td>0.2502</td>\n      <td>-0.1519</td>\n      <td>-0.5356</td>\n      <td>0.4592</td>\n      <td>0.6528</td>\n      <td>-0.7296</td>\n      <td>-0.4388</td>\n      <td>-0.0978</td>\n      <td>0.3997</td>\n      <td>-0.9580</td>\n      <td>-0.3617</td>\n      <td>-0.3158</td>\n      <td>4.877496</td>\n    </tr>\n    <tr>\n      <td>-0.2151</td>\n      <td>-0.3455</td>\n      <td>0.9462</td>\n      <td>0.8074</td>\n      <td>-0.1215</td>\n      <td>-0.0685</td>\n      <td>-0.0647</td>\n      <td>0.1295</td>\n      <td>0.1233</td>\n      <td>-0.0730</td>\n      <td>0.7918</td>\n      <td>-0.1039</td>\n      <td>0.3767</td>\n      <td>-0.0533</td>\n      <td>0.1700</td>\n      <td>0.1790</td>\n      <td>-0.0079</td>\n      <td>0.8360</td>\n      <td>-0.0796</td>\n      <td>-0.4536</td>\n      <td>0.1233</td>\n      <td>0.7151</td>\n      <td>-0.0999</td>\n      <td>-0.1195</td>\n      <td>-0.1145</td>\n      <td>0.2814</td>\n      <td>-0.2608</td>\n      <td>0.1369</td>\n      <td>-0.0993</td>\n      <td>1.3031</td>\n      <td>-0.0079</td>\n      <td>0.1566</td>\n      <td>0.0000</td>\n      <td>0.8360</td>\n      <td>0.8369</td>\n      <td>0.8221</td>\n      <td>-0.1101</td>\n      <td>0.0671</td>\n      <td>-0.0899</td>\n      <td>-0.0407</td>\n      <td>0.7302</td>\n      <td>0.4318</td>\n      <td>0.8407</td>\n      <td>0.8735</td>\n      <td>-0.1059</td>\n      <td>-0.0418</td>\n      <td>0.6356</td>\n      <td>1.1450</td>\n      <td>-1.0496</td>\n      <td>0.1265</td>\n      <td>1.3401</td>\n      <td>0.3068</td>\n      <td>-0.9074</td>\n      <td>-0.0628</td>\n      <td>0.1484</td>\n      <td>0.1513</td>\n      <td>0.1145</td>\n      <td>0.1643</td>\n      <td>0.3675</td>\n      <td>0.8589</td>\n      <td>-0.2468</td>\n      <td>0.2784</td>\n      <td>0.1575</td>\n      <td>0.6869</td>\n      <td>0.5955</td>\n      <td>0.2624</td>\n      <td>-0.2022</td>\n      <td>0.1448</td>\n      <td>0.2688</td>\n      <td>-0.1065</td>\n      <td>0.1412</td>\n      <td>0.8756</td>\n      <td>1.3169</td>\n      <td>0.3224</td>\n      <td>0.0934</td>\n      <td>0.2131</td>\n      <td>-0.0486</td>\n      <td>1.1902</td>\n      <td>-0.1416</td>\n      <td>-0.0310</td>\n      <td>0.5416</td>\n      <td>0.1753</td>\n      <td>0.1523</td>\n      <td>0.1291</td>\n      <td>-0.0817</td>\n      <td>-0.0055</td>\n      <td>0.0986</td>\n      <td>-0.0414</td>\n      <td>-0.0410</td>\n      <td>0.8360</td>\n      <td>0.8216</td>\n      <td>-0.0534</td>\n      <td>1.1511</td>\n      <td>0.5912</td>\n      <td>-0.0130</td>\n      <td>-0.8659</td>\n      <td>-0.0525</td>\n      <td>0.0463</td>\n      <td>-0.1986</td>\n      <td>-0.1018</td>\n      <td>-0.4244</td>\n      <td>0.2476</td>\n      <td>1.0456</td>\n      <td>0.3613</td>\n      <td>-0.0946</td>\n      <td>0.7928</td>\n      <td>0.1807</td>\n      <td>-0.3014</td>\n      <td>0.1607</td>\n      <td>0.3382</td>\n      <td>-0.1634</td>\n      <td>-0.1109</td>\n      <td>0.2398</td>\n      <td>-0.0863</td>\n      <td>0.4113</td>\n      <td>0.6191</td>\n      <td>0.3142</td>\n      <td>0.1072</td>\n      <td>-1.0154</td>\n      <td>1.1970</td>\n      <td>-0.1109</td>\n      <td>1.3465</td>\n      <td>-0.1018</td>\n      <td>0.3349</td>\n      <td>-0.0788</td>\n      <td>-0.3313</td>\n      <td>0.0584</td>\n      <td>-0.0539</td>\n      <td>0.1705</td>\n      <td>0.5818</td>\n      <td>0.8360</td>\n      <td>-0.0369</td>\n      <td>0.1827</td>\n      <td>-0.3909</td>\n      <td>0.4990</td>\n      <td>0.8503</td>\n      <td>0.5776</td>\n      <td>0.1272</td>\n      <td>1.2790</td>\n      <td>-0.2717</td>\n      <td>0.1790</td>\n      <td>0.1329</td>\n      <td>0.9502</td>\n      <td>0.1575</td>\n      <td>0.4674</td>\n      <td>-0.1634</td>\n      <td>-0.0348</td>\n      <td>2.5012972</td>\n    </tr>\n    <tr>\n      <td>-0.3624</td>\n      <td>-0.2681</td>\n      <td>0.0623</td>\n      <td>-0.5830</td>\n      <td>-0.3212</td>\n      <td>-0.3016</td>\n      <td>-0.3002</td>\n      <td>-0.4172</td>\n      <td>-0.4473</td>\n      <td>-0.2027</td>\n      <td>0.2122</td>\n      <td>0.3300</td>\n      <td>-0.1892</td>\n      <td>0.1002</td>\n      <td>0.3081</td>\n      <td>-0.3814</td>\n      <td>-0.1109</td>\n      <td>0.6050</td>\n      <td>0.4514</td>\n      <td>0.7645</td>\n      <td>-0.4473</td>\n      <td>-0.7452</td>\n      <td>-0.2992</td>\n      <td>-0.3610</td>\n      <td>0.4879</td>\n      <td>0.2814</td>\n      <td>0.2099</td>\n      <td>0.3132</td>\n      <td>-0.2464</td>\n      <td>-0.4403</td>\n      <td>-0.1109</td>\n      <td>0.3612</td>\n      <td>0.0000</td>\n      <td>0.6050</td>\n      <td>0.6045</td>\n      <td>0.6031</td>\n      <td>-0.2822</td>\n      <td>0.2584</td>\n      <td>-0.3620</td>\n      <td>-0.2356</td>\n      <td>0.4396</td>\n      <td>1.4760</td>\n      <td>0.5988</td>\n      <td>0.5514</td>\n      <td>-0.3330</td>\n      <td>-0.3169</td>\n      <td>-0.1954</td>\n      <td>0.5109</td>\n      <td>0.5883</td>\n      <td>-0.4006</td>\n      <td>0.3281</td>\n      <td>-0.4429</td>\n      <td>0.5691</td>\n      <td>-0.2997</td>\n      <td>-0.4002</td>\n      <td>0.0722</td>\n      <td>-0.4879</td>\n      <td>-0.2691</td>\n      <td>0.0665</td>\n      <td>0.5918</td>\n      <td>-0.0973</td>\n      <td>0.5278</td>\n      <td>0.3764</td>\n      <td>0.6226</td>\n      <td>0.7947</td>\n      <td>-0.0053</td>\n      <td>-0.5341</td>\n      <td>-0.6460</td>\n      <td>-0.1002</td>\n      <td>-0.3680</td>\n      <td>-0.2797</td>\n      <td>0.5926</td>\n      <td>-0.4827</td>\n      <td>0.6865</td>\n      <td>-0.1150</td>\n      <td>-0.2495</td>\n      <td>0.3728</td>\n      <td>-0.1504</td>\n      <td>-0.2921</td>\n      <td>-0.2529</td>\n      <td>-0.3941</td>\n      <td>-0.3985</td>\n      <td>0.3987</td>\n      <td>-0.3961</td>\n      <td>-0.3471</td>\n      <td>-0.3344</td>\n      <td>0.3624</td>\n      <td>-0.2347</td>\n      <td>-0.4326</td>\n      <td>0.6050</td>\n      <td>0.6387</td>\n      <td>-0.3188</td>\n      <td>-0.1770</td>\n      <td>0.7787</td>\n      <td>0.3779</td>\n      <td>0.5501</td>\n      <td>-0.3375</td>\n      <td>-0.3719</td>\n      <td>-0.1649</td>\n      <td>-0.3990</td>\n      <td>-0.8149</td>\n      <td>0.2011</td>\n      <td>0.3529</td>\n      <td>0.6278</td>\n      <td>-0.3340</td>\n      <td>0.2465</td>\n      <td>0.2736</td>\n      <td>-0.1931</td>\n      <td>-0.2992</td>\n      <td>-0.5171</td>\n      <td>-0.4207</td>\n      <td>-0.3277</td>\n      <td>-0.0032</td>\n      <td>-0.2828</td>\n      <td>-0.3323</td>\n      <td>-0.8666</td>\n      <td>-0.4458</td>\n      <td>0.3645</td>\n      <td>0.9878</td>\n      <td>-0.3936</td>\n      <td>-0.3277</td>\n      <td>-0.7095</td>\n      <td>-0.3990</td>\n      <td>0.3203</td>\n      <td>0.4663</td>\n      <td>0.5219</td>\n      <td>-0.3507</td>\n      <td>-0.2113</td>\n      <td>0.6801</td>\n      <td>0.0733</td>\n      <td>0.6048</td>\n      <td>-0.3535</td>\n      <td>0.6175</td>\n      <td>-0.2275</td>\n      <td>0.0551</td>\n      <td>0.5951</td>\n      <td>-0.0591</td>\n      <td>-0.4331</td>\n      <td>-0.6902</td>\n      <td>0.5296</td>\n      <td>-0.4559</td>\n      <td>-0.3393</td>\n      <td>0.0682</td>\n      <td>0.3764</td>\n      <td>0.4674</td>\n      <td>-0.4207</td>\n      <td>-0.2846</td>\n      <td>4.644198</td>\n    </tr>\n    <tr>\n      <td>-0.2086</td>\n      <td>-0.2165</td>\n      <td>-1.0559</td>\n      <td>-1.0106</td>\n      <td>-0.1530</td>\n      <td>-0.2445</td>\n      <td>-0.2340</td>\n      <td>-0.4327</td>\n      <td>-0.4469</td>\n      <td>-0.1595</td>\n      <td>-0.2992</td>\n      <td>0.2446</td>\n      <td>-1.3085</td>\n      <td>-0.7424</td>\n      <td>0.1386</td>\n      <td>-0.4421</td>\n      <td>-0.1264</td>\n      <td>-0.1657</td>\n      <td>0.4218</td>\n      <td>-0.0048</td>\n      <td>-0.4469</td>\n      <td>-0.8389</td>\n      <td>-0.1892</td>\n      <td>-0.2604</td>\n      <td>0.1493</td>\n      <td>0.2814</td>\n      <td>0.2099</td>\n      <td>0.1473</td>\n      <td>-0.2549</td>\n      <td>-0.6335</td>\n      <td>-0.1264</td>\n      <td>0.0998</td>\n      <td>0.0000</td>\n      <td>-0.1657</td>\n      <td>-0.1656</td>\n      <td>-0.1616</td>\n      <td>-0.1279</td>\n      <td>0.2295</td>\n      <td>-0.3681</td>\n      <td>-0.1941</td>\n      <td>-0.8479</td>\n      <td>-0.3144</td>\n      <td>-0.1656</td>\n      <td>-0.2185</td>\n      <td>-0.1902</td>\n      <td>-0.2250</td>\n      <td>-1.1104</td>\n      <td>-0.4143</td>\n      <td>0.3241</td>\n      <td>-0.4233</td>\n      <td>-0.2180</td>\n      <td>-0.9223</td>\n      <td>-0.3279</td>\n      <td>-0.2313</td>\n      <td>-0.4297</td>\n      <td>-0.0993</td>\n      <td>-0.1493</td>\n      <td>-0.3306</td>\n      <td>-0.0920</td>\n      <td>-0.1595</td>\n      <td>-0.0429</td>\n      <td>-0.4341</td>\n      <td>0.1067</td>\n      <td>-0.2075</td>\n      <td>0.0976</td>\n      <td>-0.1312</td>\n      <td>-1.7390</td>\n      <td>-0.5628</td>\n      <td>-1.3438</td>\n      <td>-0.2590</td>\n      <td>-0.3546</td>\n      <td>-0.1552</td>\n      <td>-0.6554</td>\n      <td>-0.1197</td>\n      <td>-0.1801</td>\n      <td>-0.4809</td>\n      <td>0.3728</td>\n      <td>0.5344</td>\n      <td>-0.3817</td>\n      <td>-0.1387</td>\n      <td>-0.6436</td>\n      <td>-0.4498</td>\n      <td>0.2382</td>\n      <td>-0.4139</td>\n      <td>-0.2015</td>\n      <td>-0.1223</td>\n      <td>0.2470</td>\n      <td>-0.1935</td>\n      <td>-0.1696</td>\n      <td>-0.1657</td>\n      <td>-0.1849</td>\n      <td>-0.2340</td>\n      <td>-0.9622</td>\n      <td>-0.1776</td>\n      <td>0.3302</td>\n      <td>-0.3213</td>\n      <td>-0.2877</td>\n      <td>-0.3719</td>\n      <td>-0.1734</td>\n      <td>-0.2079</td>\n      <td>-0.3133</td>\n      <td>0.1825</td>\n      <td>-0.0607</td>\n      <td>-0.5183</td>\n      <td>-0.2050</td>\n      <td>-0.2474</td>\n      <td>0.1168</td>\n      <td>0.3610</td>\n      <td>-0.2007</td>\n      <td>-0.5171</td>\n      <td>-0.2309</td>\n      <td>-0.1723</td>\n      <td>-0.2197</td>\n      <td>-0.2110</td>\n      <td>-1.2134</td>\n      <td>0.9413</td>\n      <td>-0.5725</td>\n      <td>0.2220</td>\n      <td>-0.7295</td>\n      <td>0.5607</td>\n      <td>-0.1723</td>\n      <td>-1.4413</td>\n      <td>-0.2079</td>\n      <td>0.3641</td>\n      <td>0.4301</td>\n      <td>0.5219</td>\n      <td>-0.3228</td>\n      <td>-0.1974</td>\n      <td>0.0024</td>\n      <td>-1.2758</td>\n      <td>-0.1658</td>\n      <td>-0.2981</td>\n      <td>0.0405</td>\n      <td>-0.5379</td>\n      <td>0.2299</td>\n      <td>-0.1628</td>\n      <td>-0.1115</td>\n      <td>-0.4406</td>\n      <td>-1.4515</td>\n      <td>0.5912</td>\n      <td>-0.5314</td>\n      <td>-0.3856</td>\n      <td>-1.0453</td>\n      <td>0.1067</td>\n      <td>-0.9580</td>\n      <td>-0.2309</td>\n      <td>-0.2534</td>\n      <td>6.845799</td>\n    </tr>\n    <tr>\n      <td>-0.0485</td>\n      <td>0.5704</td>\n      <td>0.3125</td>\n      <td>0.1990</td>\n      <td>-0.0374</td>\n      <td>-0.0017</td>\n      <td>-0.0362</td>\n      <td>0.0750</td>\n      <td>0.0764</td>\n      <td>-0.0635</td>\n      <td>0.5191</td>\n      <td>0.0144</td>\n      <td>-0.2891</td>\n      <td>0.1482</td>\n      <td>0.1197</td>\n      <td>0.1137</td>\n      <td>-0.0987</td>\n      <td>0.6575</td>\n      <td>-0.0361</td>\n      <td>0.2895</td>\n      <td>0.0764</td>\n      <td>-0.6448</td>\n      <td>0.0295</td>\n      <td>-0.1396</td>\n      <td>-0.0200</td>\n      <td>0.2814</td>\n      <td>-0.2608</td>\n      <td>0.0436</td>\n      <td>0.0208</td>\n      <td>0.4772</td>\n      <td>-0.0987</td>\n      <td>0.1907</td>\n      <td>-0.0000</td>\n      <td>0.6575</td>\n      <td>0.6591</td>\n      <td>0.6556</td>\n      <td>-0.0828</td>\n      <td>0.0987</td>\n      <td>0.0460</td>\n      <td>-0.0144</td>\n      <td>-0.8491</td>\n      <td>1.2774</td>\n      <td>0.6569</td>\n      <td>1.2133</td>\n      <td>-0.0432</td>\n      <td>0.0226</td>\n      <td>-1.5444</td>\n      <td>1.9560</td>\n      <td>0.2184</td>\n      <td>0.0794</td>\n      <td>0.2335</td>\n      <td>0.3068</td>\n      <td>-0.3669</td>\n      <td>-0.0367</td>\n      <td>0.0474</td>\n      <td>0.3096</td>\n      <td>0.0200</td>\n      <td>0.0824</td>\n      <td>0.1683</td>\n      <td>0.6703</td>\n      <td>0.0386</td>\n      <td>0.1983</td>\n      <td>-0.0060</td>\n      <td>0.5848</td>\n      <td>0.5291</td>\n      <td>0.1215</td>\n      <td>0.7242</td>\n      <td>0.4171</td>\n      <td>0.1220</td>\n      <td>-0.1283</td>\n      <td>0.1126</td>\n      <td>0.6899</td>\n      <td>0.5005</td>\n      <td>0.4428</td>\n      <td>0.0478</td>\n      <td>-0.0182</td>\n      <td>-0.0486</td>\n      <td>0.4780</td>\n      <td>1.1632</td>\n      <td>0.0034</td>\n      <td>0.3544</td>\n      <td>0.1118</td>\n      <td>0.2195</td>\n      <td>0.0877</td>\n      <td>-0.0688</td>\n      <td>-0.1789</td>\n      <td>0.1546</td>\n      <td>-0.0153</td>\n      <td>-0.1108</td>\n      <td>0.6575</td>\n      <td>0.6663</td>\n      <td>-0.0273</td>\n      <td>0.6778</td>\n      <td>0.7299</td>\n      <td>-0.1083</td>\n      <td>1.3125</td>\n      <td>-0.0593</td>\n      <td>0.0463</td>\n      <td>0.3202</td>\n      <td>-0.1521</td>\n      <td>-0.4121</td>\n      <td>-0.1519</td>\n      <td>0.6771</td>\n      <td>0.1025</td>\n      <td>-0.0430</td>\n      <td>0.4523</td>\n      <td>0.1601</td>\n      <td>0.7710</td>\n      <td>0.1278</td>\n      <td>0.3382</td>\n      <td>-0.2269</td>\n      <td>-0.0469</td>\n      <td>0.4955</td>\n      <td>-0.0538</td>\n      <td>0.1927</td>\n      <td>-0.2686</td>\n      <td>0.0680</td>\n      <td>-0.0853</td>\n      <td>-0.4861</td>\n      <td>-0.0755</td>\n      <td>-0.0469</td>\n      <td>0.2157</td>\n      <td>-0.1521</td>\n      <td>-0.7179</td>\n      <td>-0.0365</td>\n      <td>0.0953</td>\n      <td>0.0863</td>\n      <td>-0.0427</td>\n      <td>0.6019</td>\n      <td>-0.6960</td>\n      <td>0.6575</td>\n      <td>-0.0445</td>\n      <td>0.4939</td>\n      <td>1.2592</td>\n      <td>1.7263</td>\n      <td>0.6597</td>\n      <td>0.1963</td>\n      <td>0.0743</td>\n      <td>0.2225</td>\n      <td>-0.1484</td>\n      <td>0.0888</td>\n      <td>0.0982</td>\n      <td>0.3114</td>\n      <td>-0.0060</td>\n      <td>0.4674</td>\n      <td>-0.2269</td>\n      <td>0.0277</td>\n      <td>3.6052961</td>\n    </tr>\n  </tbody>\n</table>"},"metadata":{}}]},{"metadata":{"trusted":true,"_uuid":"7256e16869575e415a4a8dd36b8157d901cf2066"},"cell_type":"code","source":"learn = tabular_learner(data,layers=[100,200,100,50], model_dir=Path(\"/tmp\"), metrics=[mae])","execution_count":54,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"e70251a46e1c3ac27cd21bcdccb2a380f091ddf6"},"cell_type":"code","source":"learn.lr_find(); learn.recorder.plot()","execution_count":55,"outputs":[{"output_type":"display_data","data":{"text/plain":"<IPython.core.display.HTML object>","text/html":""},"metadata":{}},{"output_type":"stream","text":"LR Finder is complete, type {learner_name}.recorder.plot() to see the graph.\n","name":"stdout"},{"output_type":"display_data","data":{"text/plain":"<Figure size 432x288 with 1 Axes>","image/png":"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\n"},"metadata":{}}]},{"metadata":{"trusted":true,"_uuid":"a5f6ab60d06f00f23ff10662270367bcf833af68"},"cell_type":"code","source":"lr = 1e-02","execution_count":56,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"learn.fit_one_cycle(5, slice(lr))","execution_count":57,"outputs":[{"output_type":"display_data","data":{"text/plain":"<IPython.core.display.HTML object>","text/html":"Total time: 00:06 <p><table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: left;\">\n      <th>epoch</th>\n      <th>train_loss</th>\n      <th>valid_loss</th>\n      <th>mean_absolute_error</th>\n      <th>time</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <td>0</td>\n      <td>34.195965</td>\n      <td>24.328768</td>\n      <td>4.255991</td>\n      <td>00:01</td>\n    </tr>\n    <tr>\n      <td>1</td>\n      <td>15.316474</td>\n      <td>9.518258</td>\n      <td>2.330050</td>\n      <td>00:01</td>\n    </tr>\n    <tr>\n      <td>2</td>\n      <td>9.857751</td>\n      <td>7.124537</td>\n      <td>2.126322</td>\n      <td>00:01</td>\n    </tr>\n    <tr>\n      <td>3</td>\n      <td>8.083485</td>\n      <td>7.284822</td>\n      <td>2.123496</td>\n      <td>00:01</td>\n    </tr>\n    <tr>\n      <td>4</td>\n      <td>7.325192</td>\n      <td>7.650640</td>\n      <td>2.164094</td>\n      <td>00:01</td>\n    </tr>\n  </tbody>\n</table>"},"metadata":{}}]},{"metadata":{"trusted":true,"_uuid":"681b27183682e2f427507afa00b4d203e21ab508"},"cell_type":"code","source":"learn.fit_one_cycle(5, slice(lr), callbacks=[SaveModelCallback(learn, mode='min', every='improvement', monitor='mean_absolute_error', name='best')])","execution_count":59,"outputs":[{"output_type":"display_data","data":{"text/plain":"<IPython.core.display.HTML object>","text/html":"Total time: 00:06 <p><table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: left;\">\n      <th>epoch</th>\n      <th>train_loss</th>\n      <th>valid_loss</th>\n      <th>mean_absolute_error</th>\n      <th>time</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <td>0</td>\n      <td>7.128092</td>\n      <td>6.934813</td>\n      <td>2.100854</td>\n      <td>00:01</td>\n    </tr>\n    <tr>\n      <td>1</td>\n      <td>7.102489</td>\n      <td>7.301727</td>\n      <td>2.115745</td>\n      <td>00:01</td>\n    </tr>\n    <tr>\n      <td>2</td>\n      <td>7.282017</td>\n      <td>6.618735</td>\n      <td>2.019619</td>\n      <td>00:01</td>\n    </tr>\n    <tr>\n      <td>3</td>\n      <td>7.090091</td>\n      <td>7.203245</td>\n      <td>2.105246</td>\n      <td>00:01</td>\n    </tr>\n    <tr>\n      <td>4</td>\n      <td>6.824154</td>\n      <td>7.039405</td>\n      <td>2.070603</td>\n      <td>00:01</td>\n    </tr>\n  </tbody>\n</table>"},"metadata":{}},{"output_type":"stream","text":"Better model found at epoch 0 with mean_absolute_error value: 2.1008541584014893.\nBetter model found at epoch 2 with mean_absolute_error value: 2.0196194648742676.\n","name":"stdout"}]},{"metadata":{"trusted":true,"_uuid":"e7c0908a4c8d13b4b3bd84b0a1dbfa904c53919b"},"cell_type":"code","source":"learn.save('stage-1')","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"13346f6333929353a21e2ad32e70bdfd77b946a8"},"cell_type":"code","source":"learn.load('stage-1');","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"44b76938db2044c5b04fc07f3781c04dfd258b95"},"cell_type":"code","source":"learn.unfreeze()","execution_count":60,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"f23b8b61ca5fe9b6404cbefab85ff50f6e1765a2"},"cell_type":"code","source":"learn.lr_find(); learn.recorder.plot()","execution_count":61,"outputs":[{"output_type":"display_data","data":{"text/plain":"<IPython.core.display.HTML object>","text/html":""},"metadata":{}},{"output_type":"stream","text":"LR Finder is complete, type {learner_name}.recorder.plot() to see the graph.\n","name":"stdout"},{"output_type":"display_data","data":{"text/plain":"<Figure size 432x288 with 1 Axes>","image/png":"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\n"},"metadata":{}}]},{"metadata":{"trusted":true},"cell_type":"code","source":"","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"d564eb83b9720b21f0b760742b4b250605c849e9"},"cell_type":"code","source":"learn.fit_one_cycle(5,slice(1e-05), callbacks=[SaveModelCallback(learn, every='improvement', mode='min', monitor='mean_absolute_error', name='best')])","execution_count":62,"outputs":[{"output_type":"display_data","data":{"text/plain":"<IPython.core.display.HTML object>","text/html":"Total time: 00:06 <p><table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: left;\">\n      <th>epoch</th>\n      <th>train_loss</th>\n      <th>valid_loss</th>\n      <th>mean_absolute_error</th>\n      <th>time</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <td>0</td>\n      <td>6.754389</td>\n      <td>6.750203</td>\n      <td>2.046601</td>\n      <td>00:01</td>\n    </tr>\n    <tr>\n      <td>1</td>\n      <td>6.753188</td>\n      <td>6.755173</td>\n      <td>2.048578</td>\n      <td>00:01</td>\n    </tr>\n    <tr>\n      <td>2</td>\n      <td>6.755707</td>\n      <td>6.877591</td>\n      <td>2.071732</td>\n      <td>00:01</td>\n    </tr>\n    <tr>\n      <td>3</td>\n      <td>6.754178</td>\n      <td>6.783563</td>\n      <td>2.059154</td>\n      <td>00:01</td>\n    </tr>\n    <tr>\n      <td>4</td>\n      <td>6.797208</td>\n      <td>6.648420</td>\n      <td>2.029574</td>\n      <td>00:01</td>\n    </tr>\n  </tbody>\n</table>"},"metadata":{}},{"output_type":"stream","text":"Better model found at epoch 0 with mean_absolute_error value: 2.0466010570526123.\nBetter model found at epoch 4 with mean_absolute_error value: 2.029573678970337.\n","name":"stdout"}]},{"metadata":{"trusted":true},"cell_type":"code","source":"!ls ~ -alh","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"learn.load('best')","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"905c0162f2783bcfa41c65bd2c650fc411581d44"},"cell_type":"code","source":"preds, _ = learn.get_preds(ds_type=DatasetType.Test)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"c86df9491b846d161e261be4e8eea8dd3094e666"},"cell_type":"code","source":"subm_df = pd.DataFrame(test_df[\"seg_id\"])","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"568869e012a92d9999924efd1dcc18ae0ca8e0b0"},"cell_type":"code","source":"subm_df[\"time_to_failure\"] = preds.numpy()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"fbca742892d1e1c85697cc5736f8cf4ae28b8b88"},"cell_type":"code","source":"subm_df.head()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"83c396a4704275cb04a5070955d32f60be6c7bd1"},"cell_type":"code","source":"subm_df.to_csv('submission.csv', index=False)","execution_count":null,"outputs":[]}],"metadata":{"kernelspec":{"display_name":"Python 3","language":"python","name":"python3"},"language_info":{"name":"python","version":"3.6.6","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"}},"nbformat":4,"nbformat_minor":1}