Поиск
Показаны результаты для тегов 'хемометрика'.
Найдено 1 результат
-
Здравствуйте, уважаемые аццкие)) химики и химички!!! Представляю вашему вниманию маленький кусок большого софта. Речь идет про многомерный анализ, распознавание образов и теорию вероятности в приложении к количественному химическому анализу всего-всего-всего. Сразу отмечу! Многие из нас, химиков, с утра до ночи успешно владеют (а кто-то и ночью) дорогущей аппаратурой, безумных денег реактивами, знаниями статистики и химометрики и т.д. Так как рисую сейчас для ученых всех возрастов и степеней эрудированности: ХИМОЗАВРЫ – улыбнитесь, а новички – наслаждайтесь))), может будет интересно. Постановка задачи. Есть серия или несколько серий однотипных образцов исследования: водка, минералка, гуталин, бензин, грунт, крысиная отрава и т.д. Цель – выявить среди образцов разные партии, единую массу, фальсификат, источник загрязнения и т.д. Образец, как правило – это сложная смесь органики и минералки. Пусть совокупность признаков объекта исследования (для человека: большой, красный, пьяный, с двумя руками, доктор наук; для образца: рН 6, концентрация спирта 40% масс, бутилацетата 0,02 мг/мл, мальтозы 0,01 мг/мл, мутность по формазину 0,001 ЕМФ) – это вектор-строка из величин показателей, измеренных в тугриках или попугаях на декалитр. Тогда, имея результаты анализа 10 образцов в трех параллельных испытаниях по 5 показателям получаем спектральную матрицу размером 30 строк на 5 столбов. Обрабатываем алгоритмом NIPALS и получаем первые два вектора счетов: главные компоненты 1 и 2. Это координаты по абсциссе и ординате. Три параллельных исследования на плоскости (три точки) – это доверительный интервал двумерно распределенной непрерывной случайной величины. Описываем его эллипсом рассеяния, например, для вероятности 0,95. Эллипсы, находящиеся на значительном расстоянии друг от друга свидетельствуют о разном химическом составе (в смысле тех показателей, которые мы анализировали) объектов. Наложенные друг на друга – состав крайне близок. Вкратце как-то вот так. Я не открыл ничего нового, все описано у Шарафа, Эсбенсена, Дерффеля, Бреретона, Вентцель и др. Только отработал математику, объединил несколько отраслей воедино и записал в коде на Дельфях. Точнее первые две версии. Последнюю третью писал мой дружище дьявольский программер Юра Киселев. Интерфейс очень дружественный. 1. Открываем. 2. Кнопаем «Добавить группу». Группа – это совокупность образцов. 3. Выделяем левой лапой мыши область с фразой «Новая группа», если через полсекунды опять кнопнуть туда же, появляется возможность редактирования имени. Теперь клацаем туда же правой кнопкой: магически появляется менюха и вполне недвусмысленно спрашивает что ей делать))). 4. После добавления образца или группы образцов таким же макером правой кнопкой клацаем на образец и добавляем анализ. Функция анализа – это параллельное исследование. Иерархия в принципе понятна. Методом научного тыка все вскоре становится понятно. Зачем образцы и группы образцов? Просто для того, чтобы строить отдельно эллипсы рассеяния на каждый образец и на всю группу. Пока есть ограничения по количеству образцов и групп. Образцов максимально на группу можно 30, групп можно 100. Анализ пока проводится по семи переменным (вектор-строка напротив каждого «Новый анализ»), по умолчанию выставленным на ноль. Птички слева от названий это участие в расчетах. Стоит птичка напротив образца – он участвует в расчетах, не стоит – понятно. Птичка в самом низу – отображать или нет эллипсы каждого образца. Порог – чисто алгоритмный параметр, не меняйте (знаю, все равно поменяете)))) Вместо нулей в векторах ставьте свои тугрики подержав на области полсекунды и потом левой лапой, можно клавишей F2. Нажав на область «Параметр 1» или другую появляется серый столб. Это значит, что этот параметр не будет учитываться в расчетах. То есть после ввода всех данных можно играться с переменными и образцами. Готово! Нажимаем кнопку расчитать и нарисовать эллипсы. Мы попадаем в волшебный мир пониженного до плоскости пространства. Приближать и удалять скролом мыши, двигать левой кнопкой. Одна единственная кнопка в окне понятно зачем. Да!!! Чуть не забыл. Так как первоначально я это разрабатывал для ввода площадей пиков ГХ-МС, значения эбанденс были интежер (целочисленные). Пардон за неудобства. Вскоре все поправим. Если кому-то мало 30 образцов и 100 групп – напишите, сделаем сколько надо. Пока в статике, скоро перейдем на динамику. Прога абсолютно ШАРОВАРНАЯ. Эта софтинка – маленькая шестеренка в разрабатываемом нами большом и злом механизме обработки данных, включая много ценных незаменимых фишек и автоматов обработки хроматограмм ГХ и ВЭЖХ. Сколько можно терпеть пустой софт, который за 30 лет так ничему и не научился, кроме интегрирования и вызова коммерческой или своей библиотеки? Буду ждать вашу критику и предложения. Прога третьей версии написана с нуля, так что могут быть баги. По возможности мы с Юрой отработаем все замечания и предложения. Это не наша прямая работа, всё на энтузиазме и увлеченности. Посмотрим как пойдет дело по многомерщине. У всех задачи разные, для кого-то прогу надо где-то подкрутить)))). По мере отработки багов буду выбрасывать новые версии. Будут вопросы – опять же пишите в тему или Вадимычу на repeller()bk.ru Прога висит здесь http://turbobit.net/u8v4e8meh8m8.html Желаю всем успехов и счастья от всего моего химического сердца!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Ё-моё, какой МНОГАБУКФ.