From eedab7b3215c750ea8e170ba2714dde9c3bbf896 Mon Sep 17 00:00:00 2001 From: Benjamin Franzke Date: Fri, 11 May 2012 10:31:14 +0200 Subject: sevenday_pred: Use same prototype as for other tests --- run_tests.m | 2 +- sevenday_pred.m | 17 ++++++++++++----- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/run_tests.m b/run_tests.m index ee8853e..15ef0d3 100644 --- a/run_tests.m +++ b/run_tests.m @@ -11,7 +11,7 @@ regress_data = regress_pred(p, train_data); quad_data = quad_regress_pred(p, train_data); log_data = log_regress_pred(p, train_data); lq_data = [log_data(:,1:334) quad_data(:,335) log_data(:,336:570)]; -sevenday_data = repmat(sevenday_pred(train_data, 4), 2, 1); +sevenday_data = sevenday_pred(p, train_data); random_data = rand_pred(p, train_data); [q2, removed] = remove_sevenday_frequency(q(1:14, :)); diff --git a/sevenday_pred.m b/sevenday_pred.m index ae21d66..9006c16 100644 --- a/sevenday_pred.m +++ b/sevenday_pred.m @@ -1,11 +1,18 @@ -function pred = sevenday_pred(data, interval) +function pred = sevenday_pred(price, data) - len = size(data)(1) / interval; - pred = zeros(len, size(data)(2)); + assert(mod(size(data, 1), 7) == 0); + assert(mod(size(price, 1), 7) == 0); - for i = 0:(interval-1) + interval_count = size(data, 1) / 7; + pred_weeks = (size(price, 1) - size(data, 1)) / 7; + + len = size(data, 1) / interval_count; + pred = zeros(len, size(data, 2)); + + for i = 0:(interval_count-1) pred += data(1+(len*i) : len+(len*i) , :); end - pred ./= interval; + pred ./= interval_count; + pred = repmat(pred, pred_weeks, 1); end -- cgit