diff options
author | Benjamin Franzke <benjaminfranzke@googlemail.com> | 2012-04-24 14:24:24 +0200 |
---|---|---|
committer | Benjamin Franzke <benjaminfranzke@googlemail.com> | 2012-04-24 14:24:24 +0200 |
commit | dcbe7e13245eee0f0266f1549504a3bdc392a851 (patch) | |
tree | b4668d8248a2ac2c58b3a3bbe13c551df6ed50d1 /regress_pred.m | |
parent | 16a1042d782b02de698ab12137126aeebc4c83b6 (diff) | |
download | dmc-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.m | 21 |
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 |