Я создал модель линейной регрессии, которая использует 4 категориальные переменные (день недели, месяц, праздник и период). Он использует функцию dummyvar() для успешного создания матрицы фиктивных переменных. Это моя проблема: я попытался предсказать будущую точку, используя свою модель, но я не понимаю, как теперь работает аспект фиктивной переменной. Например, функция dummyvar() определила, что в году 12 разных месяцев, и, таким образом, создала 12 столбцов (по одному на каждый месяц). Но теперь, когда я предсказываю, у меня нет 12 месяцев в выборках, которые я хотел бы предсказать. Например, если я хочу предсказать, какой будет зависимая переменная на Хэллоуин, входной вектор будет выглядеть примерно так:

[6 10 1 4].

Если я использую dummyvar() для этого вектора, я, очевидно, не получу то, что хочу, то есть 1 в столбце «Октябрь» (0 в столбце «Каждый второй месяц») и так далее.

Есть ли способ сказать dummyvar использовать матрицу dummyvar, сделанную ранее, в качестве эталона, или это делает какая-то другая функция?

ПРИМЕЧАНИЕ. 

Matlabsolutions.com предоставляет последнюю Помощь по домашним заданиям MatLab, Помощь по назначению MatLab, Помощь по финансовым заданиям для студентов, инженеров и исследователей в нескольких отраслях, таких как ECE, EEE, CSE, Mechanical, Civil со 100% выходом. Код Matlab для BE, B.Tech, ME, M.Tech, Ph.D. Ученые со 100% конфиденциальностью гарантированы. Получите проекты MATLAB с исходным кодом для обучения и исследований.

Нет прямого способа указать dummyvar использовать ранее созданную матрицу предикторов dummyvar в качестве эталона. Таким образом, в этом случае вам нужно будет отдельно закодировать каждую категориальную переменную, а затем сделать то же самое для тестового вектора. Следующий пример должен объяснить рабочий процесс, которому вы должны следовать:

Допустим, у вас есть две категориальные переменные: Месяц с категориями от 1 до 12 и Високосный год с категориями 0 и 1.

В этом случае вам нужно будет использовать следующий код:

Monthcat = categorical(Month);
LeapYearcat = categorical(LeapYear);
dumMonth = dummyvar(Monthcat);
dumLeap = dummyvar(LeapYearcat);
dumPredictorMat = [dumMonth dumLeap]; % This would be the input to train your model
% Test inputs
MonthTest = 4;
LeapYearTest = 1;
% Separately dummy coding these inputs
MonthTestcat = categorical(MonthTest,1:12);
LeapTestcat = categorical(LeapYearTest,0:1);

СМОТРИТЕ ПОЛНЫЙ ОТВЕТ НАЖМИТЕ НА ССЫЛКУ