[p, q] = get_products(); % quantity sum over a day %plot(sum(q')); train_data = q( 1:28, :); real_data = q(29:42, :); mean_data = mean_pred(train_data, 14); regress_data = regress_pred(p, train_data); quad_data = quad_regress_pred(p, train_data); log_data = log_regress_pred(p, train_data); sevenday_data = repmat(sevenday_pred(train_data, 4), 2, 1); random_data = rand_pred(train_data, 14); % plot prediction quallity calc_error('mean', real_data, mean_data); calc_error('regress', real_data, regress_data); % quadratic just for reference, it sucks more than mean-predicition calc_error('quad reg.', real_data, quad_data); calc_error('log reg.', real_data, log_data); calc_error('sevenday', real_data, sevenday_data); calc_error('random', real_data, random_data); [q2, removed] = remove_sevenday_frequency(q(1:14, :)); tmp = regress_pred(p([1:14 29:42],:), q2); tmp = fft(tmp); %tmp = (tmp .* (removed == 0)) + removed; tmp = tmp + removed; tmp = real(ifft(tmp)); calc_error('regress2', q(29:42, :), tmp);