Сравните прогнозирующую точность двух моделей классификации
testcholdout
статистически оценивает точность двух моделей классификации. Функция сначала сравнивает их предсказанные метки с истинными метками, и затем она обнаруживает, является ли различие между misclassification уровнями статистически значительным.
Можно оценить, отличается ли точность моделей классификации, или выполняет ли одна модель классификации лучше, чем другой. testcholdout
может провести несколько тестовых изменений Макнемэра, включая асимптотический тест, точно-условный тест и тест mid-p-value. Для чувствительной к стоимости оценки доступные тесты включают тест хи-квадрата (требует лицензии Optimization Toolbox™), и тест отношения правдоподобия.
возвращает тестовое решение, путем проведения mid-p-value теста Макнемэра, от тестирования нулевой гипотезы, что предсказанный класс маркирует h
= testcholdout(YHat1
,YHat2
,Y
)YHat1
и YHat2
имейте равную точность для предсказания, что истинный класс маркирует Y
. Альтернативная гипотеза - то, что метки имеют неравную точность.
h
= 1 указывает, чтобы отклонить нулевую гипотезу на 5%-м уровне значения.
h
= 0 указывает, чтобы не отклонить нулевую гипотезу на 5%-м уровне.
возвращает результат теста гипотезы с дополнительными опциями, заданными одним или несколькими h
= testcholdout(YHat1
,YHat2
,Y
,Name,Value
)Name,Value
парные аргументы. Например, можно задать тип альтернативной гипотезы, задать тип теста или предоставить матрицу стоимости.
Обучайтесь две классификации моделируют использующие различные алгоритмы. Проведите статистический тест, сравнивающий misclassification уровни этих двух моделей на протянутом наборе.
Загрузите ionosphere
набор данных.
load ionosphere
Создайте раздел, который равномерно разделяет данные в обучение и тестирующие наборы.
rng(1); % For reproducibility CVP = cvpartition(Y,'holdout',0.5); idxTrain = training(CVP); % Training-set indices idxTest = test(CVP); % Test-set indices
CVP
объект раздела перекрестной проверки, который задает наборы обучающих данных и наборы тестов.
Обучите модель SVM и ансамбль 100 сложенных в мешок деревьев классификации. Для модели SVM задайте, чтобы использовать радиальное ядро основной функции и эвристическую процедуру, чтобы определить шкалу ядра.
MdlSVM = fitcsvm(X(idxTrain,:),Y(idxTrain),'Standardize',true,... 'KernelFunction','RBF','KernelScale','auto'); t = templateTree('Reproducible',true); % For reproducibility of random predictor selections MdlBag = fitcensemble(X(idxTrain,:),Y(idxTrain),'Method','Bag','Learners',t);
MdlSVM
обученный ClassificationSVM
модель. MdlBag
обученный ClassificationBaggedEnsemble
модель.
Пометьте наблюдения набора тестов с помощью обученных моделей.
YhatSVM = predict(MdlSVM,X(idxTest,:)); YhatBag = predict(MdlBag,X(idxTest,:));
YhatSVM
и YhatBag
векторы, продолжающие предсказанные метки класса соответствующих моделей.
Протестируйте, имеют ли эти две модели равную прогнозирующую точность.
h = testcholdout(YhatSVM,YhatBag,Y(idxTest))
h = logical
0
h = 0
указывает, чтобы не отклонить нулевую гипотезу, что эти две модели имеют равную прогнозирующую точность.
Обучите две модели классификации с помощью того же алгоритма, но настройте гиперпараметр, чтобы сделать алгоритм более комплексным. Проведите статистический тест, чтобы оценить, имеет ли более простая модель лучшую точность в протянутых данных, чем более сложная модель.
Загрузите ionosphere
набор данных.
load ionosphere;
Создайте раздел, который равномерно разделяет данные в обучение и тестирующие наборы.
rng(1); % For reproducibility CVP = cvpartition(Y,'holdout',0.5); idxTrain = training(CVP); % Training-set indices idxTest = test(CVP); % Test-set indices
CVP
объект раздела перекрестной проверки, который задает наборы обучающих данных и наборы тестов.
Обучите две модели SVM: тот, который использует линейное ядро (значение по умолчанию для бинарной классификации) и та, которая использует радиальное ядро основной функции. Используйте шкалу ядра по умолчанию 1.
MdlLinear = fitcsvm(X(idxTrain,:),Y(idxTrain),'Standardize',true); MdlRBF = fitcsvm(X(idxTrain,:),Y(idxTrain),'Standardize',true,... 'KernelFunction','RBF');
MdlLinear
и MdlRBF
обученный ClassificationSVM
модели.
Пометьте наблюдения набора тестов с помощью обученных моделей.
YhatLinear = predict(MdlLinear,X(idxTest,:)); YhatRBF = predict(MdlRBF,X(idxTest,:));
YhatLinear
и YhatRBF
векторы, продолжающие предсказанные метки класса соответствующих моделей.
Протестируйте нулевую гипотезу что более простая модель (MdlLinear
) самое большее так же точно как более сложная модель (MdlRBF
). Поскольку размер набора тестов является большим, проведите асимптотический тест Макнемэра и сравните результаты с серединой - тест p-значения (нечувствительное к стоимости значение по умолчанию тестирования). Запросите возвратить p-значения и misclassification уровни.
Asymp = zeros(4,1); % Preallocation MidP = zeros(4,1); [Asymp(1),Asymp(2),Asymp(3),Asymp(4)] = testcholdout(YhatLinear,YhatRBF,Y(idxTest),... 'Alternative','greater','Test','asymptotic'); [MidP(1),MidP(2),MidP(3),MidP(4)] = testcholdout(YhatLinear,YhatRBF,Y(idxTest),... 'Alternative','greater'); table(Asymp,MidP,'RowNames',{'h' 'p' 'e1' 'e2'})
ans=4×2 table
Asymp MidP
__________ __________
h 1 1
p 7.2801e-09 2.7649e-10
e1 0.13714 0.13714
e2 0.33143 0.33143
P-значение близко к нулю для обоих тестов, который указывает на убедительные доказательства, чтобы отклонить нулевую гипотезу, что более простая модель менее точна, чем более сложная модель. Неважно, что тестирует вас, задают, testcholdout
возвращает тот же тип меры по misclassification для обеих моделей.
Для наборов данных с неустойчивыми представлениями класса, или если ложно-положительные и ложно-отрицательные затраты являются неустойчивыми, можно статистически сравнить прогнозирующую производительность двух моделей классификации включением матрицы стоимости в анализе.
Загрузите arrhythmia
набор данных. Определите представления класса в данных.
load arrhythmia;
Y = categorical(Y);
tabulate(Y);
Value Count Percent 1 245 54.20% 2 44 9.73% 3 15 3.32% 4 15 3.32% 5 13 2.88% 6 25 5.53% 7 3 0.66% 8 2 0.44% 9 9 1.99% 10 50 11.06% 14 4 0.88% 15 5 1.11% 16 22 4.87%
Существует 16 классов, однако некоторые не представлены в наборе данных (например, класс 13). Большинство наблюдений классифицируется как не наличие аритмии (класс 1). Набор данных очень дискретен с неустойчивыми классами.
Объедините все наблюдения с аритмией (классы 2 - 15) в один класс. Удалите те наблюдения с неизвестным состоянием аритмии (класс 16) от набора данных.
idx = (Y ~= '16'); Y = Y(idx); X = X(idx,:); Y(Y ~= '1') = 'WithArrhythmia'; Y(Y == '1') = 'NoArrhythmia'; Y = removecats(Y);
Создайте раздел, который равномерно разделяет данные в наборы обучающих данных и наборы тестов.
rng(1); % For reproducibility CVP = cvpartition(Y,'holdout',0.5); idxTrain = training(CVP); % Training-set indices idxTest = test(CVP); % Test-set indices
CVP
объект раздела перекрестной проверки, который задает наборы обучающих данных и наборы тестов.
Создайте стоимость, матрицируют таким образом, что, неправильно классифицируя пациента с аритмией в "никакую аритмию" класс в пять раз хуже, чем неправильная классификация пациента без аритмии в класс аритмии. Классификация правильно не несет расходов. Строки указывают на истинный класс, и столбцы указывают на предсказанный класс. Когда вы проводите чувствительный к стоимости анализ, хорошая практика должна задать порядок классов.
Cost = [0 1;5 0]; ClassNames = {'NoArrhythmia','WithArrhythmia'};
Обучите два повышающих ансамбля 50 деревьев классификации, то, которое использует AdaBoostM1 и другого, который использует LogitBoost. Поскольку существуют отсутствующие значения в наборе данных, задают, чтобы использовать суррогатные разделения. Обучите модели с помощью матрицы стоимости.
t = templateTree('Surrogate','on'); numTrees = 50; MdlAda = fitcensemble(X(idxTrain,:),Y(idxTrain),'Method','AdaBoostM1',... 'NumLearningCycles',numTrees,'Learners',t,... 'Cost',Cost,'ClassNames',ClassNames); MdlLogit = fitcensemble(X(idxTrain,:),Y(idxTrain),'Method','LogitBoost',... 'NumLearningCycles',numTrees,'Learners',t,... 'Cost',Cost,'ClassNames',ClassNames);
MdlAda
и MdlLogit
обученный ClassificationEnsemble
модели.
Пометьте наблюдения набора тестов с помощью обученных моделей.
YhatAda = predict(MdlAda,X(idxTest,:)); YhatLogit = predict(MdlLogit,X(idxTest,:));
YhatLinear
и YhatRBF
векторы, содержащие предсказанные метки класса соответствующих моделей.
Протестируйте ли ансамбль AdaBoostM1 (MdlAda
) и ансамбль LogitBoost (MdlLogit
) имейте равную прогнозирующую точность. Предоставьте матрицу стоимости. Проведите асимптотическое, отношение правдоподобия, чувствительный к стоимости тест (значение по умолчанию, когда вы передадите в матрице стоимости). Запросите возвратить затраты misclassification и p-значения.
[h,p,e1,e2] = testcholdout(YhatAda,YhatLogit,Y(idxTest),'Cost',Cost)
h = logical
0
p = 0.2094
e1 = 0.5953
e2 = 0.4698
h = 0
указывает, чтобы не отклонить нулевую гипотезу, что эти две модели имеют равную прогнозирующую точность.
YHat1
— Предсказанные метки классаПредсказанные метки класса первой модели классификации, заданной как категориальное, символ, или массив строк, логический или числовой вектор или массив ячеек из символьных векторов.
Если YHat1
символьный массив, затем каждый элемент должен соответствовать одной строке массива.
YHat1
, YHat2
, и Y
должен иметь равные длины.
Это - лучшая практика для YHat1
, YHat2
, и Y
совместно использовать совпадающий тип данных.
Типы данных: categorical
| char
| string
| logical
| single
| double
| cell
YHat2
— Предсказанные метки классаПредсказанные метки класса второй модели классификации, заданной как категориальное, символ, или массив строк, логический или числовой вектор или массив ячеек из символьных векторов.
Если YHat2
символьный массив, затем каждый элемент должен соответствовать одной строке массива.
YHat1
, YHat2
, и Y
должен иметь равные длины.
Это - лучшая практика для YHat1
, YHat2
, и Y
совместно использовать совпадающий тип данных.
Типы данных: categorical
| char
| string
| logical
| single
| double
| cell
Y
— Истинные метки классаИстинные метки класса, заданные как категориальное, символ, или массив строк, логический или числовой вектор или массив ячеек из символьных векторов.
Если Y
символьный массив, затем каждый элемент должен соответствовать одной строке массива.
YHat1
, YHat2
, и Y
должен иметь равные длины.
Это - лучшая практика для YHat1
, YHat2
, и Y
совместно использовать совпадающий тип данных.
Типы данных: categorical
| char
| string
| logical
| single
| double
| cell
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
'Alternative','greater','Test','asymptotic','Cost',[0 2;1 0]
задает, чтобы протестировать, более ли первый набор первых предсказанных меток класса точен, чем второй набор, чтобы провести асимптотический тест Макнемэра и оштрафовать наблюдения неправильной классификации с истинной меткой ClassNames{1}
вдвое больше, чем для неправильной классификации наблюдений с истинной меткой ClassNames{2}
.'Alpha'
— Тестовый уровень значения гипотезы
(значение по умолчанию) | скалярное значение в интервале (0,1)Тестовый уровень значения гипотезы, заданный как разделенная запятой пара, состоящая из 'Alpha'
и скалярное значение в интервале (0,1).
Пример: 'Alpha',0.1
Типы данных: single
| double
'Alternative'
— Альтернативная гипотеза, чтобы оценить'unequal'
(значение по умолчанию) | 'greater'
| 'less'
Альтернативная гипотеза, чтобы оценить, заданный как разделенная запятой пара, состоящая из 'Alternative'
и одно из перечисленных в таблице значений.
Значение | Альтернативная гипотеза |
---|---|
'unequal' (значение по умолчанию) | Для предсказания Y , YHat1 и YHat2 имейте неравную точность. |
'greater' | Для предсказания Y , YHat1 более точно, чем YHat2 . |
'less' | Для предсказания Y , YHat1 менее точно, чем YHat2 . |
Пример: 'Alternative','greater'
'ClassNames'
— Имена классовИмена классов, заданные как разделенная запятой пара, состоящая из 'ClassNames'
и категориальное, символ, или массив строк, логический или числовой вектор или массив ячеек из символьных векторов. Необходимо установить ClassNames
использование типа данных Y
.
Если ClassNames
символьный массив, затем каждый элемент должен соответствовать одной строке массива.
Используйте ClassNames
к:
Задайте порядок любой размерности входного параметра, которая соответствует порядку класса. Например, используйте ClassNames
задавать порядок размерностей Cost
.
Выберите подмножество классов для тестирования. Например, предположите что набор всех отличных имен классов в Y
{'a','b','c'}
. Обучаться и тестовые модели с помощью наблюдений от классов 'a'
и 'c'
только, задайте 'ClassNames',{'a','c'}
.
Значением по умолчанию является набор всех отличных имен классов в Y
.
Пример: 'ClassNames',{'b','g'}
Типы данных: single
| double
| logical
| char
| string
| cell
| categorical
'Cost'
— Misclassification стоитсяMisclassification стоят, заданный как разделенная запятой пара, состоящая из 'Cost'
и квадратная матрица или массив структур.
Если вы задаете квадратную матрицу Cost
, затем Cost(i,j)
стоимость классификации точки в класс j
если его истинным классом является i
. Таким образом, строки соответствуют истинному классу, и столбцы соответствуют предсказанному классу. Чтобы задать класс заказывают для соответствующих строк и столбцов Cost
, дополнительно задайте ClassNames
аргумент пары "имя-значение".
Если вы задаете структуру S
, затем S
должен иметь два поля:
S.ClassNames
, который содержит имена классов как переменную совпадающего типа данных как Y
. Можно использовать это поле, чтобы задать порядок классов.
S.ClassificationCosts
, который содержит матрицу стоимости со строками и столбцами, упорядоченными как в S.ClassNames
.
Если вы задаете Cost
, затем testcholdout
не может провести односторонний, точный, или середина p тесты. Необходимо также задать 'Alternative','unequal','Test','asymptotic'
. Для чувствительных к стоимости опций тестирования смотрите CostTest
аргумент пары "имя-значение".
Лучшая практика состоит в том, чтобы предоставить ту же матрицу стоимости, используемую, чтобы обучить модели классификации.
Значением по умолчанию является Cost(i,j) = 1
если i ~= j
, и Cost(i,j) = 0
если i = j
.
Пример: 'Cost',[0 1 2 ; 1 0 2; 2 2 0]
Типы данных: single
| double
| struct
'CostTest'
— Чувствительный к стоимости тестовый тип'likelihood'
(значение по умолчанию) | 'chisquare'
Чувствительный к стоимости тестовый тип, заданный как разделенная запятой пара, состоящая из 'CostTest'
и 'chisquare'
или 'likelihood'
. Если вы не задаете матрицу стоимости использование Cost
аргумент пары "имя-значение", testcholdout
игнорирует CostTest
.
Эта таблица суммирует доступные параметры для чувствительного к стоимости тестирования.
Значение | Асимптотический тестовый тип | Требования |
---|---|---|
'chisquare' | Тест хи-квадрата | Лицензия Optimization Toolbox, чтобы реализовать quadprog |
'likelihood' | Тест отношения правдоподобия | 'none' |
Для получения дополнительной информации смотрите Чувствительное к стоимости Тестирование.
Пример: 'CostTest','chisquare'
'Test'
— Протестируйте, чтобы провести'asymptotic'
| 'exact'
| 'midp'
Протестируйте, чтобы провести, заданный как разделенная запятой пара, состоящая из 'Test'
и 'asymptotic'
, 'exact'
, и 'midp'
. Эта таблица суммирует доступные параметры для нечувствительного к стоимости тестирования.
Значение | Описание |
---|---|
'asymptotic' | Асимптотический тест Макнемэра |
'exact' | Точное условное выражение тест Макнемэра |
'midp' (значение по умолчанию) | Mid-p-value тест Макнемэра |
Для получения дополнительной информации смотрите Тесты Макнемэра.
Для чувствительного к стоимости тестирования, Test
должен быть 'asymptotic'
. Когда вы задаете Cost
аргумент пары "имя-значение", и выбирает чувствительный к стоимости тест с помощью CostTest
аргумент пары "имя-значение", 'asymptotic'
значение по умолчанию.
Пример: 'Test','asymptotic'
NaN
s, <undefined>
значения, пустые символьные вектора (''
), пустые строки (""
), и <missing>
значения указывают на недостающие значения данных. testcholdout
:
Отсутствующие значения обработок в YHat1
и YHat2
как неправильно классифицированные наблюдения.
Удаляет отсутствующие значения в Y
и соответствующие значения YHat1
и YHat2
h
— Результат испытаний гипотезы
| 0
Результат испытаний гипотезы, возвращенный как логическое значение.
h = 1
указывает на отклонение нулевой гипотезы в Alpha
уровень значения.
h = 0
указывает на отказ отклонить нулевую гипотезу в Alpha
уровень значения.
Типы данных: логический
p
— p - значениеp- теста, возвращенного как скаляр в интервале [0,1]. p
вероятность, что случайная тестовая статистическая величина, по крайней мере, как экстремальное значение как наблюдаемая тестовая статистическая величина, учитывая, что нулевая гипотеза верна.
testcholdout
оценки p
использование распределения тестовой статистической величины, которая меняется в зависимости от типа теста. Для получения дополнительной информации на тестовой статистике, выведенной из доступных вариантов теста Макнемэра, смотрите Тесты Макнемэра. Для получения дополнительной информации на тестовой статистике, выведенной из чувствительных к стоимости тестов, смотрите Чувствительное к стоимости Тестирование.
e1
— Потеря классификацииПотеря классификации, которая обобщает точность первого набора меток класса (YHat1
) предсказание истинных меток класса (Y
), возвратился как скаляр.
Для нечувствительного к стоимости тестирования, e1
misclassification уровень. Таким образом, e1
пропорция неправильно классифицированных наблюдений, которая является скаляром в интервале [0,1].
Для чувствительного к стоимости тестирования, e1
стоимость misclassification. Таким образом, e1
взвешенное среднее затрат misclassification, в которых веса являются соответствующими предполагаемыми пропорциями неправильно классифицированных наблюдений.
e2
— Потеря классификацииПотеря классификации, которая обобщает точность второго набора меток класса (YHat2
) предсказание истинных меток класса (Y
), возвратился как скаляр.
Для нечувствительного к стоимости тестирования, e2
misclassification уровень. Таким образом, e2
пропорция неправильно классифицированных наблюдений, которая является скаляром в интервале [0,1].
Для чувствительного к стоимости тестирования, e2
стоимость misclassification. Таким образом, e2
взвешенное среднее затрат на misclassification, в котором веса являются соответствующими предполагаемыми пропорциями неправильно классифицированных наблюдений.
Проведите cost-sensitive testing, когда стоимость misclassification будет неустойчивой. Путем проведения чувствительного к стоимости анализа можно объяснить неустойчивость стоимости, когда вы обучаете модели классификации и когда вы статистически сравниваете их.
Если стоимость misclassification является неустойчивой, то misclassification уровень имеет тенденцию быть плохо выполняющей потерей классификации. Используйте стоимость misclassification вместо этого, чтобы сравнить модели классификации.
Затраты Misclassification являются часто неустойчивыми в приложениях. Например, рассмотрите предметы классификации на основе набора предикторов в две категории: здоровый и больной. Неправильная классификация больного предмета как здоровые положения опасность для жизни предмета. Однако неправильная классификация здорового предмета как больной обычно вызывает некоторое неудобство, но не создает значительную опасность. В этой ситуации вы присваиваете затраты misclassification, таким образом, что неправильная классификация больного предмета как здоровый является более дорогостоящей, чем неправильная классификация здорового предмета как больной.
Определения, которые следуют, обобщают чувствительные к стоимости тесты. В определениях:
nijk и номер и оцененная пропорция демонстрационных тестом наблюдений со следующими характеристиками. k является истинным классом, i является меткой, присвоенной первой моделью классификации, и j является меткой, присвоенной второй моделью классификации. Неизвестное истинное значение πijk. Объем выборки набора тестов Кроме того,
cij является относительной стоимостью присвоения метки j к наблюдению с истинным классом i. cii = 0, cij ≥ 0, и, для по крайней мере одного (i, j) пара, cij> 0.
Все индексы берут целочисленные значения от 1 до K, который является количеством классов.
Ожидаемое различие в misclassification затратах на две модели классификации
Тест гипотезы
Доступные чувствительные к стоимости тесты подходят для двустороннего тестирования.
Доступными асимптотическими тестами, которые обращаются к неустойчивым затратам, является chi-square test и likelihood ratio test.
Тест хи-квадрата — тестовая статистическая величина хи-квадрата основана на Пирсоне и Неймановой тестовой статистике хи-квадрата, но с поправочным коэффициентом Лапласа, чтобы составлять любой nijk = 0. Тестовая статистическая величина
Если , затем отклоните H 0.
оцениваются путем минимизации при ограничении, что δ = 0.
χ 2 cdf с одной степенью свободы, оцененной в x.
Тест отношения правдоподобия — тест отношения правдоподобия основан на Nijk, которые являются биномиальными случайными переменными с объемом выборки ntest и вероятность успеха πijk. Случайные переменные представляют случайное число наблюдений с: истинный класс k, метка i, присвоенная первой моделью классификации и меткой j, присвоен второй моделью классификации. Совместно, распределение случайных переменных является многочленом.
Тестовая статистическая величина
Если затем отклоните H 0.
неограниченный MLE πijk.
MLE по нулевой гипотезе что δ = 0. λ является решением
χ 2 cdf с одной степенью свободы, оцененной в x.
McNemar Tests является тестами гипотезы, которые сравнивают две пропорции населения при решении проблем, следующих из двух зависимых, совпадающих парных выборок.
Один способ сравнить прогнозирующую точность двух моделей классификации:
Разделите данные в наборы обучающих данных и наборы тестов.
Обучите обе модели классификации с помощью набора обучающих данных.
Предскажите метки класса с помощью набора тестов.
Обобщите результаты в two-two таблице, похожей на этот рисунок.
nii является количеством согласующихся пар, то есть, количеством наблюдений, что обе модели классифицируют тот же путь (правильно или неправильно). nij, i ≠ j, является количеством противоречащих пар, то есть, количеством наблюдений, что модели классифицируют по-другому (правильно или неправильно).
misclassification уровни для Моделей 1 и 2 и , соответственно. Двухсторонний тест для сравнения точности этих двух моделей
Нулевая гипотеза предполагает, что население показывает крайнюю однородность, которая уменьшает нулевую гипотезу до Кроме того, по нулевой гипотезе, N 12 ~ Биномов (n 12 + n 21 0.5) [1].
Эти факты являются основанием для доступных тестовых вариантов Макнемэра: asymptotic, exact-conditional и mid-p-value тесты Макнемэра. Определения, которые следуют, обобщают доступные варианты.
Асимптотический — асимптотическая тестовая статистика Макнемэра и области отклонения (для уровня значения α):
Для односторонних тестов тестовая статистическая величина
Если где Φ является стандартным Гауссовым cdf, затем отклоните H 0.
Для двухсторонних тестов тестовая статистическая величина
Если , где χm, 2 cdf, оцененные в x, затем отклоняют H 0.
Асимптотический тест требует теории большой выборки, а именно, Гауссова приближения к биномиальному распределению.
Общее количество противоречащих пар, , должен быть больше 10 ([1], Ch. 10.1.4).
В общем случае асимптотические тесты не гарантируют номинальное покрытие. Наблюдаемая вероятность ложного отклонения нулевой гипотезы может превысить α, как предложено в исследованиях симуляции в [18]. Однако асимптотический тест Макнемэра выполняет хорошо в терминах статистической степени.
Точное условное выражение — точное условное выражение тестовая статистика Макнемэра и области отклонения (для уровня значения α) ([36], [38]):
Для односторонних тестов тестовая статистическая величина
Если , где бином cdf с объемом выборки n и вероятность успеха, p, оцененный в x, затем отклоняет H 0.
Для двухсторонних тестов тестовая статистическая величина
Если , затем отклоните H 0.
Точно-условный тест всегда достигает номинального покрытия. Исследования симуляции в [18] предполагают, что тест консервативен, и затем покажите, что тест испытывает недостаток в статистической степени по сравнению с другими вариантами. Для маленьких или очень дискретных тестовых выборок рассмотрите использование теста mid-p-value ([1], Ch. 3.6.3).
Тест Mid-p-value — mid-p-value тестовая статистика Макнемэра и области отклонения (для уровня значения α) ([32]):
Для односторонних тестов тестовая статистическая величина
Если , где и бином cdf и PDF, соответственно, с объемом выборки n и вероятность успеха p, оцененный в x, затем отклоняет H 0.
Для двухсторонних тестов тестовая статистическая величина
Если , затем отклоните H 0.
Тест mid-p-value обращается к сверхконсервативному поведению точно-условного теста. Исследования симуляции в [18] демонстрируют, что этот тест достигает номинального покрытия и имеет хорошую статистическую силу.
Classification losses указывает на точность модели классификации или набор предсказанных меток. Две потери классификации являются misclassification уровнем и стоимостью.
testcholdout
возвращает потери классификации (см. e1
и e2
) в соответствии с альтернативной гипотезой (то есть, неограниченные потери классификации). nijk является количеством демонстрационных тестом наблюдений с: истинный класс k, метка i, присвоенная первой моделью классификации и меткой j, присвоен второй моделью классификации. Соответствующая предполагаемая пропорция Объем выборки набора тестов Индексы взяты от 1 до K, количества классов.
misclassification rate или ошибка классификации, является скаляром в интервале [0,1] представление пропорции неправильно классифицированных наблюдений. Таким образом, misclassification уровень для первой модели классификации
Для misclassification уровня второй модели классификации (e 2), переключите индексы i и j в формуле.
Точность классификации уменьшается как misclassification повышения ставки к 1.
misclassification cost является неотрицательным скаляром, который является мерой качества классификации относительно значений заданной матрицы стоимости. Его интерпретация зависит от заданных затрат на misclassification. Стоимость misclassification является взвешенным средним затрат на misclassification (заданный в матрице стоимости, C), в котором веса являются соответствующими предполагаемыми пропорциями неправильно классифицированных наблюдений. misclassification, стоивший за первую модель классификации,
где ckj является стоимостью классификации наблюдения в класс j, если его истинным классом является k. Для misclassification стоимости второй модели классификации (e 2), переключите индексы i и j в формуле.
В общем случае для матрицы фиксированных затрат, уменьшения точности классификации, когда misclassification стоят увеличений.
Это - хорошая практика, чтобы получить предсказанные метки класса путем передачи любой обученной классификации и новые данные о предикторе модели predict
метод. Например, для предсказанных меток из модели SVM, смотрите predict
.
Чувствительные к стоимости тесты выполняют числовую оптимизацию, которая требует дополнительных вычислительных ресурсов. Тест отношения правдоподобия проводит числовую оптимизацию косвенно путем нахождения корня множителя Лагранжа в интервале. Для некоторых наборов данных, если корень находится близко к контурам интервала, то метод может перестать работать. Поэтому, если вы имеете лицензию Optimization Toolbox, рассматриваете проведение чувствительного к стоимости теста хи-квадрата вместо этого. Для получения дополнительной информации смотрите CostTest
и чувствительное к стоимости тестирование.
[1] Agresti, A. Анализ категориальных данных, 2-й Эд. John Wiley & Sons, Inc.: Хобокен, NJ, 2002.
[2] Fagerlan, M.W., С. Лидерсен и П. Лаак. “Тест Макнемэра для Бинарных Данных Совпадающих Пар: середина p и Асимптотический Лучше, Чем Точное Условное выражение”. BMC Медицинская Методология Исследования. Издание 13, 2013, стр 1–8.
[3] Ланкастер, H.O. “Тесты значения в Дискретных распределениях”. JASA, Издание 56, Номер 294, 1961, стр 223–234.
[4] Макнемэр, Q. “Примечание по Ошибке Выборки Различия Между Коррелироваными Пропорциями или Процентами”. Psychometrika, Издание 12, Номер 2, 1947, стр 153–157.
[5] Mosteller, F. “Некоторые Статистические проблемы в Измерении Субъективного Ответа на Наркотики”. Биометрика, Издание 8, Номер 3, 1952, стр 220–226.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.