Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Порядок создания do-файла






Выделим все использовавшиеся команды в окне Command и нажмем правую кнопку мыши. В контекстном меню выберем Send to Do-file Editor (рисунок 4.73).

 

Рисунок 4.73 – Вид основного меню Stata перед копированием команд в редактор do-файлов

 

Откроется окно редактора do-файлов, в которое будут скопированы все выделенные команды (рисунок 4.74).

 

Рисунок 4.74 –Вид окна редактора do-файлов после вставки команд

 

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

forvalues i=1/5 {

egen float nx`i' = std(x`i'), mean(0) std(1)

}

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

Например, log using " C: \stata\cluster\cluster_log1.log", replace.

Примерный вид do-файла для проведения кластерного анализа представлен на рисунке 4.75.

 

Рисунок 4.75 - Примерный вид do-файла для проведения кластерного анализа

 

Описание использованных команд представлено в таблице 4.9.

Таблица 4.9 – Описание команд в do-файле для проведения кластерного анализа

№ строки do-файла Команда Описание
(1) (2) (3)
  clear очистить память
  log using " C: \stata\cluster\cluster_log1.log", replace открыть или перезаписать существующий файл лога по указанному адресу
  use " C: \stata\cluster\cluster_1.dta", replace использовать для анализа файл с данными по указанному пути
  forvalues i=1/5 { начать цикл forvalues
  egen float nx`i' = std(x`i'), mean(0) std(1) создать новую переменную nxi, стандартизировав переменную xi
  } закончить цикл forvalues
  cluster completelinkage nx1 nx2 nx3 nx4 nx5, measure(L2) name(clus_complete) провести классификацию методом полных связей по переменным nx1 nx2 nx3 nx4 nx5, используя в качестве метрики обычное евклидово расстояние, задав имя clus_complete
  cluster dendrogram clus_complete построить полную дендрограмму, отражаюшую объединение классов по методу с именем clus_complete
  graph save Graph " C: \stata\cluster\Complete_link_dendro.gph" сохранить дендрограмму по указанному пути
  cluster stop clus_complete, rule(calinski) groups(2/9) вывести для кластерного анализа с именем clus_complete значения индекса Калински и Харабаза при разбиении на 2, 3, …, 9 классов
  cluster stop clus_complete, rule(duda) groups(2/9) вывести для кластерного анализа с именем clus_complete значения индекса Дуды и Харта при разбиении на 2, 3, …, 9 классов rez_cl2
  cluster generate rez_cl2 = groups(2), name(clus_complete) ties(error) создать переменную rez_cl2, которая каждому объекту ставит в соответствие число 1 или 2 в зависимости от того, к какому из двух классов относится объект в результате классификации методом кластерного анализа с именем clus_complete
  profileplot nx1 nx2 nx3 nx4 nx5, by(rez_cl2) построить график средних значений переменных nx1 nx2 nx3 nx4 nx5, взяв в качестве группирующей переменной rez_cl2
  graph save Graph " C: \stata\cluster\Complete_link_profile2.gph"   сохранить график средних значений по указанному пути

 

 

Продолжение таблицы 4.9

(1) (2) (3)
  mean x1 x2 x3 x4 x5, over(rez_cl2) вывести на экран таблицу со средними значениями переменных x1 x2 x3 x4 x5, взяв в качестве группирующей переменной rez_cl2
  cluster wardslinkage nx1 nx2 nx3 nx4 nx5, measure(L2) name(clus_ward) -//-
  cluster dendrogram clus_ward -//-
  graph save Graph " C: \stata\cluster\Ward_dendro2.gph" -//-
  cluster stop clus_ward, rule(calinski) groups(2/9) -//-
  cluster stop clus_ward, rule(duda) groups(2/9) -//-
  cluster generate rez_ward2 = groups(2), name(clus_ward) ties(error) -//-
  profileplot nx1 nx2 nx3 nx4 nx5, by(rez_ward2) -//-
  graph save Graph " C: \stata\cluster\Ward_profile2.gph" -//-
  mean x1 x2 x3 x4 x5, over(rez_ward2) -//-
  cluster kmeans nx1 nx2 nx3 nx4 nx5, k(2) measure(L2) name(clus_kmeans) start(group(rez_cl2)) keepcenters провести кластерный анализ методом k-средних по переменным nx1 nx2 nx3 nx4 nx5, разбивать на 2 класса, в качестве метрики использовать обычно евклидово расстояние, а в качестве начальных эталонов – средние значения признаков в классах, определенных переменной rez_cl2 (в нашем случае это результаты разбиения методом полных связей)
  profileplot nx1 nx2 nx3 nx4 nx5, by(clus_kmeans) -//-
  graph save Graph " C: \stata\cluster\kmeans_profile2.gph" -//-
  mean x1 x2 x3 x4 x5, over(clus_kmeans) -//-
  table rez_cl2 rez_ward2, contents(freq) построить таблицу сопряженности переменных rez_cl2 и rez_ward2 (результатов классификации методом полных связей и методом Уорда)
  table rez_cl2 clus_kmeans, contents(freq) -//-
  table rez_ward2 clus_kmeans, contents(freq) -//-
  save " C: \stata\cluster\cluster_1.dta", replace сохранить внесенные в файл с данными изменения
  log close закрыть лог

 

Для запуска do-файла используется команда File \ Do.

Вопросы к защите лабораторной работы

 

8. Сформулировать постановку задачи лабораторной работы.

9. Каким методом решалась задача классификации и чем обусловлен выбор этого метода?

10. Сформулировать, в чем суть выбранного метода решения задачи.

11. Какое программное средство использовалось для решения задачи?

12. Как решалась задача приведения признаков к одинаковым единицам измерения?

13. Из каких соображений задавалось расстояние между объектами?

14. Какие методы иерархических агломеративных кластер-процедур использовались при решении задачи?

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

16. Как определялось оптимальное количество классов, на которые целесообразно разбить имеющуюся совокупность?

17. На основе какой информации была дана характеристика классам?

18. Привести наиболее и наименее типичные объекты для каждого класса, полученного методом к-средних?

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

20. Как поступить в случае, если по результатам различных методов кластерного анализа один из объектов выделяется в отдельный класс? С чем это связано?

 

4.5 Задание, порядок выполнения и вопросы к защите лабораторной работы на тему «Параметрический дискриминантный анализ»

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.