Полууправляемая регрессия на основе PCA и PLS: коды MATLAB, R и Python - все, что вам нужно сделать, это просто подготовить набор данных (очень просто, легко и практично)
Я выпускаю коды полууправляемой регрессии на MATLAB, R и Python на основе анализа главных компонентов и частичных наименьших квадратов (PCAPLS). Они очень удобны в использовании. Вы готовите набор данных и просто запускаете код! Затем можно получить результаты PCAPLS и прогнозирования для новых образцов. Очень просто и легко!
Вы можете купить каждый код по указанным ниже URL.
MATLAB
Https://gum.co/PnRna
Загрузите дополнительный zip-файл (он бесплатный) по указанному ниже URL-адресу, чтобы запустить код PCAPLS.
http: //univprofblog.html.xdomain .jp / code / MATLAB_scripts_functions.zip
R
Https://gum.co/PXJsf
Загрузите дополнительный zip-файл (он бесплатный) по указанному ниже URL-адресу, чтобы запустить код PCAPLS.
http: //univprofblog.html.xdomain .jp / code / R_scripts_functions.zip
Python
Https://gum.co/XwnQl
Загрузите дополнительный zip-файл (он бесплатный) по указанному ниже URL-адресу, чтобы запустить код PCAPLS.
http: //univprofblog.html.xdomain .jp / code / supportfunctions.zip
Процедура PCAPLS в кодах MATLAB, R и Python
Чтобы выполнить соответствующий PCAPLS, коды MATLAB, R и Python следуют приведенной ниже процедуре после загрузки набора данных.
1. Определите пороговое значение коэффициента совокупного вклада для PCA.
Количество основных компонентов (ПК определяется при проверке коэффициента совокупного вклада. Если в данный набор данных включено 5% шума, например, ПК, имеющие Следует использовать коэффициент совокупного вклада 95%. Остальные ПК можно удалить как шум.
2. Объедините набор данных с целевой переменной (Y) и набор данных без Y (образцы объединены)
3. Объясняющая переменная автомасштабирования (X) комбинированного набора данных
Автомасштабирование означает центрирование и масштабирование. Среднее значение каждой переменной становится равным нулю путем вычитания среднего значения каждой переменной из переменной при центрировании. Стандартное отклонение каждой переменной становится равным единице путем деления стандартного отклонения каждой переменной от переменной при масштабировании.
Масштабирование произвольно (но рекомендуется), но требуется центрирование, поскольку PCA основывается на вращении осей.
4. Запустите PCA и получите оценку и вектор загрузки для каждого ПК
5. Определите количество компьютеров, исходя из порогового значения в 1.
6. Извлечь оценку только для образцов с Y
7. Оценка автомасштабирования и Y
Масштабирование произвольное (но рекомендуется). Требуется центрирование.
8. Оцените Y с перекрестной проверкой (CV), изменяя количество компонентов с 1 на m.
Резюме с исключением одного очень известно, но оно вызывает чрезмерную подгонку, когда количество обучающих выборок слишком велико. высокий. Итак, 5-кратное или 2-кратное резюме лучше. Сначала обучающие выборки делятся на 5 или 2 группы. Во-вторых, одна группа рассматривается как тестовые образцы, а модель строится с другой группой (группами). Это повторяется 5 или 2 раза, пока все группы не будут рассматриваться как тестовые образцы. Тогда можно получить не вычисленное Y, а оценочное Y.
m должно быть меньше, чем количество X-переменных, но m = 30 достаточно, как максимум.
9. Вычислить среднеквадратичную ошибку (RMSE) между фактическим Y и оценочным Y для каждого количества компонентов
10. Определите оптимальное количество компонентов с минимальным значением RMSE
Можно выбрать оптимальное количество компонентов с первым локальным максимальным значением RMSE
11. Постройте модель PLS с оптимальным количеством компонентов и получите стандартный коэффициент регрессии
12. Вычислить детерминантный коэффициент и RMSE между фактическим Y и вычисленным Y (r2C и RMSEC) и детерминантный коэффициент и RMSE между фактическим Y и оцененным Y (r2CV и RMSECV)
r2C означает отношение информации Y, которое PLS модель может объяснить.
RMSE означает среднее значение ошибок Y в модели PLS.
r2CV означает возможное отношение информации Y, которую модель PLS может оценить для новых образцов.
RMSECV означает возможное среднее значение ошибок Y для новых выборок.
Лучшие модели PLS имеют более высокие значения r2CV и более низкие значения RMSECV.
Большая разница между r2C и r2CV и между RMSEC и RMSECV означает переобучение модели PLS обучающим выборкам.
*Осторожность! r2CV и RMSECV не могут представлять истинную предсказуемость модели PLS, поскольку это CV, а не внешняя проверка.
13. Проверьте графики между фактическим Y и рассчитанным Y, а также между фактическим Y и оценочным Y
Можно проверить выбросы расчетных и оценочных значений.
14. При прогнозировании вычтите среднее значение при автоматическом вызове X в 1. из X-переменных, а затем разделите X-переменные на стандартное отклонение при автоматическом вызове X в 1. для новых выборок
15. Рассчитайте оценку для новых образцов, используя вектор загрузки в 4.
16. Вычтите среднее значение при автоматическом подсчете баллов в 7. из нового балла, а затем разделите новый балл на стандартное отклонение при автоматическом наборе баллов в 7.
17. Оцените Y на основе стандартного коэффициента регрессии в 11.
18. Умножьте стандартное отклонение при автоматическом вызове Y в 1. на оценочное Y, а затем добавьте среднее значение в автоматическом вызове Y в 1. к оцененному Y
Способ выполнения PCAPLS
1. Купите код и разархивируйте файл
MATLAB: https://gum.co/PnRna
Python: https://gum.co/XwnQl
2. Загрузите и разархивируйте дополнительный zip-файл (это бесплатно).
MATLAB: http://univprofblog.html.xdomain.jp/code/MATLAB_scripts_functions.zip
R: http://univprofblog.html.xdomain.jp/code/R_scripts_functions.zip
Python: http://univprofblog.html.xdomain.jp/code/supportingfunctions.zip
3. Поместите дополнительные файлы в тот же каталог или папку, что и код PCAPLS.
4. Подготовьте набор данных. Формат данных см. В статье ниже.
Образцы data.csv, data_prediction1.csv и data_prediction2.csv объединяются перед PCA.
5. Запускаем код!
Оценочные значения Y для «data_prediction2.csv» сохраняются в «PredictedY2.csv».
Обязательные настройки
См. Статью ниже.
https://medium.com/@univprofblog1/settings-for-running-my-matlab-r-and-python-codes-136b9e5637a1#.paer8scqy