Методические указания к выполнению практических работ


Чтобы посмотреть этот PDF файл с форматированием и разметкой, скачайте его и откройте на своем компьютере.
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ
ФЕДЕРАЦИИ

Федеральное государственное автономное образовательное учреждение высшего
образования

САНКТ
-

ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ











И
.
В
.
Мателенок


ИНФОРМА
ЦИОННЫЕ ТЕХНОЛОГИИ В ЭКОЛОГИИ И
ТЕХНОСФЕРНОЙ БЕЗОПАСНОСТИ


Методическ
ие указания к
выполнению
лабораторных и
практических работ








Санкт
-
Петербург

2016

Автор
:
И
.
В
.
Мателенок





Настоящ
ие

методическ
ие

указания

предназначен
ы

для
магистрантов,
обучающихс
я по программе Математическое моделирование и информационные
технологии в экологии и природопользовании» направления 01.04.04
Прикладная математика»
. Материал, представленный в

м
етодическо
м

пособи
и,
осваивается магистрантами при изучении дисциплин

первог
о семестра обучения
Информационные технологии в сфере экологической безопасности»
,
Управление рисками, системный анализ и моделирование» в модуле
I
.
В
настоящем
файле

с
одержит
ся

план
-
график проведения занятий
,

теоретический
минимум, необходимый для
успеш
ного выполнения заданий, а также

методи
ческое обеспечение

решения отдельных задач
.





П
лан
-
график проведения
практических занятий по дисциплин
е

Информационные технологии в сфере экологической безопасности»
(ИТ),
лабораторных занятий по дисциплине

Управ
ление рисками, системный
анализ и моделирование»

(УР)




Модуль
I

Дисциплина
Информационные технологии в сфере экологической
безопасности»

Практическая работа №
1
.
Систематизация

данных о выбросах
загрязняющих веществ с использованием
R

Цель работы:

форми
рование навыков обработки данных о загрязнении
окружающей среды

с помощью свободно распространяемого программного
обеспечения, ориентированного на статистический анализ данных,

для

обеспечения оперативного

выполнения сравнительной оценки

экологическ
ой

ситу
аци
и

на
различных территориях
.

Используемые
данные
:

данные о выбросах загрязняющих веществ

нестационарными источниками
, осуществляемых в границах

макрорегионов,
субъектов РФ, а также конкретных населенных пунктов, представленные в
табличном виде

в формате
comma

separated

values

(
файлы с расширением
.
csv
).

Исходные

файлы с данными о выбросах

размещены на портале открытых данны
х

РФ
http://data.gov.ru/
.

Для формирования навыков обработки данных
используются производные таблицы
, сгенерированные на основе исходных
файлов.

Структура таблиц
представлена

в таблице 1
.

Р
ешаемые задачи:

1.

Выявить
субъект РФ

с наибольшим суммарным объемом выбросов от
нестационарных источников

в
2014

году
;

2.

Определить, в каком из регионов оценка объем
а выбросов
в
2014

году
приведена для наибольшего числа населенных пунктов;

3.

Построить график, отражающий распределение объема выбросов
NO
x

в
2014

году
по 10 регионам с наибольшими выбросами;

4.

Выяснить, к
акова
доля железнодорожного транспорта в общем объем
е
выбросов от нестационарных источников
в трех регионах с наибольшим объемом
выбросов от железнодорожного транспорта

(
для
2014 года
)
;

5.

Определить населенный пункт в произвольном регионе
, зафиксированное
значение объема выбросов

CO

в котором является медианным
для населенных
пунктов этого

регион
а

с
доступными данными за тот

же год (
2013 и
ли

2014)
.


Инструментарий:

Программа курса предполагает решение указанных

задач

с помощью

язык
а

программирования
R
.
В отдельных случаях по согласованию с преподавателем,
ведущим курс, допускается ис
пользовать
язык программирования
Python
.

Таблица 1


Структура таблицы о выбросах загрязняющих веществ



Наименование_поля

Формат_значения_поля

1

Код федерального округа

string

2

Код территории

string

3

Наименование субъекта

string

4

Населенный пункт/
город/область

string

5

SO2

decimal

6

NOx

decimal

7

ЛОСНМ

decimal

8

CO

decimal

9

С

decimal

10

NH3

decimal

11

СН4

decimal

12

Всего

decimal

13

Источник (АТ,
ЖДТ)

string

14

Год

integer


Установочные файлы, позволяющие инсталлировать программную сред
у
R

на
персональный компьютер, доступны

для скачивания

по ссылкам, размещенным
на сайте сообщества разработчиков
R
:

https://www.r
-
project.org/
.

Для удобства решения задач в дополнение к базовому комплекту

модулей,
п
оставляемому

в стандартной сборке
R
,
целесообразно использовать

некоторые
дополнительные
библиотеки
.
В частности, п
олезным
окажется функционал

пакета

reshape
,
котор
ый

может быть установлен

в автоматическом режиме

