Класс: TreeBagger
Предсказать квантиль ответа с использованием пакета деревьев регрессии
возвращает вектор медиан прогнозируемых откликов при YFit = quantilePredict(Mdl,X)Xтаблица или матрица данных предиктора и использование пакета деревьев регрессии Mdl. Mdl должно быть TreeBagger объект модели.
использует дополнительные параметры, указанные одним или несколькими YFit = quantilePredict(Mdl,X,Name,Value)Name,Value аргументы пары. Например, укажите вероятности квантилей или деревья, которые следует включить для оценки квантилей.
[ также возвращает разреженную матрицу весов отклика.YFit,YW] = quantilePredict(___)
quantilePredict оценивает условное распределение ответа с использованием данных обучения при каждом его вызове. Для эффективного предсказания многих квантилей или квантилей для многих наблюдений необходимо пройти X в виде матрицы или таблицы наблюдений и указать все квантили в векторе, используя Quantile аргумент пары имя-значение. То есть избегать звонка quantilePredict внутри цикла.
TreeBagger выращивает случайный лес регрессионных деревьев с использованием обучающих данных. Затем, для реализации квантильного случайного леса, quantilePredict предсказывает квантили, используя эмпирическое условное распределение отклика, заданного наблюдением из переменных предиктора. Для получения эмпирического условного распределения ответа:
quantilePredict проходит все обучающие наблюдения в Mdl.X через все деревья в ансамбле, и хранит листовые узлы, членами которых являются обучающие наблюдения.
quantilePredict аналогично передает каждое наблюдение в X через все деревья в ансамбле.
Для каждого наблюдения в X, quantilePredict:
Оценивает условное распределение отклика путем вычисления весов отклика для каждого дерева.
Для наблюдения k в X, агрегирует условные распределения для всего ансамбля:
I{Yj≤y}.
n - количество учебных наблюдений (size(Y,1)) и T - количество деревьев в ансамбле (Mdl.NumTrees).
Для наблюдения k в Xили, эквивалентно, 100% процентиля, является = xk) ≥τ}.
Этот процесс описывает, как quantilePredict использует все указанные веса.
Для всех учебных наблюдений j = 1,..., n и всех выбранных деревьев t = 1,...,T,
quantilePredict приписывает продукт vtj = btjwj, obs обучающему наблюдению j (хранится вMdl.X( и j,:)Mdl.Y(). btj - количество раз, когда наблюдение j находится в выборке начальной загрузки для дерева t.wj, obs - вес наблюдения вj)Mdl.W(.j)
Для каждого выбранного дерева, quantilePredict определяет листья, в которые попадает каждое тренировочное наблюдение. Пусть St (xj) - совокупность всех наблюдений, содержащихся в листе дерева t, членом которого является наблюдение j.
Для каждого выбранного дерева, quantilePredict нормализует все веса в пределах конкретного листа до суммы 1, то есть
вти.
Для каждого учебного наблюдения и дерева, quantilePredict включает веса деревьев (вес, вес дерева), указанные TreeWeights, то есть w * tj, дерево = wt, treevtj * Деревья, не выбранные для прогнозирования, имеют вес 0.
Для всех контрольных наблюдений k = 1,...,K X и все выбранные деревья t = 1,...,TquantilePredict предсказывает уникальные листья, в которые попадают наблюдения, а затем идентифицирует все тренировочные наблюдения в пределах предсказанных листьев. quantilePredict приписывает вес utj так, что
в противном случае.
quantilePredict суммирует веса по всем выбранным деревьям, то есть
quantilePredict создает веса отклика путем нормализации весов таким образом, чтобы они равнялись 1, то есть
[1] Брейман, Л. «Случайные леса». Машинное обучение 45, стр. 5-32, 2001.
[2] Мейнсхаузен, Н. «Квантильные регрессионные леса». Журнал исследований машинного обучения, том 7, 2006, стр. 983-999.