litceysel.ru
добавить свой файл
1

Введение

Под зоогеографией традиционно понимают науку, изучающую ареалы животных, фауну и историю её формирования (Гептнер, 1936; Пузанов, 1938; Дарлингтон, 1966; Hengeveld, 1990 и др.). Позднее к зоогеографии стали относить и изучение пространственной неоднородности животного населения (Кузякин, 1950,1962; Формозов, 1951; Воронов, Соболев, 1960; Воронов, Дроздов, 1974 и др.). Набор видов и их численность в территориальных комплексах зависят от внешних причин и формируются по комбинативному принципу. (хорошо бы узнать, что это за принцип.)

Главная задача изучения пространственной неоднородности сводится к выявлению закономерностей пространственных изменений. Изменения должны прослеживаться не только по отдельным суммарным, итоговым показателям, но и по интегральной качественно-количественной характеристике, выраженной через степень сходства (различия) территориальных комплексов. Выявить эти закономерности между различными ландшафтными территориями на основе качественно-количественных данных о видовом разнообразии птиц и является задачей данной работы. Сама постановка такой задачи традиционна для автоматической классификации. Таким образом, целью работы является написание программы, которая по исходным данным о видовом разнообразии птиц на заданных ландшафтах, распределяла бы места обитания в виде «далеких друг от друга» групп, состоящих из «похожих» между собой объектов. Основным требованиями, поставленными иркутскими учеными орнитологами является:


  • простота в использовании программы: (понятный интерфейс, возможность работы на базе современных операционных систем (Windows 98/2000/XP));

  • быстродействиепроизводительность;

  • функциональность (такого слова нету.);

  • наглядностьпредставление данных в наглядном виде;

  • возможность неограниченно (так тоже нельзя говорит) пополнять данные.

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


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

Постановка задачи


Исходные данные представлены в виде отдельного файла, содержащего таблицу, в которой по строкам указаны виды птиц, по столбцам – места их обитания, каждая ячейка таблицы содержит информацию о количестве представителей данного вида приц в данной местности. Надо отметить, что данные о количестве определяются по определенной методике по формулам с учетом половой принадлежности, транзитный это вид или гнездовой, и различных ошибок. Тип этих данных и не являютсяются, в общем случае, целыми числаоми, как естественно было бы предположить. Данная методика довольно подробно описана в пособии [1]Ю.С.РАВКИН, С.Г.ЛИВАНОВ «ФАКТОРНАЯ ЗООГЕОГРАФИЯ».

Таким образом, имеем N различных орнитокомплексов (давай где-нить определение), M различных видов птиц, необходимо:

  1. составить матрицу степеней сходства-различия между вариантами населения птиц разных территориальных выделов, используя коэффициент общности Наумова–Жаккара: , где B – индекс общности; ∑a – сумма меньших показателей обилия вида, общего для двух сравниваемых местообитаний, b и c – плотность населения птиц в первом и втором местообитании;

  2. разбить N орнитокомплексов на заданное число групп;

  3. разбить N орнитокомплексов на незаданное число групп;

  4. показать результат графически.

Методика

Для решения первых и основных подзадач 1-3 (составить матрицу степеней сходства-различия; разбить N орнитокомплексов на заданное число групп; разбить N орнитокомплексов на незаданное число групп;) используется система статистических расчётов R, прародительница которой, система S, появилась ещё в 1976 году. Система R является свободной системой, распространяемой под лицензией GNU GPL версии 2 и поддерживает платформы Windows (32-х битную), UNIX (в том числе Linux) и MacOS X. С основного сайта проекта можно загрузить исходные тексты системы и пакетов, а также бинарные сборки для некоторых из поддерживаемых платформ. R – это «Выстоявшийся»стабильная продукт программная система сс устойчивым и хорошей документациейированным поведением, с давно исправленными ошибками,позволяющая свободно распространяемыйть и расширяемыйть производные программные системы для статистического анализа. Именно эти качества, наряду с простотой, функциональностью широким набором функций и ориентированностью на статистический анализ и исследования, послужили причиной выбора системы R в качестве основы для решения поставленной задачи.


Для решения задач создания удобного пользовательского интерфейса использовался язык программирования Microsoft Visual Basic 6.0.


Решение задачи в системе R


  1. Составление матрицы степеней сходства-различия между вариантами населения птиц разных территориальных выделов, с использованием коэффициента общности Наумова–Жаккара:

, где B – индекс общности; ∑a – сумма меньших показателей обилия вида, общего для двух сравниваемых местообитаний, b и c – плотность населения птиц в первом и втором местообитании.

  1. Разбиение N орнитокомплексов на заданное число групп;

Для решения данной подзадачи в системе R существует три процедуры:

  • clara(x, k, metric = "euclidean", stand = FALSE, samples = 5, sampsize = min(n, 40 + 2 * k), trace = 0, medoids.x = TRUE, keep.data = medoids.x, rngR = FALSE)

  • pam(x, k, diss = inherits(x, "dist"), metric = "euclidean", medoids = NULL, stand = FALSE, cluster.only = FALSE, keep.diss = !diss && !cluster.only && n < 100, keep.data = !diss && !cluster.only, trace.lev = 0)

  • fanny(x, k, diss = inherits(x, "dist"), memb.exp = 2, metric = c("euclidean", "manhattan", "SqEuclidean"),

stand = FALSE, iniMem.p = NULL, cluster.only = FALSE, keep.diss = !diss && !cluster.only && n < 100,

  • keep.data = !diss && !cluster.only, maxit = 500, tol = 1e-15, trace.lev = 0)