по команде
install
.
packages
('
reshape
')
,

либ
о

с помощью
меню установки пакетов,
предусмотренного

в
графическ
ом

интерфейс
е

RGui
.

Для написания кода и его исполнения при решении задач анализа данных может
быть использована стандартная графическая оболочка
RGui

или среда разработки
RStudio
. Также возмо
жно написание программного кода в текстов
ых редакторах и
исполнение сохраненных

файлов

с кодом

посредством ввода
инструкций

через
командную строку

(при работе в
Windows

применяется терминал
Rterm
)
.

Для
пользователей, предпочитающих второй способ работы, уд
обным может
оказаться использование специализированного редактора кода
Tinn
-
R
.

Требования к представлению результата:

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

с
охранен в виде скрипт
а(
ов
)

в файлах с расширени
ем
.
R
.

На контрольном мероприятии производится защита результата выполнения
практической работы.

Магистрант

представляет отчет по выполнению работы,
затем

в присутствии преподавателя запускает исполнение написанного кода, при
этом результат решения задач д
олжен
выводиться на экран. Форма

вывода в
командную строку
Rgui

/

Rterm

и графическое окно
R

/
графический файл
:

для задачи 1


название региона;

для задачи 2


название региона;

для задачи 3


диаграмма (рекомендуется использовать столбчатую);

для задачи
4


три строки, содержащие названи
я

регион
ов

и число
вые значения

(дол
и

в
процентном выражении
);

для задачи 5


название региона и
название населенного пункта.

Для зачета результатов практической работы должно быть выполнено не менее 3
задач, также студент должен ответить на два в
опроса преподавателя. Решение
каждой из задач дает вклад 2 балла в суммарный рейтинг студента за семестр.

Информационная поддержка:

R



язык программирования высокого уровня и программная среда с открытым
кодом, предоставляющая широкие возможности анализа
разнообразных данных
об окружающем мире. Будучи созданным в 1993 г. на основе языка
S
, в течение
двух десятилетий
R

прошел длинный путь развития, в результате чего к
настоящему времени вокруг
R

сложилась полноценная экосистема,
ориентированная на решение з
адач во многих сферах экономики.

Открытость
исходного кода, легкость написания и распространения дополнительных пакетов
привлекла большое количество пользователей

и ускорила эволюцию системы.

В
данный момент
R

поддерж
ивается

активн
ым

и многочисленным сообщ
еством
разработчиков,
б
лагодаря
чему

наиболее прогрессивные методы анализа данных
оказываются максимально быстро воплощены в коде на этом языке
.

R

является интерпретир
уемым языком программирования,
что обеспечивает
удобство его применения для оперативного
анализа данных.

R

может
использова
ться

для интерактивных вычислений в формате запрос
-
ответ,
написания скриптов,
содержащих

последовательности команд, необходимые для
достижения конкретного результата,
создания пакетов и приложений для решения
разнообразных

задач. Отдельно стоит отметить развитые возможности
визуализации данных, доступные в базовой версии
R

и дополнительных пакетах.

Данные в программной среде
R

представляются в виде специализированных
структур, которые называются объектами. Обращение к ним о
существляется
через переменные.
Переменные

в

R

сами являются объектами и подчиняются
правилам языка, касающимся работы с объектами.
П
еременны
м

могут
соответствовать

раз
нообразные

объект
ы

(начиная от
отдельных чисел

и
заканчивая

функциями и

диаграммами)
, пр
и этом объявление типов переменных
не требуется.

К основным характеристикам
объекта
относится

его вид

(
object

type

или
mode

в
нотации
S
)

и

тип

структуры
, в которую организованы данные

(
data

structure
)
.

Вид объекта определяет способ хранения данных в памяти
.
В
R

существует
более
20 видов

объектов
, подразделяющихся на базовые и составные
. Среди них есть
такие виды, как
"symbol" (
имя переменной),
"character"

(вектор
символьных
строк),
"complex"

(вектор комплексных значений),
"expression" (
выражение).

Классифик
ация объектов по видам

гармонизирована с системой типов данных
.
Атомарным» б
азовым видам объектов
соответствуют

основные типы данных

с
такими же названиями
:
числовые (
numeric
),
текстовые/символьные
(
character
),
логические
(
logical
),
комплексные
(
complex
)
,

сырые данные
(
raw
).

Среди
числовых выделяют целочисленные
(
integer
)
и действительные
(
real
).

Основными видами структур данных в
R

являются векторы, двумерные и
многомерные массивы, датафреймы (таблицы), списки. Классификация структур
данных
R

представлена

в таблице
2
.

Отметим, что отдельные числа и символьные
строки являются в
R

векторами

единичной длины, а не скалярами.

Таблица
2



Основные структуры данных языка
R

Размерность
\

Однородность

Гомогенные

Гетерогенные

1

Вектор (
atomic vector)

Список (
list)

2

Матрица
(matrix)

Таблица (
data frame)

n

Массив
(array)



Каждый объект
, за исключением объекта
NULL
,

обладает набором атрибутов,
состав которого зависит от вида объекта.
К атрибутам
, имеющи
м
ся у всех
объектов,
относится

длина
(
length
)

и
вид

(
mode
)
. О
виде уже было сказано выше,
length

же

дает недостающую информацию о размере объекта в памяти.
Также

объект

в

среде

R

имеет

класс

(
class
).

Примеры

классов
:
"
numeric
",

"
logical
",

"
character
",

"
list
",

"
matrix
",

"
array
", "
factor
",

"
data
.
frame
".

В отличие от ви
да объекта
, класс

(или абстрактный тип)

определяет,

как
оперировать с объектом в рамках объектно
-
ориентированной парадигмы.
А
трибут
class

отражает информацию о наследовании

и
позволяет установить способы
обращения с данными.

Для
списков, а также
векторов,
составленных из символьных строк и чисел,
вид

и
класс могут

совпадать в обозначении
.

Для
других объектов

соответствие между
типами и классами объекта оказывается
значительно
более сложным.

Например,
факторы (шкальные или номинативные переменные)
могут имет
ь

следующие
значения атрибутов:
mode




integer
’,
class




factor

.
Стоит отметить
, что
некоторые авторы выделяют
отдельную структуру данных

factor
.

Упомянутые особенности языка необходимо учитывать при написании кода для
решения задач в области анализа да
нных. Более подробная информация о
программной среде и языке программирования доступна в справочной системе
R
.

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

Работа с пакетами, директориями
,
файлами
:

g
etwd
(‘
/
path
’)


вывод информации о
б установленной

рабочей директории;

se
twd
(‘
/
path
’)


переопределение рабочей директории;

library
(‘
package
’)



подключение установленной библиотеки;

package
::
func



загрузка отдельной функции
func

из библиотеки
package
:

save
(
file
=

file
_
name
’,
xxx
)



сохранение на диск объекта

xxx
;

load
(‘
file
_
nam
e
’)



загрузка с

диск
а сохраненного в файл


file
_
name


объекта;

source
(‘
filename
’)



исполнение файла с именем
filename
;

ls
()



вывод списка объектов, присутствующих в рабочем пространстве;

read
.
csv
(

filename
’)
,
read
.
table
(‘
filename
’,

header

=
TRUE
,
sep

=
“,”
)



чтение

данных

из

файла

формата

comma

separated

values

с

разделителями
-
запятыми
;

read
.
csv
(‘
filename
’,
colClasses

=
c
(‘
character
’,’
numeric

,…
))


чтение

данных

из

файла

формата

comma

separated

values

с

разделителями
-
запятыми

c

установкой
типов данных,

записываемых в отдельные столбцы результирующего датафрейма;

write
.
csv

(
data
, ‘
filename
’)
,
write
.
table

(
data
, ‘
filename
’)



запись
датафрейма

data

в
виде таблицы в текстовый файл (установлены параметры записи по умолчанию).

Справочные функции
:

help
.
start
(
)



открытие справочной системы в окне браузера;

?
yyy



справка по объекту
yyy
;

??
topic
,
help
.
search
(‘
topic
’)



поиск
информации по теме
topic

в

справочной
системе
;

example
(
command
)



пример
использования

команды
command
;

demo
()



открытие базы примеров ис
пользования последовательностей команд;

Базовые функции и методы для работы с объектам
и:

xxx


-

y



создание
объект
а

xxx

и
присвоение
ему
значения
y
;

rm
(
xxx
)



удаление объекта

xxx

из рабочего пространства
;

str
(
xxx
)



вывод информации о структуре объекта
x
xx
;

xxx



вывод содержимого объекта
xxx
;

summary
(
xxx
)



вывод базовой статистики для объекта
xxx

(в случае датафрейма


статистики колонок);

dim
(
xxx
)



определение размерности объекта
xxx
;

is
.
xxx
(
yyy
)



проверка принадлежности данных
yyy

типу
xxx

из списка

methods(
is
)
;

as
.
xxx
(
yyy
)



приведение данных
yyy

к типу
xxx

из списка
methods(as)

(в первую очередь треб
уются

as
.
factor
(
yyy
)
,
as
.
character
(
yyy
)
,
as
.
numeric
(
yyy
)
)
;

class(x)



определение класса объекта

x
;

Работа с
табличными
данными
, представленными в виде

датафреймов
:

head
(
data
[,
seq
(1,4)])



обзор

первых

строк

датафрейма

data

для столбцов с 1 по 4
;

data
1
-

data
[
y
1:
y
2
,
x
1:
x
2
]



получение производного датафрейма
data
1

путем
отбора строк с индексами

c

y
1

по
y
2
и столбцов с индексами

c

x
1

по
x
2
из
исходного да
тафрейма
data
;

data
$
Colname
,
data
[[‘
Colname
’]]



отбор столбца с именем

Colname

из
датафрейма

data
;

data
$
Colname


-

NULL



удаление

столбца

с

именем

Colname

из

датафрейма

data
;

data
[,
с(

ColX

,

ColY

)
]
,

subset
(
data
,
select
=
c
(

ColX

,

ColY

)
)



отбор сто
лбц
ов

с
имен
ами

ColX
,
ColY

из датафрейма

data
;

subset
(
data
,
select
=
-
Colname
)



отбор
всех столбцов, за исключением столбца с
именем
Colname
,

из датафрейма

data
;

subset
(
data
,
Colname

yyy
)



отбор
столбцов
, для которых выполняется условие

data
$
Colname

yyy
,
и
з датафрейма

data
;

data
[
which
(
data
$
Colname
==
yyy
),]


отбор строк, для которых выполняется
условие

data
$
Colname
==
yyy
,
из датафрейма

data
;

data
[
which
.
max
(
data
$
Colname
),]


отбор строки с максимальным значением в
столбце
Colname
;

data
[
-
y
,]



отбор всех строк,

кроме строки с индексом
y
,
из исходного датафрейма
data
;

data
[
order
(
data
$
Colname
,
decreasing

=
TRUE
),]



сортировка

строк

датафрейма

data

в

порядке

убывания

значений

в

столбце

Colname
;

merge
(
data
1,
data
2,
all
=
TRUE
)



слияние датафреймов
data
1,
data
2

с сохран
ением
всех данных

(
объединение);

merge
(
data
1,
data
2
)



слияние датафреймов
data
1,
data
2

при наличии общих
столбцов;

data
.
frame
(
data
1$
ColX
,
data
2$
ColY
)


создание

датафрейма

из

столбца

ColX

датафрейма

data
1

и

столбца

ColY

датафрейма

data
2
;

na
.
omit
(
data
)


удал
ение строк, где имеются пропущенные данные;

by
(
data
,
data
index
,
function
)


применение

функции

function

к

выделенной

data
index

области

датафрейма

data
;

Работа с числовыми

и строковыми

данными

в векторах и

столбцах датафреймов
:

length
(
x
)


определение длин
ы вектора

/ фактора;

levels
(
x
)


число уровней
(существующих вариантов значений) в факторе
x
;

sum
(
x
)


вычисление суммы значений элементов
x
;

sort
(
x
)


сортировка элементов
x

по возрастанию;

rev
(
x
)


инверсия элементов
x
;

round
(
x
,
n
)


округление
x

до
n

зн
а
ков;

grep
(‘
string
’,
data
$
Colname
,
fixed
=
TRUE
)



поиск

сочетания

символов


string


в

столбце

Colname

датафрейма

data

и

восстановление

индексов

строк

содержащ
их

его

яче
ек
;

Функции пакета
reshape

для работы с датафреймами
:

melt
(
data
,
id
=
c
(‘
Col
X
’,’
Col
Y
’,…))



преобразование датафрейма

в
расплавленный» вид
, в

котором

сочетания значений

в столбцах
Col
X
,
Col
Y
,…

являются

уникальными идентификаторами для пар Переменная
-

значение»,
располагаемых в оставшихся столбцах
Variable

и
Value

соответственно (см. рис.)

cas
t
(
data
1,
formula
,
function
)



структурирование
расплавленного» датафрейма

data
1
в соответствии с формулой

formula

(вида
rowvariable
+… ~
colvariable

+…
)

с
применением функции агрегирования данных
function

(например,
mean
()
,
max
()

и
т.д.)
.

Графические

функц
ии
:

barplot(data
$ColX
, names.arg
=data$ColY
)



построение

столбчатой

диаграммы

по

данным

из

столбца

Col
X

датафрейма

data
,
подписываемых

вдоль

оси

данными

из

столбца

Col
Y
.

Варианты задания с соответствующими исходными данными

Вариант задания

Название файла с

исходными данными

1

data_Var1

2

data_Var
2

3

data_Var
3

4

data_Var
4

5

data_Var
5

6

data_Var
6

7

data_Var
7


Практическая работа №
2
.
Использование
R

в геоинформационном анализе

Цель работы:

знаком
ство со способами визуализации
геопространственных
данных

и базовыми
средствами

их

анализа
в среде

R
.

Используемые данные:

географически привязанные
данные о выбросах
загрязняющих веществ нестационарными источниками, осуществляемых в
границах
субъектов РФ

и отдельных
населенных пунктов,
сохраненные
в формате
sha
pefile

(
файлы с расширением
.
shp

и связанные с ними файлы с расширениями
.
shx
, .
dbf
, .
prj
).

Решаемые задачи:

1.

Выявить

в представленно
м

в
файлах геоданных

перечне

С1

регионы с
суммарным
объемом
выброс
а

загрязнителей

W
, превышающим медианное
значение для
исходной выборки
, и

сохранить геопространственные данные для
этих регионов как выборку С2;

2.
Создать картосхему, отражающую особенности распределения
суммарного

объема выбросов
W

от нестационарных источников по
определенным

в С2
регионам РФ (при этом цвет заливки региона должен

зависеть от
W
)
;

3
.

Нанести на картосхему данные о выбросах указанного в задании
загрязняющего вещества
X

с использованием условных знаков (при
использовании в качестве условного знака круга, размещаемого в пределах
конкретного региона, его радиус должен б
ыть

пропорционален объему выбросов
)
;

4
.

Создать легенду, устанавливающую соответствие между диапазонами
изменения объема выбросов

W

и используемыми для обозначения цветами
;

5
.

Проанализировать полученную картину распределения объема выбросов
загрязняющих в
еществ по регионам

из С2
, объяснить причины выявленных
особенностей распределения
.

Инструментарий:

Программа курса предполагает решение указанных задач с помощью языка
программирования
R
.

Помимо базового комплекта модулей, поставляемого в стандартной сборк
е
R
, для
решения указанных выше задач необходимо использовать следующие
дополнительные библиотеки:
sp
,
,
maptools
. Данные пакеты, доступные на
официальном репозитории
cran
,

могут быть установлены в автоматическом
режиме по команде
install
.
packages
('
name
')
,

либо

с помощью меню установки
пакетов, предусмотренного в графическом интерфейсе
RGui
.


Требования к представлению результата:

В результате выполнения задания должна быть получена картосхема с нанесенной
на ней информацией, достаточной для проведен
ия
визуальной оценки

распределения объема выбросов загрязняющих веществ по заданным регионам
.
Пример картосхемы, построенной согласно указанным требованиям, приведен на
рисунке 1.

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

с расширением
.
R
.

На контрольном мероприятии производится защита результата выполнения
практической работы. Магистрант представляет отчет по выполнен
ной работе
,

содержащий
текст задания, описание исходных данных,
листинг
пред
лагаемого
программного кода, принтскрин экрана с открытым окном вэб
-
браузера
, куда
выведена картосхема
, выводы по работе
.
В присутствии преподавателя


запускает
ся исполнение написанного кода, вывод должен соответствовать
требованиям задания и

согласовывать
ся с приведенной в отчете информацией
.

Для зачета результатов практической работы должн
ы

быть выполнен
ы

все

задач
и
,
также студент должен ответить на два вопроса преподавателя. Решение каждой из
задач дает вклад 2 балла в суммарный рейтинг студента за семес
тр.



Рисунок 1


Пример оформления интерактивной карты, создаваемой средствами
R

Информационная поддержка:

В настоящее время существует множество пакетов
-
расширений для
R
,
обеспечивающих возможность анализа и визуализации геопространственных
данных. Осно
вные потребности пользователей в части работы с географической
информацей могут быть удовлетворены с помощью следующих пакетов:
sp
,
maps
,
mapdata
,
maptools
, mapplots, shapefiles,
RgoogleMaps.
Также широко используются
пакеты, позволяющие визуализировать ге
опространственные данные с
использованием библиотек
Java
.
Одной из наиболее популярных
Java
-
библиотек
для создания интерактивных карт в окне вэб
-
браузера является библиотека
Leaflet
.
Она применяется для решения задач визуализации

в

The Washington Post
,
Ope
nStreetMap

и т.д.

Для совместного использования возможностей
R

и данной
библиотеки был создан пакет
Leaflet

for

R
,
доступный на официальном
репозитории
CRAN

под названием
leaflet
.


Для построения карт


могут

быть
без дополнительных преобразований

и
спользованы
следующие данные
:



Объекты

SpatialPolygons
,

SpatialPolygonsDataFrame
,

Polygon
,

Polygons

class

(
описаны в документации пакета

sp
)
;



Объекты

SpatialLines
,

SpatialLinesDataFrame
,

Lines
,

Line

class

(
описаны

в

документации

пакета

sp
)
;



Объекты

Spatial
P
oint
s
,

Spatial
PointsDataFrame
(
описаны

в

документации

пакета

sp)
;



Объекты

класса

map

(
генерируются

функцией

map

пакета

maps
)
;



Матрицы с двумя столбцами
, в которых записаны координаты
;



Объекты
RasterLayer

(описаны в документации пакета
raster
);

Чтение геопр
остранственных данных
:

readShapePoly
(‘
filename
’,
_
null
_
obj
=
TRUE
)


чтение данных из файла
shapefile
, содержащего
информацию

о площадных объектах
, с удалением
объектов с нулевой геометрией

и генерацией
объекта
SpatialPolygonsDataFrame

(
в
имени файла р
асширение указывать не нужно);

readShapeLines
(‘
filename
’,
_
null
_
obj
=
TRUE

)


чтение данных из файла
shapefile
, содержащего

информацию о линейных объектах, с удалением объектов
с нулевой геометрией и генерацией
объекта
SpatialLinesDataFrame

(
в имени
ф
айла расширение указывать не нужно);

readShapePoints
(‘
filename

)


чтение данных из файла
shapefile
, содержащего

информацию о линейных объектах, с генерацией
объекта
SpatialPointsDataFrame

(
в имени файла расширение указывать не нужно);

Получение информации

об объектах и создание объектов :

coordinates
(
object
)


извлечение координат центроидов

объекта
SpatialPolygonsDataFrame

(
могут быть использованы для координирования
условных знаков)
;

sp
::
SpatialPointsDataFrame
(
coord
,
data
.
frame
(
values
))



создание
объекта

SpatialPointsDataFrame

на основе данных о географических координатах точек
coord

(матрица с двумя столбцами)

и атрибутивной информации
values

(вектора
значений переменной);

spRbind(x
2
,

x
1)



создание нового объекта типа
SpatialLinesDataFrame
,
SpatialPolyg
onsDataFrame

или
SpatialPointsDataFrame

из исходных файлов того
же типа путем добавления строк
x
2

к строкам

x
1
;

Работа с цветовыми палитрами

и шкалами
:

brewer
.
pal
(
n
, ‘
Name
’)



извлечение

палитры
Name

из набора
ColorBrewer

с
сохранением
n

цветов;

colorNumer
ic
(
,
domain
)


формирование массива цветовых кодов из палитры
,
соответствующих

возможным значениям переменной, задаваемым
вектором из
двух граничных значений

domain

(шкалирование)
;

colorBin
(
,
domain
,
bins

=
n
)



формирование массива

ц
ветовых кодов из
палитры

,
соответствующих возможным значениям переменной
,

задаваемым вектором из двух граничных значений

domain
,

исходя из
указанного
числа интервалов

bins

(шкалирование);

colorQuantile
(
,
domain
,
n

=
n
)


формирование
вектора

из

n

цветовых кодов
из палитры

,
соответствующих
массиву

значени
й

отображаемой
переменной
domain

(шкалирование);

Создание интерактивных карт:

x


-

(
data
)


создание виджет
-
объекта

и задание в качестве источника
данных объекта
data
;

addTiles(
)


добавление
в

виджет графического слоя, отображающего открытые
данные
Open

Street

Map

(подложки);

addProviderTiles
(

id

,
options

=
providerTileOptions
(
opacity

= 0.35)
)


добавление
в

виджет
графического слоя

с прозрачностью на уровне 0.65
, отображающего

данные из источника стороннего провайдера с идентификатором
id
;

addPolygons
(
stroke

=
TRUE
,
smoothFactor

= 0.5,
color

=
colors
)



добавление

в

виджет

графического слоя, отображающего полигональные векторные данные

из

указанного в команде
(
data
)

объе
кта
SpatialPolygonsDataFrame

с обводкой
границ полигонов и 50% сглаживанием;

addMarkers
(
data

=
df
)



добавление в виджет

графического слоя с маркерами
в
точках с координатами, указанными

в
столбцах матрицы
df
;

addCircleMarkers
(
data

=
df
,
radius

=
data
2,
co
lor

=
colors
,
stroke

=
FALSE
)



добавление

в

виджет

графического

слоя
,
содержащего

маркеры
-
круги
,
радиусы

которых

задаются

данными

data
2

(
столбцом

таблицы

или

вектором
),
в

точках

с

координатами

из

матрицы

df
;

addLegend
(
pal

=
colors
,
values

=

data
1
,

title

=

"
Summary
"
)



добавление

в

виджет

графического

слоя легенды, устанавливающей соответствие между данным
и

d
ata
1

(столб
ц
у таблицы или вектору)

и массивом цветовых кодов

colors

(
h
;

x



вывод виджета в окно браузера (данная команда является финишной и
указывает
ся после добавления всех необходимых слоев в виджет
-
объект

x
);

Варианты задания с соответствующими исходными данными

Вариант задания

Имя

файл
ов

с

исходными данными

X

1

RegionN1

CO

2

RegionN
2

NO
x

3

RegionN
3

CH
4

4

RegionN
4

CO

5

RegionN
5

NO
x

6

RegionN
6

CH
4

7

RegionN
7

CO




Практическая работа №
3
.
Применение технологий машинного зрения в
экологии

Цель работы:

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

с помощью
специализированного

программного обеспечения
.

Используемые данные:

временные серии фотоизображений простейших,
полученные с помощью оптического микроскопа

с временным разрешение
м
0,07

с
(
комплект файлов

с расширением
.
gif
)
, а также файл задания формата
tif
,
в
котором отмечен биологический объект, за которым требуется организовать
наблюдение
.

Решаемые задачи:

1.

Определить положение маршрута движения биологического объекта,
отмече
нного в файле задания

(
в системе координат изображения
),

с
использованием

методов автоматизированного анализа изображений
,

сохранить
полученные координаты во внешнем файле с расширением
.
txt

или
.
xls
;

2.

Построить гиперкуб или карту поверхностей, отражающу
ю изменения в поле
зрения микроскопа в течение анализируемого периода, сделать три среза, на
которых видны области движения биологических объектов по любой из
координат
, сохранить их в графические файлы
;

3.

Аппроксимировать маршрут движения биологического
объекта двумя
различными аналитическими функциями с использованием метода наименьших
квадратов, проанализировать качество аппроксимации, сохранить
аннотированные скаттерограммы во внешние графические файлы
;

4
. Создать файл анимации, показывающий изменения
в поле зрения микроскопа
во времени
;

5.

Объяснить наблюдаемые особенности движения простейших
.

Инструментарий:

Для решения указанных задач могут быть с успехом использованы языки

программирования
R
,
M
,
Python
.

Магистрантам, уверенно владеющим любым из
этих

языков, предлагается выполнить задание данными средствами (внимание: с
высокой вероятностью при этом потребуется изучение дополнительных
библиотек).

Необходимая для выполнения задания функциональность присутствует в
специализированном программном обеспече
нии
ImageJ

в варианте сборки 
Fiji
»

для 32
-
разрядных операционных систем. Именно данное ПО рекомендуется
использовать для решения задач с целью уменьшения временных затрат. Кроме
того, следует принять во внимание, что
этот

свободно распространяемый
програм
мный продукт активно применяется специалистами в области экологии
микроорганизмов за рубежом.
ПО
ImageJ

доступно для скачивания по адресу:
http://imagej.net/Welcome
.

Требования к представлению результата:

В результат
е выполнения задания должн
о быть получено изображение с
обозначенным на нем маршрутом движения биологического объекта,

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

магистрантом
для получения результата
,
может

быть
изложен

в

виде списка; допустимо также представление в виде обобщенной схемы
обработки данных
.

Требуется

развернутое письменное объяснение наблюдаемых
особенностей движения простейших.

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

результаты аппроксимации,

в ходе беседы
у
точняются выводы по данным гиперкуба и анимации.

Для зачета результатов практической работы должны быть выполнены задачи

1, 3
и 5
, также студент должен ответить на два вопроса преподавателя. Решение
каждой из
пяти
задач дает вклад 2 балла в суммарный рейти
нг студента за
семестр.

Информационная поддержка:

ImageJ

является программным обеспечением с открытым исходным кодом,
написанным на языке
Java
.

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

Дополнительное удобс
тво создает наличие в
ImageJ

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

Для установки
Imag
eJ

или
Fiji

(
ImageJ
+
Java
+
Java
3
D
+
Plugins
)
необходимо скачать
инсталлятор и, запустив его, следовать инструкциям. При запуске установленного
ПО загружается основное окно программы
без рабочей области
(рис. 2)
, что
отличает
ImageJ

от многих других приложений,

предназначенных для обработки
графических данных
.
Основное окно содержит главное меню в виде
строки с
выпадающи
ми

списк
ами
, панель инструментов, строку состояния и индикатор
прогресса выполнения операций (расположен справа от строки состояния).
Изображени
я, поля с текстовыми данными, диалоги выбора, ввода и все другие
объекты выводятся в дополнительные окна.



Рисунок 2


Общий вид главного окна приложения
ImageJ


ПО поддерживает импорт данных из файлов разнообразных форматов общего и
специализированного
назначения.
Практически в
се операции в
ImageJ

выполняются с данными, загруженными в активное графическое окно.

Серия изображений одного размера с одинаковой глубиной цвета
может быть
организована в стек


набор, содержащий несколько картинок (срезов), связ
анных
в пространстве или во времени, отображаемых в одном окне

и одновременно
хранящихся в оперативной памяти
. Ручное п
ереключение между срезами (
slices
)

и
запуск анимации

осуществляется управляющими кнопками во вспомогательном
поле текущего графического о
кна.

Также серия изображений может
представляться в виде виртуального стека, в этом случае последовательность не
хранится в оперативной памяти

целиком
, а выполняемые операции затрагивают
текущий срез и не сохраняются при переходе к другому.

Гиперстеки
испо
льзуются в случае необходимости отображения данных, имеющих 4 или 5
координат. В этом случае набор координат,
в

традиционном
стек
е

представленны
й

тремя пространственными измерениями, дополняется
спектральной и временной координатами.
Средства работы со сте
ками подробно
описаны в документации к
ImageJ
.

Открытие

и загрузка в графическое окно
серии изображений

выполняется

посредством модуля
Sequence
, доступ к которому осуществляется через меню
File

-

Import
.
В диалоговом окне указывается путь к
файлам

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

П
акетная обработка файлов реализуется с помощью модул
ей

Batch

Process

и
Batch

Convert
,
запуск котор
ых

производится

из меню
Process

(
можно подавать на
вход изображения из стека
, а также указывать путь к директориям с файлами
исходных изображений)
.
Требуемая
последовательность операций задается в виде

макроса. В пакетном режиме рекомендуется выполнять
последовательности
операций

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

Указанный подход к
работе

зачастую

является единственн
о

применимым
при обработке серии
изображений, организованных в виртуальный стек (в этом случае вызов
Batch

Process

можно осуществлять

через с
пециальный пункт меню
Virtual

Stack
)
.

В
против
оположном

случае, когда серия изображений
доступна в
виде
обычно
го

стек
а
,
допустимо

последовательно
е

примен
ение

соответствующи
х

модул
ей
,
пригодны
х

для обработки

изображений из серии (с условием невозможности
от
ката). От виртуального стека можно перейти
к

обычному через модуль
Duplicate

из меню
Image
.

Пороговую с
егментацию изображений
(
thresholding
)
, если она необходима,

целесообразно выполнять в интерактивном режиме (задаваемые для первой сцены

в реальном стеке

параметры сегментации применяются ко всей
последовательности изображений).

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

Картины

различий между последовательными изображениями можно получить с
помощью модуля
Stack

из меню
Analyze

-

Multi

Kymograph
-


Stack

Difference
.

Методы отслеживания объектов
(
object

tracking
)
дают возможность быстро
получить информацию о

траектории движения отдельных элементов
наблюдаемой картины в случае их хорошей различимости. Первым этапом
отслеживания является обнаружение (
detection
)
, наиболее

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

linking
)
, в
наиболее простом варианте при анализе последовательных временных сцен
осуществляемое методом ближайшего
соседа.

Сближени
е

тр
еков д
ви
жения объектов при их высокой
скорости, а также потеря»
объектов в одной и
з

сцен
может приводить к ошибкам в
построении связей.
Избежать этого помогает
создание

таблиц связности и одновременн
ый

анализ

более чем двух сцен. Эффективная реализация ме
тод
ов

отслеживания объектов
представлена в плагин
ах

Fiji

под названи
ями

Particle

Tracker

и
TrackMate
.

Установление

временных
св
язей

между объектами в последовательных сценах
основывается на анализе функции издержек (
cost

function
), оцениваемой для
комбинац
ий из различных сочетаний пар обнаруженных в сценах объектов и
зависящей от параметров объектов и расстояния между ними в пространственно
-
временных координатах.

Методы анализа оптического потока используются в случаях, когда
идентификация отдельных объекто
в затруднен
а

высокой плотностью
расположения структур, слабой оформленностью и малой контрастностью
границ, сложным характером движения элементов. Наиболее активно
используемыми методами из
данной группы
являются методы поблокового
корреляционного сравнени
я (
correlation

block

matching
).
Эти

методы основаны

на
оценке корреляции между блок
ами

(фрагмент
ами

изображений заданного
размера)

в парах, где один из блоков представляет изображение, полученное в
момент времени
t
,
другой


в момент времени
t
+1
. Для получ
ения
корреляционной картины
перебираются блоки с разным пространственным
смещением относительно друг друга. Смещение между блоками соседних
изображений
анализируемой
последовательности
,
дающими

максимальную
кросс
-
корреляцию

(максимум на корреляционной карт
ине)
,
определяет
координаты вектора

оптического потока
.

В сборку
Fiji

включено несколько методов из рассматриваемой группы.
В
частности
,

реализованный
в виде плагина под именем
Integral

Block

PMCC

метод

при грамотном подборе параметров поиска смещений дает

достаточно
информативную картину перемещений простейших
.
В плагине предусмотрена
настройка

следующи
х

параметр
ов
: размер блока, для которого оценивается
корреляция;
максимальный размер области поиска, задающий
дополнительное
смещение

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

Пространственная структура перемещений может быть восстановлена
путем
после
довательного использования модуля поиска изменений

Stack

Difference

(шаг

1)
, модулей сегментации
/
бинаризации

(шаг 2)
,
плагин
а
Volume

Calculator

из
меню
Plugins

-

Analyze

(шаг 3)
.

Полезным может оказаться плагин
Extended

depth

of

field

из меню
Plugins

-

P
rocess
.

Плагин
View
5
D

позволяет строить
гиперкубы и анализировать их в ручном и автоматизированном режиме.

С
охранени
е

координат
объектов

бинарных изображений

осуществляется через
модуль
Save

XY

Coordinates

из меню
Analyze

-

Tools
,
координаты
векторны
х

сло
ев можно сохранить

следующим образом:
File

-

Save

as

-

XY

Coordinates
.

Модули
аппроксимаци
и методом наименьших квадратов и
построени
я

графиков
функциональных зависимостей доступн
ы

через меню
Analyze

-

Tools
.


Варианты задания с соответствующими исходными данными

Вариант
задания

Имя

папки

с

исходными
данными

Имя
файл
а

задания

1

Var1

detected_object_frame_2_delay
-
0.07s

2

Var
2

detected_object_frame_0_delay
-
0.07s

3

Var
3

detected_object_frame_0_delay
-
0.07s

4

Var
4

detected_object_frame_0_delay
-
0.07s

5

Var
5

detected_object_frame_23_delay
-
0.07s

6

Var
6

detected_object_frame_25_delay
-
0.07s

7

Var
7

detected_object_frame_28_delay
-
0.07s

Дисциплина
Управление рисками, системный а
нализ и моделирование»

Лабораторная

работа №
1
. Использование ПО MPioity и R для выбора
оптималь
ных вариантов построения систем

Цель работы:

освоить навыки выбора
методов и средств, а также
обоснования
целесообразности применения конкретных
проектных реше
ний

на основе
реализаций метода анализа иерархий в свободно распространяемом программном
обеспечении.

Используемые данные:

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

Решаемые задачи:

1.

Проанализировать поставленную задачу принятия решения и построить
иерархию, которая могла бы описать исследуемую систему (структура иерархии в
виде схемы сохраняется в графический файл);

2. Произвести попарн
ое сравнение элементов каждого уровня начиная со второго
относительно элементов более высокого уровня и получить матрицы оценок
,
после чего сохранить их в графических файлах
;

3. Рассчитать показатели, характеризующие согласованность оценок, и свести их
в о
тдельные таблицы для каждого уровня сравнения.

4
. Найти векторы приоритетов для каждой матрицы сравнения и
установить

суммарные приоритеты, определяющие результат выбора альтернатив исходя из
совокупности
оценок;

5. Принять решение и привести текстовое поя
снение к процессу принятия
решения.

Инструментарий:

Для решения
задач можно использовать ручной счет», табличные процессоры
типа
Excel

или специализированные программные продукты и библиотеки.
Использование программного обеспечение
MPriority
, в отличие от

первых двух
указанных средств,

избавляет пользователя от необходимости многократно
задавать параметры выполнения рутинных операций
,

четко определяет
последовательность
действий
, необходимых для получения результата

и
позволяет визуализировать результаты р
аботы над задачей на разных этапах
.
Кроме того, для работы с этим ПО не требуется исчерпывающих знаний в области
линейной алгебры и теории графов, элементы которых положены в основу метода
анализа иерархий.

Исходя их указанного выше

при выполнения настояще
го
задания рекомендуется использовать именно
MPriority
.
Программное обеспечение
MPriority

бесплатно для некоммерческого использования и доступно для
скачивания по адресу:
http://www.tomakechoice.com/m
priority.html
.

Требования к представлению результата:

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

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

На контрольном мероприятии производится защита результата выполнения
практической работы.
Отчет представляется преподавателю в электронном или
печатном виде.

Для зачета результатов практической работы должны быть выполнены
все
задачи
из приведенного

выше списка
, также студент должен ответить на два вопроса
преподавателя. Решение каждой из пяти задач дает вклад 2 балла в суммарный
рейтинг студента за семестр.

Информационная поддержка:

Метод анализа иерархий (
МАИ, а
в англоязычном варианте

AHP



Analyt
ical
Hierarchy P
r
oces
s
)

был разработан Томасом Саати

в 1980 г. как удобный
инструмент для принятия решений в
условиях слабой структурированности

задач
.
В последующие годы
МАИ

был
аксиоматически обоснован и
использован в
различных
сферах экономики
.
Область
применения метода к настоящему времени
значительно расширилась и охватывает наиболее важные проблемы в
энергетике
,
экологии,
банковском деле и т.д. Благодаря МАИ
были усовершенствованы

подходы к управлению рисками, разрешению конфликтов, экспертизе проекто
в
.
Все это делает необходимым изучени
е

данного метода
специалистами в области
техносферной безопасности и природопользования.

Любая задача принятия решений
ассоциирована с некоторой системой
материальных и нематериальных объектов и
может быть формализована

через
описание этой системы.

Моделирование исследуемой системы
/ситуации

в целях
принятия решений с использованием
МАИ

предполагает построение
некоторого
идеализированного ее описания


иерархии,



с исключением ряда связей между
элементами, не имеющими с
ущественного влияния на характер
функционирования системы

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


декомпозиции и последующего
синтеза. В наиболее простом варианте выполнения МАИ допускается
, что
элементы на ка
ж
дом уровне иерархии независимы.

В первую очередь выделяются уровни иерархии

(
число которых может сильно
варьироваться при

рассмотрении разных систем
) и элементы, к ним относящиеся
.
На верхнем уровне иерархии всегда находится главная цель, на нижнем


возможные исходы/сценарии/выборы. Промежуточные уровни (1 и более) обычно
включают в себя уровень сил/ограничений/критери
ев,
р
асположенны
е

ниже его
уровень акторов/перспектив

и уровень действий
.

После определения структуры системы производится попарное сравнение
элементов каждого уровня
относительно

каждого
элемент
а

более высокого
уровня согласно заданной шкале

значимости

(рекоме
ндуется двигаться от второго
уровня вниз по иерархии)
. Т
радиционно шкала охватывает диапазон
целочисленных
оценок от 1 при равнозначимых
вариантах до 9 при абсолютном
превосходстве
по значимости
одного варианта над другим
. Оценки помещаются в
матрицу, обре
тающую в результате подстановки обратносимметричный

вид

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







где




исследуемая матрица,




ее собственный вектор,




соответствующее
собственное число.

С
обственное

значение являет
ся мерой согласованности оценок: чем больше
разность максимального собственного значения

полученной матрицы

и числа
оцениваемых вариантов, тем хуже согласованность.

Согласованность в МАИ
традиционно выражается производными величинами: индек
сом согласованности
(ИС) и отношением согласованности (ОС). В ходе анализа важно следить, чтобы
ОС не превышало 0.1 (в таком случае можно считать полученные оценки
согласованными).

Груб
ую оценку

собственного
вектора можно
получить

путем умножения
n

элемент
ов каждой строки с последующим извлечением корня
n
-
й степени
,
нормализацией

и организацией значений

для отдельных строк
в вектор
. На
практике используются и другие способы приближенной оценки, легко
реализуемые в формате ручного счета».

Точн
ые

значения ко
мпонент

главного
собственного вектора
наход
я
тся в
результате
выполнения

достаточно сложных вычислительных процедур
.

Один из
распространенных подходов к
решению рассматриваемой
задачи,
реализуемый

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

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

Программное обеспе
чение
MPriority
,
созданное
специалистами кафедры
статистического моделирования

СПбГУ, позволяет автоматизировать
все
основные этапы
решения задачи с применением

МАИ
: построение иерархии,
определение обратносимметричных матриц оценок, в
ычисление векторов
пр
иоритетов.
Общий вид основного окна программы приведен на рисунке 3.

П
роцесс вынесения суждений

(выставления оценок для вариантов и критериев)
в
MPriority

не требует указания числового значения, а оформлен в виде диалога
выбора степени превосходства
, описа
нной

на естественном языке.
Используемая
т
аблица определений оценок
, заимствованная из документации к программному
обес
печению, приведена в таблице 3.

Стоит отметить возможность
одновременной работы с несколькими задачами
принятия решений, а также
сохранен
ия иерархий в виде шаблонов, пригодных для
использования при решении аналогичных задач (в том числе в
других

областях).

Все это значительно облегчает принятие обоснованных рациональных решений.



Таблица 3


Шкала оценок, используемая в МАИ (реализация
MPr
iority
)

Степень
важности

Определение

Комментарии

1

Одинаковая важность.

Два объекта вносят одинаковый
вклад в достижение цели.

3

Слабая значимость.

Опыт и суждение дают легкое
предпочтение одному объекту
перед другим.

5

Существенная или сильна
я
значимость.

Опыт и суждение дают сильное
предпочтение одному объекту
перед другим.

7

Очень сильная и очевидная
значимость.

Предпочтение одного объекта
перед другим очень сильно. Его
превосходство практически явно.

9

Абсолютная значимость.

Свидет
ельства в пользу
предпочтения одного объекта в
высшей степени убедительны.

2,4,6,8

Промежуточные значения между
соседними значениями шкалы.

Ситуации, когда необходимы
компромиссные решения.

Обратные
величины
приведенн
ых выше
значений

Если при сравне
нии объекта
A
с
объектом
B
мы получим одно из
приведенных выше значений, то,
соответственно, результат
сравнения объекта
B
с объектом
A
есть обратная величина.



Для
реализации

МАИ в среде
R

разработан пакет
ahp
, позволяющий осуществлять
выбор альтернатив

на о
снове данных, за
несенных

в файл, оформленный в
соответствии со стандартом
YAML

(в нем содержится

информация об оценках и
полностью
описывается структура

системы
)
.

Таким образом, вычислительные
процедуры обработки данных
и процессы
структурирования и о
ценивания

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

тщательной подготовки

вс
ей

необх
одимую для обработки информации в рамках
одного этапа, посвященного фо
рмированию файла
YAML
,

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

то же время, не позволяет
поэтапно визуализировать результаты решения отдельных задач анализа иерархии
и
затрудняет поиск ошибок
.



Рисунок 3


Интерфейс программы
MP
riority

(основное окно)


В
ариант
ы

задания с соответствующ
ими темами исследования

Вариант задания

Рассматриваемая проблема

1

Выбор страховой компании для ДМС

2

Выбор программы магистратуры

3

Выбор компактной системы биологической очистки для
загородного
дома

4

Выбор страховой компании для КАСКО

5

Выбор расходомера для трубопровода

6

Выбор видеокамеры для фиксации нарушений ПДД

7

Выбор газоанализатора для мобильной лаборатории



Лабораторная

работа №
2
.
Знакомство с

используе
мы
ми

в экологии

детерминированны
ми

модел
ями


Цель работы:

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

Используемые данные:

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

Решаемые задачи:

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

и
начальной численности популяции
, указанных в задании.

2.
По расчетным данным постр
оить два графика зависимости численности
популяции от времени и разместить их в границах одного изображения
средствами
R
, расположив друг над другом.

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

на графиках зависимостей
численности популяции от времени.

4.
Модифицировать вид созданных изображений,

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

5.

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



Инструментарий:

Программа курса предполагает решение указанных задач с помощью языка

и
среды

программирования
R
. Для получения результата достаточн
о

использовани
я
пакетов
, входящих в состав стандартной сборки
R
.

Требования к предс
тавлению результата:

В резу
льтате выполнения задания должен быть получен
pdf
-
файл с
изображениями, содержащими все необходимые элементы конкретного вида,
указанные в условиях задач. В отчет, подготавливаемый магистрантом по
результатам работы, помимо этих
изображений, необходимо включить таблицу
-
матрицу координат точек интереса», найденных при решении задачи 5.
Структура отчета остается достаточно стандартной: титульный лист, текст
задания, таблица с исходными данными,
и
спользуемые формулы
, листинг кода,
п
озволяющего
получ
ить

требуемы
е

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

.
R
.

На контрольном мероприятии производится защита
полученных результатов
. В
присутствии преподавателя запускается исполнение написанного кода,
помимо
вида графического вывода проверяется и воспроизводимость результатов
моделирования
.

Для зачета резу
льтатов практической работы должны быть выполнены
четыре

задачи

из пяти
, также студент должен ответить на
два

вопроса преподавателя.
Решение каждой из задач дает вклад 2 балла в суммарный рейтинг студента за
семестр.

Теоретический минимум:

Решение многих з
адач
в области экологии и техносферной безопасности

неразрывно связано с моделированием процессов и систем различной природы.
Моделируется структура взаимосвязей между объектами, поведение живых
систем разных уровней организации, функционирование техногенн
ых комплексов
от микро
-

до мега
-

масштабов и т.д.

Процесс моделирования в экологии можно разбить на несколько стадий:

1)

Идентифи
кация

проблем
ы

и формулиров
ка

вопрос
а
, на который
необходимо получить о
твет в результате моделирования;

2)

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

