Lasso回归算法的数据区间预测,多输入单输出模型。(主要应用于风速,负荷,功率)

data = load('load24.mat').x;
%%
% 参数说明
percent = 0.8;         % 数据比列
mse =[];
% 取两个月数据
data = data(2:15*4*60,:);                                                  % 两个月数据
%%
norm = 0;                                                                  % 是否归一化预测
count = 1;   
FileWrite = 4;
FeatureMean = 3;
for k = 10:-1:1                                                            % 不同特征预测
    
    figure(1)
    for i =1:4

                                                                            % 采样间隔
        Data = SampleData(data,i);                                          % 数据采样
        [Train,Test] = DataDivide(Data,percent,k,FeatureMean);                          % 不同特征子集数据集
        [Train,Test,Xopt,Yopt] = Norm(Train,Test);                          % 数据集归一化划分    
                                                                             
        if norm == 0                                                       % 两种方式预测 归一化或者不归一化
            model = LinearModel.fit(Train.x,Train.y);
            Ypre = model.predict(Test.x);
            QuanYpre = Quantile(Train,Test,model,norm);
        else                                                               % 归一化预测
            model = LinearModel.fit(Train.xnorm,Train.ynorm);
            Ypre = model.predict(Test.xnorm);
            QuanYpre = Quantile(Train,Test,model,norm);
        end
        subplot(2,2,i)
        x =1:length(Test.y);
        fill([x,x(end:-1:1)],[QuanYpre{1}',...
            QuanYpre{end}(end:-1:1)'],'r','FaceColor',[1 0.8 0.8],'EdgeColor','none')
        hold on 
        plot(Ypre)
        if norm == 0 
            Yactual = Test.y;
            plot(Yactual)
        else
            Yactual = Test.ynorm;
            plot(Yactual)
        end
        hold off

你可能感兴趣的:(python,深度学习)