Сравнение процедур




  1. Разбиение N орнитокомплексов на незаданное число групп;

Для решения данной подзадачи в системе R существует три процедуры:
  • agnes(x, diss = inherits(x, "dist"), metric = "euclidean", stand = FALSE, method = "average", par.method, keep.diss = n < 100, keep.data = !diss)


  • diana(x, diss = inherits(x, "dist"), metric = "euclidean", stand = FALSE, keep.diss = n < 100, keep.data = !diss)

  • mona(x)

Сравнение процедур.



Таким образом выбрана процедура agnes(x, diss = inherits(x, "dist"), metric = "euclidean", stand = FALSE, method = "average", par.method, keep.diss = n < 100, keep.data = !diss). Причем, аргумент процедуры method может принимать одно из четырех следующих значений:

method="average", то дистанция между двумя кластерами – среднее арифметическое различий между точками одного кластера и точками другого кластера.

method="single” наименьшая разница между точками одного кластера и точками следующего кластера (реализация метода ближайшего соседа)

method="complete" наибольшая разница между точками первого кластера с о следующим (реализация метода дальнего соседа).

method = "flexible" формула Ленса-Вильимса (Lance-Williams) точно определяет как разница вычисляется, когда кластеры соединяются. Если два кластера объединяются в один, то разница между ними и другими кластерами определяется по формуле:

D(C1UC2,Q)=α1·D(C1,Q)+α2·D(C2,Q)+β·D(C1,C2)+ γ·|D(C1,Q)−D(C2,Q)|

Где четыре коэффициента 12;β;γ) определятся дополнительным методом par.method:

Если par.method имеет длину 1, это будет значением α, то par.method продолжает использовать the “Flexible Strategy” (K. & R., p.236) с коэффициентами Ленса-Вильимса (Lance-Williams) 12= α; β=1-2α; γ=0).

Если par.method имеет длину 3, то γ=0.

Результат решения задачи в системе R

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


#Загрузка библиотек, доступных в R для кластерного анализа:

library(cluster)

#Транспонирование исходной матрицы:

dissiCl <- c("dissimilarity", "dist")

tt <- function (f) {

lf1 <- length(f[[1]]) # count of birds

lf <- length(f)-2 # count of areas

r <- data.frame(X=1:lf)

for (row in 1:lf1) {

r[[row]] <- 1:lf

}

for (col in 1:lf) {

for (row in 1:lf1) {

r[[row]][col]=f[[col+2]][row]

}

}

r

}

#Вычисление коэффициента Жардана-Наумова:

diss_area <- function (a,b) {

l=length(a)

s1=0

for (k in 1:l) {

if (a[k]<=b[k])

s1=s1+a[k];

if (a[k]>b[k])

s1=s1+b[k];

}

s2=0

for (k in 1:l) {

s2=s2+a[k]

}


s3=0

for (k in 1:l) {

s3=s3+b[k]

}

s=(s1)/(s2+s3-s1)

s

}

#Построение матрицы коэффициентов сходства:

diss_birds <- function(frame) {

lareas= length(frame) - 2

lbirds= length(f[[1]])

sm <- matrix(0, lareas, lareas)

for (i in 1:lareas) {

for (j in 1:lareas) {

sm[i,j]=diss_area(frame[[i+2]],frame[[j+2]]) # stub

}

}

full <- sm

print(sm)

full[!lower.tri(full, diag = TRUE)] <- sm

disv <- t(full)[lower.tri(full)]

if (any(is.na(disv)))

attr(disv, "NA.message") <- "NA-values in the dissimilarity matrix !"

class(disv) <- dissiCl

attr(disv, "Labels") <- 1:lareas

attr(disv, "Size") <- lareas

attr(disv, "Metric") <- "euclidian" # or "manhattan"

disv

};


Из встроенных в систему R процедур выбраны для реализации следующие:


  • agnes(x, diss = inherits(x, "dist"), metric = "euclidean", stand = FALSE, method = "average", par.method, keep.diss = n < 100, keep.data = !diss)


Решение задачи на языке Visual Basic 6.0



Результат решения задачи на языке Visual Basic 6.0



Интерпретация данных

План дальнейшей работы


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


Заключение


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



Литература


  1. Ю.С.РАВКИН, С.Г.ЛИВАНОВ Томский государственный университет. Институт систематики и экологии животных СО РАН. «ФАКТОРНАЯ ЗООГЕОГРАФИЯ» Учебное пособие. Издание второе, исправленное и дополненное. Томск 2006

  2. Books Dzh., Dzhenkins G. Chast' 1. Анализ временных рядов. Прогноз и исполнение. (1974)(ru)(L)(T)(195s)

  3. Gordon. MONOGRAPHS ON STATISTICS AND APPLIED PROBABILITY (CRC, 1999)(T)(248s)

  4. Modern Applied Statistics with S Fourth edition by W. N. Venables and B. D. Ripley Springer (mid 2002) Final 15 March 2002

  5. Методические указания к лабораторным работам по курсу «Методы анализа данных» Меретилов М.А., КГТУ Красноярск, 2006
  6. Using R for Data Analysis and Graphics. Introduction, Code and Commentary J H Maindonald. Centre for Bioinformation Science, Australian National University. ©J. H. Maindonald 2000, 2004. A licence is granted for personal study and classroom use. Redistribution in any other form is prohibited. Languages shape the way we think, and determine what we can think about (Benjamin Whorf.). 14 November 2004

  7. Многомерный статистический анализ. Учебное пособие. Под Редакцией Дронова Д.Л. Издательство Алтайского Государственного Университета. Барнаул, 20003