3)

Выбор стохастической модели, обеспечивающей приближение свойств
системы к ре
альным за счет задания характера распределения вероятностей;

4)

Настройка параметров модельных блоков с целью получения описания,
соответствующего требованиям по полноте и точности подгонки» модели
к данным;

5)

Оценка доверительных интервалов, принятие и отклон
ение гипотез и
окончательный выбор модели;

6)

Анализ результатов моделирования с получением ответа на
сформулированные вопросы или возвратом к предыдущим стадиям.

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

К простейшим представителям класса моделей, основанных на экспоненциальных
функциях, относятся следующие модели:



Модел
ь

экспоненциального роста





;



Модел
ь

распада






;



Мономолекулярная модель / модель Скеллама




ͳ





.

В приведенных формулах


отражает начальную или конечную величину
исследуемой характеристики (в зависимости от используемой функции),


является параметром скорости
. Часто вместо


для задания параметров модели
используется среднее время жизни
ͳ



или период полураспада


ʹ



.

Наиболее широко используемыми п
редставителями класса моделей, созданных на
основе комбинации экспоненциальных функций с другими кл
ассами функций,
являются следующие модели:

1)
Модель Рикера (модель популяционного роста, зависимого от плотности
популяции)







, где пиковая численность достигается при




ͳ


