Сравнение двух алгоритмов на одном наборе данных с использованием общей стоимости. Какой статистический тест использовать?

Мне нужно провести три разных вида сравнений между разными алгоритмами интеллектуального анализа данных.

Единственный тип сравнения, который является проблематичным, — это самый простой, два алгоритма на одном наборе данных — для меня это проблематично.

Я знаю статью Diettrich (1998), в которой McNemar и 5x2CV упоминаются как предпочтительные варианты и утверждается, что t-критерий с повторной выборкой невыполнимо. Поскольку анализ является частью более крупной схемы с использованием подвыборок, обучения 60:40: разбивки тестов и общей стоимости в качестве показателя эффективности, я не могу их использовать.

Какие другие варианты оценки эффективности существуют в этом случае?

  • Sign-test: просто подсчитайте количество случаев, когда каждый из двух алгоритмов работает лучше, а затем проверьте p-значение с помощью биномиального распределения. Проблемный, так как очень слабый.

  • Уилкоксон-подписанный ранговый критерий: как непараметрическая альтернатива t-критерию, о котором я подумал первым, но не упоминается ни в одной статье для такого рода сравнения, только для сравнения двух алгоритмов на несколько наборов данных с использованием среднего результата производительности нескольких итераций. Это невозможно, и если да, то почему?


person ateich    schedule 10.09.2013    source источник


Ответы (1)


Одно очевидное различие между ними заключается в том, что критерий знакового ранга Уилкоксона требует, чтобы вы вычислили разницу между двумя членами пары, а затем ранжировали эти различия. Если единственная информация, которую вы имеете для каждого члена пары, заключается в том, правильно ли процедуры интеллектуального анализа данных угадали класс своего члена, тогда будет только три возможных знаковых ранга — -1, 0, 1 и критерий знакового ранга Уилкоксона. будет эквивалентен критерию Макнемара, который на самом деле представляет собой просто способ вычисления приблизительного хвостового значения критерия знака. Если имеет смысл сравнивать результаты двух членов пары, а не вычитать их и получать число, то вы снова возвращаетесь к тесту знаков.

Это звучит как упражнение, чтобы заставить вас выполнить ряд статистических тестов, но если бы это было чем-то в реальной жизни, моей первой мыслью было бы выяснить, почему вы действительно заботитесь о проведении упражнения по интеллектуальному анализу данных, возможно, уменьшите это до значения в в денежном выражении, а затем найдите тест, который лучше всего отражает это.

person mcdowella    schedule 11.09.2013
comment
Спасибо за совет! Мерой выполнения задач всегда является общая стоимость. Я запускаю ряд алгоритмов (15) для ряда клиентоориентированных задач (9), например. Обнаружение мошенничества. Поскольку я использую WEKA, McNemar и 5x2CV нельзя использовать, так как они должны использоваться в алгоритмах (для прямого сравнения результатов для каждого экземпляра), а WEKA их не поддерживает. Таким образом, я могу использовать только совокупную метрику «общая стоимость» и получить 10xобщую стоимость для 10 итераций на разных случайных подвыборках. Считаете ли вы Уилкоксона подходящей мерой в этом случае? Знак-тест очень слабый. - person ateich; 11.09.2013
comment
Просто для уточнения: результат составляет 2x (два алгоритма) 10x (10 итераций с использованием подвыборок ‹ всего набора данных) общей стоимости. - person ateich; 11.09.2013
comment
Кажется, вы ищете результаты для каждого экземпляра, чтобы можно было объединить результаты для каждого экземпляра в тесте, который предполагает, что каждая пара независима. Это очень сильное предположение, потому что все пары в конкретном прогоне получены из одного и того же разделения обучающих и тестовых выборок, что привело к одному и тому же набору подогнанных параметров модели - я думаю, это то, что public.asu.edu/~huanliu/dmml_presentation/T-test.pdf называет случайную изменчивость из-за к выбору тренировочного набора. Если вы можете обойтись кратким изложением каждого прогона, вы, вероятно, сможете получить все, что вам нужно, из выходного файла эксперимента. - person mcdowella; 11.09.2013
comment
На самом деле у меня нет большого практического опыта в этой области, но я хотел бы получить как можно больше данных - используя несколько наборов данных, если необходимо, чтобы обеспечить репрезентативность размера каждого набора данных, и используя ночные прогоны, если это необходимо. Затем незначительные придирки или неэффективность анализа становятся неуместными из-за огромного объема проанализированных данных - если данных достаточно, чтобы преобразовать хвостовые пробы в научную запись, вы можете перестать беспокоиться о статистической значимости и начать беспокоиться о практической важности различия, которое у вас есть. так точно получилось. - person mcdowella; 11.09.2013
comment
Большое спасибо! На самом деле я запускаю в общей сложности 15 алгоритмов на 9 наборах данных и планирую использовать Фридмана и Неймара позже для получения более интересных результатов/выводов на случай, если они (надеюсь) появятся. Прямое сравнение только двух алгоритмов предназначено скорее для того, чтобы сначала почувствовать, является ли некоторая предварительная обработка данных хорошим выбором или даже имеет влияние. Я предполагаю, что я буду использовать все три (Пересэмплированный t-критерий + Каппа Коэна, который до сих пор часто применяется, знаковый критерий на подмножествах с повторной выборкой, который показывает, по крайней мере, значительно меньшую ошибку типа I, и, наконец, Уилкоксон как нарушение - person ateich; 12.09.2013
comment
Предположения о независимых доменах не нарушаются так сильно, как обычно предполагается, когда я делаю это невозможным, поскольку я использую 1/3 подвыборки для 7/9 наборов данных. Даже несмотря на то, что мне еще придется расследовать Уилкоксона. Но, как я уже сказал, просто для того, чтобы получить первое представление о том, как окажутся некоторые варианты. Эта процедура кажется вам приемлемой? - person ateich; 12.09.2013
comment
Я подозреваю, что вы знаете больше как о теории, так и о практике, чем я, в этой области, поэтому я не должен пытаться ответить на них, но в любом случае есть одна идея - если вы напишете программу для случайного генерирования данных, подчиняясь модели, подобной что, по вашему мнению, происходит или что, по предположению ваших предикторов/классификаторов, происходит, тогда вы знаете правильный ответ, и у вас нет возможной нехватки данных. Затем вы можете опробовать схемы оценки этих поддельных данных и посмотреть, являются ли ответы, которые они получают, правильными и достаточно стабильными. Похоже, это то, на чем могли быть основаны приведенные выше слайды в формате PDF. - person mcdowella; 12.09.2013