Как прогнозировать потребление электроэнергии с помощью команды MATLAB «прогноз»? - PullRequest
0 голосов
/ 23 июня 2018

У меня есть данные о потреблении электроэнергии в регионе за 2017 год. Поэтому мне нужно матрицу 1x1, одну с месяцем, а другую с потреблением.Я хочу использовать команду forecast для прогнозирования потребления в первом месяце 2018 года, но я не знаю, как это сделать, даже после прочтения примеров на странице справки MATLAB.

Пример:

data = {1166974.25000000, 1132479.36000000, 1137173.86000000, 1145853.58000000, 1118875.72000000, 1071456.85000000 ,1047171.87000000, 1071179.65000000 ,1077986.32000000 ,1112111.10000000, 1149668.47000000 ,1161649.19000000, 1175576.25000000 ,1126753.31000000 ,1204843.11000000 ,1183946.03000000, 1153080.36000000, 1120182.07000000, 1104726.03000000 ,1108110.02000000 ,1137729.28000000 ,1189699.45000000, 1252975.55000000, 1218118.20000000 ,1259580 ,1208193 ,1194430, 1244458, 1218867, 1205705 ,1177362, 1185584, 1164758, 1226991 ,1286044 ,1305312, 1360681.70000000 ,1332020 ,1306497.90000000 ,1299819.10000000 ,1316167.70000000 ,1246959.40000000 ,1256700.20000000 ,1266490.60000000, 1275642.90000000, 1358839.80000000, 1361440.10000000, 1398059.40000000};
data = [data{:}];
sys = ar(data,4)
K = 49;
p = forecast(sys,data,K);
plot(data,'b',p,'r'), legend('measured','forecasted')

Почему это не работает?

1 Ответ

0 голосов
/ 24 июня 2018

Я надеюсь, что вы нашли решение своей проблемы. Если нет, может быть, я могу помочь.

Документация функции MathWork отмечает, что запись "PastData" (помеченная как "данные" в вашем коде) может быть либо объектом iddata, либо матрицей двойных значений N x N_y. Ваша реализация использует матрицу, поэтому я решил опробовать код с объектом iddata.

rawdat = [1166974.25000000, 1132479.36000000, 1137173.86000000, 1145853.58000000, 1118875.72000000, 1071456.85000000 ,1047171.87000000, 1071179.65000000 ,1077986.32000000 ,1112111.10000000, 1149668.47000000 ,1161649.19000000, 1175576.25000000 ,1126753.31000000 ,1204843.11000000 ,1183946.03000000, 1153080.36000000, 1120182.07000000, 1104726.03000000 ,1108110.02000000 ,1137729.28000000 ,1189699.45000000, 1252975.55000000, 1218118.20000000 ,1259580 ,1208193 ,1194430, 1244458, 1218867, 1205705 ,1177362, 1185584, 1164758, 1226991 ,1286044 ,1305312, 1360681.70000000 ,1332020 ,1306497.90000000 ,1299819.10000000 ,1316167.70000000 ,1246959.40000000 ,1256700.20000000 ,1266490.60000000, 1275642.90000000, 1358839.80000000, 1361440.10000000, 1398059.40000000];
data = iddata(rawdat',[]);
sys = ar(data,4);
K = 49;
p = forecast(sys,data,K);
plot(data,'b',p,'r'), legend('measured','forecasted')

Обратите внимание, что я также изменил имя и тип переменной исходных данных.

Приведенный выше код приводит к следующему рисунку. forecast figure

Пожалуйста, обновите нас. Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...