;

2)
Логистическая модель, определяемая выражением















или





































.

В первом случае
(статистическая параметризация)


выступает в роли параметра сдвига,


определяет крутизну наклона кривой, точка переги
ба соответствует







. Во
втором выражении свойства кривой
определяются

поддерживающей емкостью




,

где




удельная скорость роста,




коэффициент лимитирования.






значение в момент времени


Ͳ
,




начальная скорость роста. Есл
и
выразить

статистическую параметризацию
в

термин
ах







, получим следующие
формулы для оценки значений параметров
:


ͳ
,





ͳ




,



.

Логистическая модель, несмотря на простоту описания, достаточно точно
отражает динамику поп
уляции многих прокариот, некоторых насекомых и т.п.



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


и



будет
определять вид логистической кривой.

Анализ модели показывает, что при малых значениях



и конечном


характер
изменения


становится схожим с характером изменения, задаваемым моделью
экспоненциального роста.

В случае увеличен
ия



экспоненциальное возрастание
численности популяции наблюдается только на начальном участке
логистической
кривой.

На разных этапах моделирования и обработки данных экспериментов возникает
потребность оценить массив числовой и нечисловой информации

визуально, т.к.
многие особенности, легко выявляемые при беглом рассмотрении графического
представления, с трудом опознаются в текстовом выводе даже при использовании
наиболее сложных методов автоматизированного анализа. Именно по этой
причине рекомендует
ся после реализации вычислительного эксперимента или
считывания данных из источника для поиска ответа на поставленные вопросы
сначала посмотреть на данные, отобразив их на графике/диаграмме. Программная
среда
R

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

