Вадимыч Опубликовано 29 Марта, 2013 в 19:33 Поделиться Опубликовано 29 Марта, 2013 в 19:33 (изменено) Здравствуйте, уважаемые аццкие)) химики и химички!!! Представляю вашему вниманию маленький кусок большого софта. Речь идет про многомерный анализ, распознавание образов и теорию вероятности в приложении к количественному химическому анализу всего-всего-всего. Сразу отмечу! Многие из нас, химиков, с утра до ночи успешно владеют (а кто-то и ночью) дорогущей аппаратурой, безумных денег реактивами, знаниями статистики и химометрики и т.д. Так как рисую сейчас для ученых всех возрастов и степеней эрудированности: ХИМОЗАВРЫ – улыбнитесь, а новички – наслаждайтесь))), может будет интересно. Постановка задачи. Есть серия или несколько серий однотипных образцов исследования: водка, минералка, гуталин, бензин, грунт, крысиная отрава и т.д. Цель – выявить среди образцов разные партии, единую массу, фальсификат, источник загрязнения и т.д. Образец, как правило – это сложная смесь органики и минералки. Пусть совокупность признаков объекта исследования (для человека: большой, красный, пьяный, с двумя руками, доктор наук; для образца: рН 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 Желаю всем успехов и счастья от всего моего химического сердца!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Ё-моё, какой МНОГАБУКФ. Изменено 29 Марта, 2013 в 19:43 пользователем Вадимыч Ссылка на комментарий
Гость Ефим Опубликовано 29 Марта, 2013 в 20:08 Поделиться Опубликовано 29 Марта, 2013 в 20:08 ... Ё-моё, какой МНОГАБУКФ. Букафф действительно - слишком много. Вы бы изложили суть - без литературщины, а то так и не понятно осталось - чем Ваша прога лучше пакетов, где процедура факторного анализа реализуется?Ей-богу, Ваше сообщение невозможно прочитать более, чем до половины - с души воротит... Ссылка на комментарий
Wergilius Опубликовано 30 Марта, 2013 в 01:54 Поделиться Опубликовано 30 Марта, 2013 в 01:54 (изменено) Обычно, программу описывают так 1. Назначение 2. Применяемые методы (на сколько я понял у вас PCA, реализуемый с помощью итерационного NIPALS) 3. Отличия и недостатки перед существующими программами (которые реализуют тот же метод) Подобные (литературного содержания) тексты обычно размещают (если вообще размещают) в отдельных файлах - для тех кому интересно. Мануал - так же в отдельной файле Непонятен выбор файлообменника - я бы с такого скачивать не рискнул. Изменено 30 Марта, 2013 в 01:56 пользователем Wergilius Ссылка на комментарий
Вадимыч Опубликовано 30 Марта, 2013 в 05:41 Автор Поделиться Опубликовано 30 Марта, 2013 в 05:41 Обычно, программу описывают так 1. Назначение 2. Применяемые методы (на сколько я понял у вас PCA, реализуемый с помощью итерационного NIPALS) 3. Отличия и недостатки перед существующими программами (которые реализуют тот же метод) Подобные (литературного содержания) тексты обычно размещают (если вообще размещают) в отдельных файлах - для тех кому интересно. Мануал - так же в отдельной файле Непонятен выбор файлообменника - я бы с такого скачивать не рискнул. Всем привет! 1. Назначение - разделение по группам серий образцов. 2. Понижение пространства пока до двухмерного методом главных компонент. Построение эллипсов рассеяния для вероятности 0,95. 3. Коммерческая программа - это универсальный черный ящик, который порой сам не знает своих настроек или знает, но никому не говорит. И что самое важное - ему нельзя верить, пока не понял его алгоритмы и сам не проверил. Также он не позволяет одним кнопом отбросить ненужные переменные, образцы и описать разброс в параллельных исследованиях. Касаемо файлообменника - рекомендуйте! Букафф действительно - слишком много. Вы бы изложили суть - без литературщины, а то так и не понятно осталось - чем Ваша прога лучше пакетов, где процедура факторного анализа реализуется? Ей-богу, Ваше сообщение невозможно прочитать более, чем до половины - с души воротит... Самое главное не волноваться))) Я думаю все будет хорошо))) Ссылка на комментарий
Вадимыч Опубликовано 30 Марта, 2013 в 12:15 Автор Поделиться Опубликовано 30 Марта, 2013 в 12:15 (изменено) Чтобы немного расшевелить тему предлагаю немного химического юмора. Следующая картинка называется "А под каким углом Вы в инжектор колете?" Всё было бы здорово, да только это не фотошоп. То, что в телевизоре, то и в файле http://letitbit.net/...мелись.rar.html Это традиционная EVALDEMO.d, только с элементами троллинга Хьюлетта. ЗЫ Учимся читать машинные коды Изменено 30 Марта, 2013 в 12:17 пользователем Вадимыч Ссылка на комментарий
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти