matlab knn不知道有没有会的大神请教一下

我是用knn来预测标普500的走向

然后现在卡bug了

不知道怎么解决,希望大神看到帮帮,太谢谢了。

clear ;clc;
close all;
format long g;
k=5;
dimension=5;
% 反转数据,使日期由远及近
data_train=flipud(xlsread('trainData.xlsx'));
memo=[];
for i=1:size(data_train,1)-dimension+1
    % 特征序列与后一项值
    curr=data_train(i:i+dimension-1);
    memo=[memo,curr];
end

data_test=xlsread('forecast.xlsx');
res=[];
for i=1:size(data_test,1)-dimension+1
    % 取出要预测的特征序列
    prev=data_test(i:i+dimension-2);
    x=(prev).';
    sorce=[];
    for j=1:size(memo,2)
       y=memo(1:dimension-1,j:j).';
       % 计算要预测的特征序列和搜索空间的每一个特征序列的欧氏距离
       sorce=[sorce;[dist(x,y'),memo(dimension:dimension,j:j)]];
    end
    % 排序
    sorce=sortrows(sorce);
    % topK取平均
    fcs=mean(sorce(1:k,2:2));
    res=[res;fc];
end
mae=mean(abs(res - data_test(dimension:end)));
mse=sqrt(mean((res - data_test(dimension:end)).^2));
mape=mean(abs((data_test(dimension:end) - res)./data_test(dimension:end)));
disp('mae');
disp(mae);
disp('mse');
disp(mse);
disp('mape');
disp(mape);
plot(res,'r');
hold on
plot(data_test(dimension:end),'b');
legend('预测值','实际值');

要读取的文件都是这样的形式

matlab knn不知道有没有会的大神请教一下_第1张图片

报错是这样的

matlab knn不知道有没有会的大神请教一下_第2张图片

 

你可能感兴趣的:(matlab,人工智能)