Базовая сборка
R

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

graphics
, чаще всего используемая для быстрой визуализации
данных. Другой графической системой, входящей в базовую сборку, я
вляется
lattice

graphics
,
функционал которой сосредоточен в пакете
lattice
.

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

Полезным
и

мо
гут

быть пакет
ы
scatterplot
3
d

и

ggobi
, предназначенны
е

для
визуализации

многомерных точечных данных.

Далее рассматриваются только
функции
base

graphics
.

Для отображения на экране и записи во внешний файл получа
емых картинок
используются разнообразные устройства вывода (список устройств можно
вызвать командой
dev
.
list
()
).

Переключение

между устройствами вывода в
Windows

осуществляется командами
windows
(),
tiff
(),


jpeg
()
,
postscript
()

и т.п
.

В
основном создание
графики с использованием
R

сводится к следованию одной из
двух стратегий:

1. Создание графика/диаграммы в экранном графическом устройстве
windows
()
,
активация которого производится автоматически при
вводе высокоуровневых
команд создания графики
,

с последую
щим копированием
изображения
в буфер
или другое графическое устройство;

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

Ниже представлен
краткий
обзор команд, которы
е могут быть использованы при
построении
детерминистского и
стохастического блока
модели, реализации
вычислительного эксперимента и графическом выводе результатов.

