Имеется некая переменная x - время завершения некоего процесса. Для процесса возможно "успешное" завершение, которое примерно занимает одно и то же время, но может варьироваться в некоторых пределах. Возможно также "ненормальное" завершение, при котором время или очень мало, или очень велико. Задача - по истории запусков этого процесса научиться отличать "успешные" времена от "ненормальных" - предполагая, что "ненормальные" очень редки. Тут вопрос - можно ли предположить, что распределение x - нормальное? Особая точность не нужна, главное, чтобы улавливались серьёзные отклонения от "обычного" поведения.
Теперь задача усложняется - допустим, у процесса возможно несколько (небольшое число) вариантов "успешных" завершений, каждое из которых занимает своё время. Какой именно из вариантов происходит каждый раз - выбирается случайно. Как в этом случае отличить "успешное" от "ненормального"? Возможно ли это в общем случае?
Теперь задача усложняется - допустим, у процесса возможно несколько (небольшое число) вариантов "успешных" завершений, каждое из которых занимает своё время. Какой именно из вариантов происходит каждый раз - выбирается случайно. Как в этом случае отличить "успешное" от "ненормального"? Возможно ли это в общем случае?
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
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 и определять вхождение по ним.
(муж)