Имеется некая переменная x - время завершения некоего процесса. Для процесса возможно "успешное" завершение, которое примерно занимает одно и то же время, но может варьироваться в некоторых пределах. Возможно также "ненормальное" завершение, при котором время или очень мало, или очень велико. Задача - по истории запусков этого процесса научиться отличать "успешные" времена от "ненормальных" - предполагая, что "ненормальные" очень редки. Тут вопрос - можно ли предположить, что распределение x - нормальное? Особая точность не нужна, главное, чтобы улавливались серьёзные отклонения от "обычного" поведения.
Теперь задача усложняется - допустим, у процесса возможно несколько (небольшое число) вариантов "успешных" завершений, каждое из которых занимает своё время. Какой именно из вариантов происходит каждый раз - выбирается случайно. Как в этом случае отличить "успешное" от "ненормального"? Возможно ли это в общем случае?
Теперь задача усложняется - допустим, у процесса возможно несколько (небольшое число) вариантов "успешных" завершений, каждое из которых занимает своё время. Какой именно из вариантов происходит каждый раз - выбирается случайно. Как в этом случае отличить "успешное" от "ненормального"? Возможно ли это в общем случае?
no subject
no subject
Однако задача-то такая не только у меня бывает. Явно придумали какие-то методы, как её решать.
no subject
Во втором - что насчет неуспешных завешений? Если времена успешных и неуспешных завершений не отличаются, то распределение равномерное и сказать ничего нельзя. Если же отличаются, то, думаю, можно.
no subject
no subject
no subject
no subject
Почитай про алгоритм EM.
no subject
no subject
no subject
no subject
no subject
no subject
no subject
Mozhno ukorotit' k etomu delu diskriminantnyj analiz.
Esli faktor ne odin a 2 ( i oni ne zavsimy linejno )
budet eshe luchshe - a esli bol'she - eshe luchshe.
Esli dannye nechislovye algoritm ocifrovki mozhno pogljadet' v trehtomnike Ajvazjana.
D_Ohrenelli , s uvazheniem.
no subject
а вообще, если речь о конкретном наборе данных (log-файлы;)?), то надо нарисовать распределение и методом матеметического тыка все решить. :)
no subject
Хотя может ведь сработать. Есть довольно много библиотек, и, скорее всего, их как раз для такой цели можно легко прикрутить. И, если это правда сработает, оно ведь может и потом работать, когда задача изменится (сместятся какие-нибудь интервалы и т.д.).
no subject
П..ц котенку :)
Стас, ты понял, что бывает, когда математиков просят посчитать устойчивость стула о четырех ножках? :)
no subject
no subject
В некотором царстве, в некотором государстве брал я такой курс под названием "Шитот нитур". Целый раздел в статистике, занимающийся именно описанной тобой проблемой в классическом варианте (без добавленного усложнения со случайными вариантами). Существует 5-6 основных подходов к решению этой проблемы, ни один из которых я в двух словах тебе объяснить не в состоянии по многим причинам (терминология, необходим опредённый уровень подготовки, да и я сам боюсь тебе напутать). Однако мне удалось откопать совершенно случайно сохранившийся силибус с курса со списком научных работ, поверхностно ознакомившись, с которыми ты сможешь лучше изучить тему и вытащить оттуда общепринятые способы решения таких задач.
Список книг и 19-ти публикаций, разбитых на подтемы (включая случаи, когда не предполагается определённое распределение), могу выслать те по факсу, еси очень надо. Ну и ва-апще... :-)
no subject
Несложно построить функцию "плотности" для значений из истории. Тогда максимумы этой функции будут центрами групп. Дальше для каждой величины находим ближайший центр и получаем группы однотипных запусков (с близким временем). Для каждой группы можно определить успешные это запуски или нет по количеству элементов в группе (другого критерия, кроме редкости ненормальных вроде нет? :) Для новых запусков сразу определяем подходящую группу и по ней - успех или нет
Можно для каждой успешной группы считать mean и stddev и определять вхождение по ним.
(муж)