set
.
seed
(
xxx
)


активация

генератора всевдослучайных чисел, позволяющего
воспроизводить

посл
едовательность значений с идентификатором
xxx
;

r

(
n
)



генерация
n

случайных или псевдослучайных значений
;

d




оценка
функции
плотности вероятностей
(дифференциальной
функции

распределения
)
;

p




оценка
функции распределения

вероятностей
(накопительной
фу
нкции

распределения)
;

q




оценка функции квантиля
;

где




обозначение вида распределения:
norm

(
нормальное распределение),
lnorm

(
логнормальное распределение),
exp

(
экспоненциальное),
pois

(
Пуассона),
binom

(биноминальное) и т.п.

Например,
rnorm
(
n
…,
mea
n
…,
sd
…)


генерация
последовательности (выборки
) из
n

чисел в соответствии с нормальным
распределением
,

c

указанием
параметр
ов

mean
,
sd
;

plot
(
x
1
,
y
1
,
log

y

,
pch
=

,
col
=

,
cex
=

)


построение скаттерограммы
(или
некоторых других типов графиков в зависи
мости от класса объекта, содержащего
данные)
для переменных
x

и

y

с логарифмическим масштабом по оси ординат
,
символом для отображения точек
pch
, цветом

точек
col

и размером
(
степенью
растяжения
)

