пересеките каждый элемент в дереве XML с помощью linq к xml

Существуют партии и много классических пиковых методов обнаружения, любой из которых мог бы работать. Необходимо будет видеть то, что, в частности, ограничивает качество данных. Вот основные описания:

  1. Между любыми двумя точками в Ваших данных, (x(0), y(0)) и (x(n), y(n)), складывают y(i + 1) - y(i) для 0 <= i < n и называют этот T ("перемещение") и устанавливают R ("повышение") на y(n) - y(0) + k для соответственно маленького k. T/R > 1 указывает на пик. Это работает хорошо, если большое перемещение из-за шума маловероятно или если шум распределяет симметрично вокруг формы базисной кривой. Для Вашего приложения примите самый ранний пик со счетом выше данного порога или проанализируйте кривую перемещения на значения повышения для более интересных свойств.

  2. Использование соответствовало фильтрам для выигрыша подобия стандартной пиковой форме (по существу, используйте нормализованное скалярное произведение против некоторой формы для получения метрики косинуса подобия)

  3. Deconvolve против стандартной пиковой формы и проверки на высокие значения (хотя я часто нахожу 2 быть менее чувствительным к шуму для простого вывода инструментария).

  4. Сглаживают данные и проверку на триплеты равномерно распределенных точек, где, если x0 < x1 < x2, y1 > 0.5 * (y0 + y2), или проверяют Евклидовы расстояния как это: D((x0, y0), (x1, y1)) + D((x1, y1), (x2, y2)) > D((x0, y0),(x2, y2)), который полагается на треугольное неравенство. Используя простые отношения снова предоставит Вам механизм выигрыша.

  5. Соответствие очень простая 2-гауссова модель смеси к Вашим данным (например, Числовые Рецепты имеют хороший готовый блок кода). Возьмите более ранний пик. Это будет иметь дело правильно с наложением пиков.

  6. Находят лучшее соответствие в данных к простому Гауссову, Cauchy, Пуассону, или кривой what-have-you. Оцените эту кривую по широкому диапазону и вычтите ее из копии данных после замечания, что это - пиковое местоположение. Повториться. Возьмите самый ранний пик, параметры модели которого (стандартное отклонение, вероятно, но некоторые приложения могли бы заботиться об эксцессе или других функциях) соответствуют некоторому критерию. Не упустите артефакты, оставленные позади, когда пики будут вычтены из данных. Лучшее соответствие могло бы быть определено видом выигрыша соответствия, предложенного в № 2 выше.

я сделал то, что Вы делаете прежде: нахождение пиков в DNA упорядочивает данные, нахождение пиков в производных, оцененных от измеренных кривых и нахождения пиков в гистограммах.

я поощряю Вас следить тщательно за надлежащим определением исходного состояния. Wiener фильтрация или другая фильтрация или простой анализ гистограммы часто являются простым способом к базовой линии в присутствии шума.

Наконец, если Ваши данные являются обычно шумными и Вы получаете данные от карты как не имеющий ссылки несимметричный вывод (или даже ссылаемые, просто не дифференциал), и если Вы насчитываете много наблюдений в каждую точку данных, попытайтесь сортировать те наблюдения и выбросить первый и последний квартиль и составить в среднем то, что остается. Существует хост такой тактики устранения изолированной части, которая может быть действительно полезной.

7
задан JK. 15 November 2009 в 21:21
поделиться

2 ответа

Elements проходит только один уровень; Потомки просматривают всю DOM на предмет элементов, и затем вы можете (для каждого элемента) проверять атрибуты:

    foreach (var el in doc.Descendants()) {
        Console.WriteLine(el.Name);
        foreach (var attrib in el.Attributes()) {
            Console.WriteLine("> " + attrib.Name + " = " + attrib.Value);
        }
    }
18
ответ дан 6 December 2019 в 10:00
поделиться

Вы должны попробовать:

reportElements.Descendants()
1
ответ дан 6 December 2019 в 10:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: