コード例 #1
0
        mapeTM,
        pd.DataFrame(np.reshape(np.array([altMAPE, mapeGroundTruth]),
                                newshape=(1, 2)),
                     columns=['TM', 'GT'])
    ])

    negLLTM = pd.concat([negLLTM, pd.DataFrame([negLL], columns=['TM'])])

lstmExptDir = 'results/nyc_taxi_experiment_continuous_likelihood_noise/'
noiseList = ['0.0', '0.020', '0.040', '0.060', '0.080', '0.10']

negLLLSTM = pd.DataFrame([], columns=['LSTM'])
noiseStrengthLSTM = []
for noise in noiseList:
    experiment = lstmExptDir + 'noise' + noise
    expResult = ExperimentResult(experiment)
    truth = np.concatenate((np.zeros(5333), expResult.truth))
    error = np.concatenate((np.zeros(5333), expResult.error))

    noiseValue = (truth - data['value']) / data['value']
    noiseStrengthLSTM.append(np.std(noiseValue[8000:]))
    if not np.isclose(noiseStrengthLSTM[-1], float(noise), rtol=0.1):
        print "Warning: Estimated noise strength is different from the given noise"

    negLL = np.nanmean(error[startFrom:])

    negLLLSTM = pd.concat([negLLLSTM, pd.DataFrame([negLL], columns=['LSTM'])])

lstmExptDir = 'results/nyc_taxi_experiment_continuous_noise/'
noiseList = ['0.0', '0.020', '0.040', '0.060', '0.080', '0.10']
コード例 #2
0
figPath = './result/'

plt.close('all')

# use datetime as x-axis
dataSet = 'nyc_taxi'
filePath = './data/' + dataSet + '.csv'
data = pd.read_csv(filePath,
                   header=0,
                   skiprows=[1, 2],
                   names=['datetime', 'value', 'timeofday', 'dayofweek'])

xaxisDatetime = pd.to_datetime(data['datetime'])

expResultPerturb = ExperimentResult(
    'results/nyc_taxi_experiment_continuous_likelihood_perturb/learning_window'
    + str(1001.0) + '/')
negLLLSTM1000Perturb = expResultPerturb.error
truthLSTM1000Perturb = expResultPerturb.truth

expResultPerturb = ExperimentResult(
    'results/nyc_taxi_experiment_continuous_likelihood_perturb/learning_window'
    + str(3001.0) + '/')
negLLLSTM3000Perturb = expResultPerturb.error
truthLSTM3000Perturb = expResultPerturb.truth

expResultPerturb = ExperimentResult(
    'results/nyc_taxi_experiment_continuous_likelihood_perturb/learning_window'
    + str(6001.0) + '/')
negLLLSTM6000Perturb = expResultPerturb.error
truthLSTM6000Perturb = expResultPerturb.truth
コード例 #3
0
    return np.sqrt(np.nanmean(squareDeviation)) / np.nanstd(truth)


def loadExperimentResult(filePath):
    expResult = pd.read_csv(filePath,
                            header=0,
                            skiprows=[1, 2],
                            names=['step', 'value', 'prediction5'])
    groundTruth = np.roll(expResult['value'], -5)
    prediction5step = np.array(expResult['prediction5'])
    return (groundTruth, prediction5step)


if __name__ == "__main__":
    xaxisDate = getDatetimeAxis()
    expResult = ExperimentResult(
        'results/nyc_taxi_experiment_continuous/learning_window6001.0/')

    # ### Figure 1: Continuous vs Batch LSTM
    # fig = plt.figure()
    # # NRMSE_StaticLSTM = plotLSTMresult('results/nyc_taxi_experiment_one_shot/',
    # #                                   window, xaxis=xaxis_datetime, label='static lstm')
    # (nrmseLSTM6000, expResultLSTM6000) = \
    #   plotLSTMresult('results/nyc_taxi_experiment_continuous/learning_window6001.0/',
    #                  window, xaxis=xaxisDate, label='continuous LSTM-6000')
    # plt.legend()
    # plt.savefig(figPath + 'continuousVsbatch.pdf')
    #

    ### Figure 2: Continuous LSTM with different window size

    fig = plt.figure()
コード例 #4
0
figPath = './result/'

plt.close('all')

# use datetime as x-axis
dataSet = 'nyc_taxi'
filePath = './data/' + dataSet + '.csv'
data = pd.read_csv(filePath,
                   header=0,
                   skiprows=[1, 2],
                   names=['datetime', 'value', 'timeofday', 'dayofweek'])

xaxis_datetime = pd.to_datetime(data['datetime'])

expResult_perturb = ExperimentResult(
    'results/nyc_taxi_experiment_continuous_likelihood_perturb/learning_window'
    + str(1001.0) + '/')
negLL_LSTM1000_perturb = expResult_perturb.error
truth_LSTM1000_perturb = expResult_perturb.truth

expResult_perturb = ExperimentResult(
    'results/nyc_taxi_experiment_continuous_likelihood_perturb/learning_window'
    + str(3001.0) + '/')
negLL_LSTM3000_perturb = expResult_perturb.error
truth_LSTM3000_perturb = expResult_perturb.truth

expResult_perturb = ExperimentResult(
    'results/nyc_taxi_experiment_continuous_likelihood_perturb/learning_window'
    + str(6001.0) + '/')
negLL_LSTM6000_perturb = expResult_perturb.error
truth_LSTM6000_perturb = expResult_perturb.truth