точек
cex
;

lines
(
x
2
)


построение линии, соединяющей точки,
которые определены

в матрице
x
2

из двух столбцов
,

с сохранением отображения результатов предыдущего
вывода;

point
s
(
x
3,
y
3
)


отображение точек с координатами
x
3,
y
3

с сохранением
отображения результатов предыдущего вывода;

abline
(
a
=

,
b
=

,
lty
=

,
lwd
=

)


построение прямой с параметрами
a
,
b

в
активном окне (графическом устройстве) с сохранением отображения результатов

предыдущего вывода

(тип линии определяется параметром
lty
, толщина линии


lwd
)
;

abline
(
lm
(
y
~
x
))


построение прямой,
представляющей собой результат
аппроксим
ации

зависимост
и

между
x

и

y

полиномом 1 степени;

hist
(
x
1)



построение гистограммы для выборки
x
1
;

legend
(
place
,
legend

name

,
pch
=
n
)



создание легенды
, ставящей в соответствие
объектам с названием

name


символы типа

n

и
размещаемой в месте диаграммы
place

(
например,

top
right

);

Цвет

подписей

осей
,
заголовка

и

подзаголовка

диаграммы

определяется

параметрами

col
.
axis
,
col
.
lab
,
col
.
main
,
col
.
sub

