summaryrefslogtreecommitdiff
path: root/regress_pred.m
diff options
context:
space:
mode:
authorBenjamin Franzke <benjaminfranzke@googlemail.com>2012-04-24 14:24:24 +0200
committerBenjamin Franzke <benjaminfranzke@googlemail.com>2012-04-24 14:24:24 +0200
commitdcbe7e13245eee0f0266f1549504a3bdc392a851 (patch)
treeb4668d8248a2ac2c58b3a3bbe13c551df6ed50d1 /regress_pred.m
parent16a1042d782b02de698ab12137126aeebc4c83b6 (diff)
downloaddmc-dcbe7e13245eee0f0266f1549504a3bdc392a851.tar.gz
dmc-dcbe7e13245eee0f0266f1549504a3bdc392a851.tar.bz2
dmc-dcbe7e13245eee0f0266f1549504a3bdc392a851.zip
Add prediction test using linear regression
Diffstat (limited to 'regress_pred.m')
-rw-r--r--regress_pred.m21
1 files changed, 21 insertions, 0 deletions
diff --git a/regress_pred.m b/regress_pred.m
new file mode 100644
index 0000000..0ba8394
--- /dev/null
+++ b/regress_pred.m
@@ -0,0 +1,21 @@
+function pred = regress_pred(price, quantity)
+
+ days = size(price, 1) - size(quantity, 1);
+ product_count = size(price, 2);
+ test_count = size(quantity, 1);
+ test_set = 1:test_count;
+ pred_set = test_count+1:size(price, 1);
+
+ pred = zeros(days, product_count);
+ for i = 1:product_count
+ [m,n] = regress(price(test_set, i), quantity(test_set, i));
+ pred(:, i) = m .* price(pred_set, i) + n;
+ end
+
+endfunction
+
+function [m, n] = regress(x, y)
+ mn = [ x ones(length(x), 1) ] \ y;
+ m = mn(1);
+ n = mn(2);
+endfunction