соответственно
,
размер

шрифта

текста

задается

font
.
axis
,
font
.
lab
,
font
.
main
,
font
.
sub
.

Параметр
lab

позволяет установить число интервалов, на которые отображаемый
диапазон значений делится масштабными метка
ми на каждой оси.

Определение параметров
mfrow
,
mfcol

да
е
т возможность вывести массив
изображений как единую картинку (в первом случае имеет место построчный
вывод, во втором


вывод по колонкам). Например, запись вида
mfrow
=
c
(4,2)

означает, что в активно
е

графическое устройство будет
выведено

8 графиков,
организованных в 4 строки.

С помощью параметров
mai

и
mar

задается ширина полей в дюймах и строках
соответственно.

Более подробные сведения о возможных настройках
глобальных и локальных
графических
парамет
ров доступны в файлах справки по команде
?
par
.


Варианты задания с соответствующими исходными данными

Вариант задания

Модель















r

1

Логистическая

5

10

6

5

0.2

2

Логистическая

10

20

15

10

0.2

3

Логистическая

15

20

18

10

0.6

4

Логистическая

30

13

20

25

0.6

5

Логистическая

50

25

20

30

0.8

6

Логистическая

40

30

32

3
0

1.0

7

Логистическая

10

20

18

1
5

1.0


Вариант
задания

М
ат
ематическое
ожидание


ум)

СКО

(шум)

Цвет

подписей осей

Масштаб

шрифта

Тип точки

1

0

0.
2

красный

0.8

т
реугольник

2

0
.1

0.1

синий

1.2

ромб

3

0.2

0.
7

зеленый

0.5

конверт

4

0

0.
5

красный

1.5

прицел

5

0
.1

1
.
0

синий

0.7

ч
ерный
квадрат

6

0.2

0.
3

зеленый

1.1

точка

7

0

0.1

красный

1.1

звездочка





Лабораторная

работа №
3
.
Моделирование
формы очага пожара

при авариях
на объектах нефтедобычи

Цель работы
:

ознакомление с моделями, позволяющими описать геометрические
параметры зоны горения / очага пожара для случаев горения топлива на
поверхности грунта и воды.

Используемые данные:

в качестве исходных данных
, которые необходимо
использовать при решении зада
ч,

выступают конкретные значения параметров
моделей, указанные в таблице с данными для отдельных вариантов задания.

Решаемые задачи:

1.

Написать на языке
R

функции
Thomas

и
Sandia
, принимающ
ие

на вход
значения
удельн
ой

массов
ой

скорост
и

выгорания,

диаметр
а оч
ага пожара

и (для
модели
Sandia
)

температуры воздуха

и удельн
ой

теплоты сгорания топлива, и
выводящие
значение
длины пламени
;

2.

Написать на языке
R

функцию, содержащую в теле функцию
Sandia
,
принимающую на вход
, помимо значений
удельн
ой

массов
ой

скорост
и

выг
орания

и

диаметр
а очага пожара, значение скорости приземного ветра, и выводящую
значение угла отклонения пламени от вертикали;

3.

С использованием написанных при решении задачи 1 функций п
ровести
серию вычислительных экспериментов по исследованию зависимости
длины
пламени от

диаметр
а очага пожара, используя массив
исходны
х

данны
х, и
построить графики указанной зависимости для двух моделей
;

4.

С использованием написанной при решении задачи 2 функции получить
значения

уг
ла


отклонения плам
ени от вертикали
при
указанных скорост
ях

ветра
и

неизменных значениях

прочих параметров
;

5.

О
пределить длину проективной полосы
P

для прямоугольного пламени

в
случае, когда параметры очага пожара соответствуют указанным в задаче 4.

Инструментарий:

Программа к
урса предполагает решение указанных задач с помощью языка
программирования
R
. Также можно использовать
Python
.

Помимо системы
base

graphics
, для визуализации результатов вычислительных
экспериментов можно использовать пакеты
lattice

или
ggplot
2
, устанавлив
аемые с
официального репозитория
cran
.

Требовани
я к
представлению результата:

Проверив работоспособность написанного кода и проведя необходимые
эксперименты, магистрант
записывает

созданные функции в отдельный
текстовый файл, а также сохраняет полученные
при моделировании графики в
файлы изображений. Эти изображения добавляются в отчет, который
формируется в соответствии с требованиями ГОСТ.

Отчет должен содержать следующие элементы:

-

Титульный лист с указанием фамилий и инициалов студентов
-
исполнителей;

-

Цель работы;

-

И
сходные данные;

-

Используемые

формулы;

-

Графики зависимостей, полученные
в ходе вычислительных экспериментов
;

-

Таблицы с р
езультат
ами

расчетов

и
P
;

-

Выводы.


Теоретический минимум:

Для описания формы очага п
ожара используются простые геометрические
модели с небольшим количеством параметров. Одним из основных параметров,
необходимых для решения многих практических задач, является длина пламени.
Расчет длины пламени оказывается особенно важным при вычислении ра
сстояний
от зоны горения, на которых наблюдаются определенные уровни интенсивности
теплового излучения. Длина пламени


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

Используются следующие модели, описывающие геометрические
параметры зоны горения

в отсутствие ветра:

1) Модель Томаса (

Thomas
”)
, используемая
для моделирован
ия геометрии
пламени при горении твердого топлива


,

где

l



длина пламени, м;



удельная массовая
скорост
ь

выгорания
топлива
, кг/м
2
с;


размер зоны горения (ее диаметр в гориз
онтальной
плоскости), м;



плотность воздуха, кг/м
3
;


ускорение свободного падения.

2)
Модель

Sandia

National

Laboratories

(“
Sandia
”)
, используемая для
моделирования геометрии пламени при горении разлив
ов жидкого/сжиженного
газообразного топлива на поверхности воды


,

где

l



длина пламени, м;



удельная массовая
скорост
ь

выгорания
,
кг/м
2
с;


размер зоны горения (ее диаметр в

горизонтальной плоскости), м;



плотность воздуха, кг/м
3

(равна 1.2

кг/м
3
);


ускорение свободного падения,
h
c



удельная теплота сгорания топлива, Дж/кг;
с
p



удельная теплоемкость воздуха,
Дж/кг*К;
T
a



температура воздуха, К.

Угол отклонения пламени от вертикали

под действием ветра

для случая
горения сжиженного природного газа можно вычислить с помощью следующего
выражения:


,

где



скорость ветра на заданной высоте, м/с;



удельная массовая
скорост
ь

выгорания
, кг/м
2
с;


размер зоны горения (ее диаметр в
горизонтальной плоскости), м;



плотность

паров сжиженного природного
газа, кг/м
3

(равна 1.85 кг/м
3

для точки кипения);


ускорение свободного
падения.






Варианты задания с соответствующими исходными данными

Вариант задания



,

кг/м
2
с

u
,

м/с

d
,
м

1

0
.11

5
-
15

8
-
15

2

0
.1
2

3
-
8

15
-
20

3

0.
15

6
-
12

12
-
16

4

0.14

2
-
10

15
-
22

5

0
.1

2
-
10

17
-
20

6

0.
13

6
-
12

10
-
16

7

0
.14

3
-
8

7
-
13




Приложенные файлы

  • pdf 26077967
    Размер файла: 885 kB Загрузок: 0

Добавить комментарий