Методическо ръководство "Статистически анализ и визуализация на данни с помощта на R". Статистически анализ и визуализация на данни с R Урок Визуализиране на данни с r

„СТАТИСТИЧЕСКИ АНАЛИЗ И ВИЗУАЛИЗАЦИЯ НА ДАННИ С ИЗПОЛЗВАНЕ НА R grass roots fruits foliage Хайделберг – Лондон – Толиати 2014,...“

-- [ Страница 1 ] --

S.E. Мастицки, В.К. Шитиков

СТАТИСТИЧЕСКИ АНАЛИЗ И

ВИЗУАЛИЗАЦИЯ НА ДАННИ С R

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

Хайделберг – Лондон – Толиати

2014 г., Сергей Едуардович Мастицки, Владимир Кирилович Шитиков

Уебсайт: http://r-analytics.blogspot.com

Това произведение се разпространява под лиценз

Creative Commons „Признание – некомерсиално

използване – Същите условия 4.0 В световен мащаб”. Съгласно този лиценз можете свободно да копирате, разпространявате и модифицирате това произведение, предоставено точна индикациянеговите автори и източник. Ако промените това произведение или го използвате във вашето произведение, можете да разпространявате резултата само под същия или подобен лиценз. Забранено е използването на това произведение за комерсиални цели без съгласието на авторите. За повече информация относно лиценза, моля посетете www.creativecommons.com

Моля, обърнете се към тази книга, както следва:

Мастицки С.Е., Шитиков В.К. (2014) Статистически анализи визуализация на данни с R.

– Електронна книга, адрес за достъп:

http://r-analytics.blogspot.com

ПРЕДГОВОР 5

1. ОСНОВНИ КОМПОНЕНТИ НА СТАТИСТИЧЕСКАТА СРЕДА R 8


1.1. Историята на възникването и основните принципи на организация 8 на R средата

1.2. Работа с интерфейса на командната конзола R 11

1.3. Работа с пакетно меню R Commander 13

1.4. Обекти, пакети, функции, устройства 17

2. ОПИСАНИЕ НА ЕЗИКА R 23

2.1. R 23 Типове данни

2.2. Вектори и матрици 24

2.3. Фактори 29

2.4. Списъци и таблици 31

2.5. Импортиране на данни в R 37

2.6. Представяне на дата и час; времева серия 40

2.7. Организация на изчисленията: функции, разклонения, цикли 46

2.8. Векторизирани изчисления в R с помощта на функции apply-50

3. ОСНОВНИ ГРАФИЧНИ ХАРАКТЕРИСТИКИ R 58

3.1. plot() точкови диаграми и параметри за начертаване на 58 функции

3.2. Хистограми, функции за плътност на ядрото и функцията 66 cdplot().

3.3. Диаграми на обхвата 74

3.4. Кръгови и стълбовидни диаграми 77

3.5. Кливланд и 1D диаграми на разсейване 84

4. ОПИСАТЕЛНА СТАТИСТИКА И ПОДГОНЯВАНЕ 97

РАЗПРОСТРАНЕНИЕ

–  –  –

ПРЕДГОВОР

Един от основните инструменти за разбиране на света е обработката на данни, получени от човек от различни източници. Същността на съвременния статистически анализ е интерактивен процес, състоящ се от изследване, визуализация и интерпретация на потока от входяща информация.

Историята на последните 50 години е и история на развитието на технологията за анализ на данни.

Един от авторите с умиление си спомня края на 60-те години на миналия век и първата си програма за изчисляване на корелация на двойки, която беше набрана с метални щифтове на "оперативното поле" от 150 клетки на персоналния компютър Promin-2 с тегло над 200 kg.

В днешно време компютрите с висока производителност и достъпна цена софтуерпозволи да се реализира пълен цикълпроцес на информационни технологии, който обикновено се състои от следните стъпки:

° достъп до обработени данни (зареждането им от различни източници и попълване на набор от взаимосвързани изходни таблици);

° редактиране на заредени индикатори (замяна или изтриване на липсващи стойности, конвертиране на функции в по-удобна форма);

° анотация на данни (за да запомните какво представлява всяка част от данните);

° получаване Главна информацияза структурата на данните (изчисляване на описателна статистика с цел характеризиране на анализираните показатели);

° графично представяне на данните и резултатите от изчисленията в разбираема информативна форма (една снимка всъщност понякога струва хиляда думи);

° моделиране на данни (откриване на зависимости и тестване на статистически хипотези);

° представяне на резултатите (изготвяне на таблици и диаграми с приемливо качество на публикация).

В среда, в която десетки приложни софтуерни пакети са достъпни за потребителя, проблемът с избора е актуален (понякога трагичен, ако си спомним „магарето buridan“): кой софтуер за анализ на данни трябва да бъде предпочитан за тяхната практическа работа? Това обикновено отчита спецификата на проблема, който се решава, ефективността на настройката на алгоритмите за обработка, разходите за закупуване на програми, както и вкусовете и личните предпочитания на анализатора. В същото време, например, шаблонът Statistica с неговия механичен набор от бутони на менюто не винаги може да задоволи креативния изследовател, който предпочита самостоятелно да контролира напредъка на изчислителния процес. Комбинирайте Различни видовеанализ, имате достъп до междинни резултати, контролирайте стила на показване на данните, добавяйте свои собствени разширения софтуерни модулии окончателните отчети могат да бъдат изготвени в необходимата форма от комерсиални компютърни системи, които включват инструменти на команден език на високо ниво като Matlab, SPSS и др. Отлична алтернатива на тях е безплатната софтуерна среда R, която е модерна и постоянно развиваща се обща - целева статистическа платформа.



Днес R е безспорен лидер сред свободно разпространяваните системи за статистически анализ, както се вижда например от факта, че през 2010 г. системата R стана победител в годишното състезание с отворен код. софтуерни продукти Bossie Awards в няколко категории. Водещи университети в света, анализатори на най-големите компании и изследователски центрове постоянно използват R при извършване на научни и технически изчисления и създаване на големи информационни проекти. Широко разпространеното преподаване на статистика, базирано на пакетите на тази среда, и пълната подкрепа на научната общност доведоха до факта, че въвеждането на R скриптове постепенно се превръща във всеобщо признат „стандарт“ както в публикациите в списания, така и в неформалната комуникация между учените около свят.

Основната пречка за рускоезичните потребители при овладяването на R, разбира се, е, че почти цялата документация за тази среда съществува на английски език. Едва от 2008 г., чрез усилията на A.V. Шипунова, Е.М. Балдина, С.В. Петрова, И.С. Зарядова, А.Г. Буховец и други ентусиасти, методически ръководства и книги се появиха на руски език (връзки към тях можете да намерите в списъка с препратки в края на тази книга; връзки към образователни ресурси, чиито автори дават осезаем принос за популяризирането на R сред рускоезичните потребители).

Това ръководство обобщава набор от методически публикации, публикувани от един от авторите от 2011 г. в блога „R: Анализ на данни и визуализация“

(http://r-analytics.blogspot.com). Струваше ни се целесъобразно да представим за удобство на читателите целия този донякъде фрагментиран материал в концентрирана форма, както и да разширим някои раздели за пълнота.

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

Тази част от книгата е доста достъпна за начинаещи в областта на програмирането, въпреки че читател, който вече е запознат с езика R, може да намери там интересни кодови фрагменти или да използва описанията на графичните параметри, предоставени като справка.

Следващите глави (4-8) описват обичайните процедури за обработка на данни и изграждане на статистически модели, което е илюстрирано с няколко десетки примера. Те включват Кратко описаниеалгоритми за анализ, основните получени резултати и тяхната възможна интерпретация. Опитахме се, доколкото е възможно, да избегнем злоупотребата с „ритуални“ обръщания на думи, характерни за много ръководства по приложна статистика, цитирайки добре известни теореми и предоставяйки многостепенни формули за изчисление. Акцентът беше поставен преди всичко върху практическото приложение - върху това, че читателят, воден от прочетеното, може да анализира своите данни и да представи резултатите на колегите.

Разделите на тази част са изградени според сложността на изложения материал.

Глави 4 и 5 са ​​насочени към читател, който се интересува от статистика само в рамките на начален университетски курс. В глави 6 и 7, в рамките на единна теория на общите линейни модели, са представени дисперсионен и регресионен анализ и са представени различни алгоритми за изследване и структурно идентифициране на модели. Глава 8 е посветена на някои съвременни методиизграждане и анализ на обобщени регресионни модели.

Тъй като изследователят постоянно се интересува от пространствен анализ и показване на резултатите върху географски карти и диаграми, глава 9 предоставя някои примери за такива техники за визуализация.

Ние адресираме нашето методическо ръководство към студенти, докторанти, както и към млади и утвърдени учени, които искат да се научат как да анализират и визуализират данни с помощта на средата R. Надяваме се, че до края на четенето на това ръководство ще разберете как R работи, където можете да получите допълнителна информация, както и как да се справите с прости и доста сложни задачи за анализ на данни.

Файлове със скриптове на R кодове за всички глави на книгата, както и необходимите таблици с начални данни за тяхното изпълнение, са свободно достъпни за изтегляне от хранилището на GitHub https://github.com/ranalytics/r-tutorials, като както и от уебсайта на Института по екология на басейна на Волга на Руската академия на науките на връзка http://www.ievbras.ru/ecostat/Kiril/R/Scripts.zip.

Трябва да се отбележи, че текстът в това ръководство е представен в редакцията на автора и следователно, въпреки нашите усилия, има възможност за печатни грешки, граматически неточности и несполучливи фрази в него. Ще бъдем благодарни на Вас, Читателю, да съобщите за тези, както и за други установени недостатъци в електронна поща [имейл защитен]Ще бъдем благодарни и за всякакви други коментари и предложения, които може да имате относно тази работа.

–  –  –

1. ОСНОВНИ КОМПОНЕНТИ НА СТАТИСТИЧЕСКАТА СРЕДА R

1.1. Историята на възникването и основните принципи на организиране на R среда Системата за статистически анализ и визуализация на данни R се състои от следните основни части:

° език за програмиране високо ниво R, което позволява на един ред да се изпълняват различни операции с обекти, вектори, матрици, списъци и др.;

° голям набор от функции за обработка на данни, събрани в отделни пакети (пакет);

° усъвършенствана система за поддръжка, която включва актуализации на компонентите на средата, онлайн помощ и различни образователни ресурси, предназначени както за първоначално изучаване на R, така и за последващи съвети при възникващи трудности.

Началото на пътуването датира от 1993 г., когато двама млади учени от Нова Зеландия, Рос Ихака и Робърт Джентълман, обявиха новата си разработка, която нарекоха R. Те взеха за основа езика за програмиране на усъвършенстваната система за обработка на търговски статистически данни S - PLUS и създаде своята безплатна реализация с отворен код, която се различава от своя прародител по лесно разширяема модулна архитектура. Скоро възникна разпределена система за съхранение и разпространение на пакети към R, известна под акронима "CRAN" (Comprehensive R Archive Network - http://cran.r-project.org), основната идея за организиране което е постоянно разширяване, колективно тестване и оперативно разпространение на приложени инструменти за обработка на данни.

Оказа се, че такъв продукт на непрекъснатите и добре координирани усилия на мощен „колективен интелект“ от хиляди безкористни интелектуални разработчици се оказа много по-ефективен от комерсиалните статистически програми, чиято лицензионна цена може да бъде няколко хиляди долара . Тъй като R е любимият език на професионалните статистици, всеки скорошни постижениястатистическата наука много бързо става достъпна за потребителите на R по целия свят под формата на библиотеки с добавки. Никоя търговска система за статистически анализ не се развива толкова бързо днес. R има голяма армия от потребители, които съобщават за грешки на авторите на допълнителни библиотеки и самата система R, които се коригират незабавно.

Компютърният език R, въпреки че изисква известно усилие за овладяването му, забележителни умения за търсене и енциклопедична памет, ви позволява бързо да извършвате изчисления, които са почти „неизчерпаеми като атом“ в своето разнообразие. Към юли 2014 г. ентусиастите по целия свят са написали 6739 библиотеки с добавки за R, включително 137 506 функции (вижте по-долу).

http://www.rdocumentation.org), които значително разширяват основните възможности на системата. Много е трудно да си представим някакъв клас статистически методи, който все още не е приложен днес под формата на R пакети, включително, разбира се, целия "джентълменски набор": линейни и обобщени линейни модели, нелинейни регресионни модели, експеримент дизайн, анализ на времеви редове, класически параметрични и непараметрични тестове, байесова статистика, клъстерен анализ и методи за изглаждане. С помощта на мощни инструменти за визуализация, резултатите от анализа могат да бъдат обобщени под формата на различни графики и диаграми. В допълнение към традиционната статистика, разработената функционалност включва голям набор от алгоритми за числена математика, методи за оптимизация, решаване на диференциални уравнения, разпознаване на образи и др. Генетици и социолози, лингвисти и психолози, химици и лекари, специалисти по ГИС и уеб технологии.

„Патентованата“ документация за R е много обемна и не винаги е написана разумно (според странната традиция на англоезичната литература твърде много думи се изразходват за описание на тривиални истини, докато важни моменти се подминават набързо). Въпреки това, в допълнение към това, водещите световни издатели (Springer, Cambridge University Press и Chapman & Hall / CRC) или просто отделни групи ентусиасти са публикували огромен брой книги, описващи различни аспекти на анализа на данни в R (вижте напр. , списъкът с препратки на уебсайта "Енциклопедия по психодиагностика", http://psylab.info/R: Литература). Освен това има няколко активни международни и руски потребителски форума на R, където всеки може да поиска помощ при проблем. В списъка с препратки предоставяме няколкостотин книги и интернет връзки, които ви съветваме да използвате. Специално вниманиедокато учи Р.

директно обучение практическа работав R се състои от а) овладяване на конструкциите на езика R и запознаване с възможностите за извикване на функции, които извършват анализ на данни, и б) придобиване на умения за работа с програми, които реализират специфични методи за анализ и визуализиране на данни.

Изборът на инструменти за потребителски интерфейс R е двусмислен и силно зависим от вкусовете на потребителите. Няма консенсус дори сред авторитетни експерти.

Някои смятат, че няма нищо по-добро от стандартния интерфейс на конзолата R. Други смятат, че за удобна работа си струва да инсталирате една от наличните интегрирани среди за разработка (IDE) с богат набор от менюта с бутони. Например безплатната RStudio IDE е страхотна опция.

По-долу ще се съсредоточим върху описанието на конзолната версия и работата с R Commander, но по-нататъшните търсения на читателя могат да бъдат подпомогнати от преглед на различни версии на IDE, представен в приложението към книгата на Шипунов и др. (2014 г.).

Един от R-експертите, Джоузеф Рикерт, вярва, че процесът на изучаване на R може да бъде разделен на следните етапи (за повече подробности вижте.

неговата статия на inside-r.org):

1. Запознаване с общата култура на R общността и средата за програмиране, в която е разработен и работи езикът R. Посещение на основните и спомагателни ресурси и овладяване на добър въвеждащ учебник. Инсталиране на R на компютъра на потребителя и изпълнение на първите тестови скриптове.

2. Четене на данни от стандартни файлове на операционната система и уверено използване на R функции за изпълнение ограничен наборпознати на потребителите процедури за статистически анализ.

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

Писане на вашите собствени функции. Запознайте се със структурите от данни, с които R може да работи, и по-разширените функции на езика. Работа с бази данни, уеб страници и външни източници на данни.

4. Писане на сложни програми на езика R. Самостоятелно развитие и задълбочено разбиране на структурата на обекти от така наречените S3- и S4-класове.

5. Развитие професионални програмина езика R. Самостоятелно създаване на допълнителни библиотечни модули за R.

Повечето случайни потребители на R спират на етап 3, защото

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

За този том предоставяме описание на езика R в рамките на това ръководство.

Инсталирането и конфигурирането на базовата R статистическа среда е много лесно. Към юли 2014 г. текущата версия е R 3.1.1 за 32 и 64-битови Windows (комплекти за разпространение за всички други често срещани операционни системи също са налични). Можете да изтеглите комплекта за разпространение на системата заедно с основен набор от 29 пакета (54 мегабайта) напълно безплатно от основния сайт на проекта http://cran.r-project.org или руския "огледало" http:/ /cran.gis-lab.info. Процесът на инсталиране на системата от изтеглената дистрибуция не създава никакви затруднения и не изисква специални коментари.

За удобство при съхраняване на скриптове, първоначални данни и резултати от изчисления си струва да разпределите специална работна директория на компютъра на потребителя. Изключително нежелателно е използването на кирилица в името на работната директория.

Препоръчително е да поставите пътя до работната директория и някои други опции за настройки, като ги промените с произволен текстов редактор системен файл C:\Program Files\R\Retc\Rprofile.site (може да има различно местоположение на вашия компютър). В примера по-долу модифицираните линии са маркирани в зелено.

В допълнение към посочването на работната директория, тези редове определят връзка към руския източник за изтегляне на R пакети и автоматично стартиране на R Commander.

Файлов списък на Rprofile.site # Всичко, последвано от знак за коментар "#", се игнорира от средата # options(papersize="a4") # options(editor="notepad") # options(pager="internal") # set display Тип обща информация# options(help_type="text") options(help_type="html") # задаване на местоположение на локална библиотека #.Library.site - file.path(chartr("\\", "/", R.home()) , "site-library") # Стартирайте менюто на R Commander при зареждане на средата # Поставете знаци "#", ако Rcmdr не е необходим local(( old - getOption("defaultPackages") options(defaultPackages = c(old, "Rcmdr") ) )) # Дефиниране на CRAN огледало local((r - getOption("repos") r["CRAN"] - "http://cran.gis-lab" options(repos=r))) # Дефиниране на пътя към работната директория (всеки друг на вашия компютър) setwd("D:/R/Process/Resampling") Що се отнася до "добър въвеждащ урок", всяка от нашите препоръки ще бъде субективна. Въпреки това трябва да се спомене официално признатото въведение към R от W. Venables и D. Smith (Venables, Smith, 2014) и книгата на R. Kabakov (Kabaco, 2011), отчасти защото има техен превод на руски език. Трябва да отбележим и традиционната „инструкция за манекени“ (Meys, Vries, 2012) и ръководството (Lam, 2010), написани със завидна холандска педантичност. От уводните курсове на руски език най-пълни са книгите на И. Зарядов (2010а) и А. Шипунов и др. (2014 г.).

1.2. Работа с обвивката на интерфейс R Статичната среда на R изпълнява всеки набор от смислени инструкции на езика R, съдържащи се в скриптов файл или представени от поредица от команди, дадени от конзолата. Работата с конзолата може да бъде трудна за съвременните потребители, които са свикнали с менюта с бутони, защото трябва да запомните синтаксиса на отделните команди. Въпреки това, след придобиване на някои умения, се оказва, че много процедури за обработка на данни могат да се извършват по-бързо и с по-малко затруднения, отколкото, да речем, в същия пакет Statistica.

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

IN команден режим R може да работи например като нормален калкулатор:

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

Например във втората команда на фигурата по-горе използвахме функциите факториел и синус, както и вграденото число p. Резултатите, получени в текстова форма, могат да бъдат избрани с мишката и копирани чрез клипборда във всеки текстов файл на операционната система (например Word документ).

Когато работите с RGui, препоръчваме във всички случаи да създадете файл със скрипт (т.е. последователност от R команди, които изпълняват определени действия). По правило това е обикновен текстов файл с произволно име (но за по-голяма сигурност е по-добре с разширение *.r), който може да се създава и редактира с обикновен редактор като Notepad. Ако този файл съществува, най-добре е да го поставите в работната директория и след това, след като стартирате R и изберете елемента от менюто „File Open Script“, съдържанието на този файл ще се появи в прозореца „R Editor“. Можете да изпълните поредица от скриптови команди от елемента от менюто "Редактиране, изпълнение на всички".

Можете също така да изберете смислен фрагмент от всяко място на подготвения скрипт с мишката (от името на една променлива до цялото съдържание) и да стартирате този блок за изпълнение. Това може да стане с четири възможни начини: от главни и контекстно меню, клавишната комбинация Ctrl+R или бутона на лентата с инструменти.

На показаната фигура са извършени следните действия:

° R-обект gadm е изтеглен от безплатния интернет източник Global Administrative Areas (GADM) с данни за териториалното деление на Република Беларус;

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

° с помощта на функцията spplot() на пакета sp в графичния прозорец се показва административна карта на републиката, която може да бъде копирана в клипборда с помощта на менюто или запазена като стандартен мета- или растерен графичен файл.

Ще разгледаме значението на отделните оператори по-подробно в следващите раздели, но тук ще обърнем внимание на факта, че чрез избиране в скрипта и стартиране на комбинация от знаци [имейл защитен], ще получим в прозореца на конзолата целия набор от данни за обекта и командата, съставена от избраните символи gadm, [имейл защитен]$NAME_1 ще ни даде списък с имена на административни центрове преди и след промяната му.

По този начин R Editor улеснява навигацията в скрипта, редактирането и изпълнението на всяка комбинация от команди, търсенето и замяната на определени части от кода. Споменатата по-горе добавка RStudio ви позволява допълнително да извършвате подчертаване на синтаксиса на кода, неговия автоматично завършване, "опаковане" на поредица от команди във функции за по-късна употреба, работа със Sweave или TeX документи и други операции, които ще бъдат полезни за напреднал потребител.

R има обширни вградени помощни материали, които могат да бъдат достъпни директно от RGui.

Издаването на командата help.start() от конзолата отваря страница във вашия интернет браузър, която предоставя достъп до всички помощни ресурси: основни ръководства, авторски материали, отговори на вероятни въпроси, списъци с промени, връзки към помощ за други R обекти и т.н. ..д.:

Помощ за отделни функции може да се получи с помощта на следните команди:

° помощ ("foo") или? foo - помощ за функция foo (кавичките не са задължителни);

° help.search("foo") или ?? foo - търсене на всички помощни файлове, съдържащи foo;

° example("foo") – примери за използване на функцията foo;

° RSiteSearch("foo") – търсене на връзки в онлайн ръководства и архиви на пощенски списъци;

° apropos("foo", mode="function") – списък на всички функции с комбинация foo;

° vignette("foo") - Списък с ръководства по темата foo.

1.3. Работа с менюто на пакета R Commander Удобен инструмент за овладяване на изчисления в R за начинаещ потребител е R Commander - независим от платформата GUIв стила на менюто с бутони, реализирано в пакета Rcmdr. Той ви позволява да извършвате голям набор от процедури за статистически анализ, без да се налага да изучавате функциите на командния език предварително, но неволно допринася за това, тъй като показва всички инструкции, които се изпълняват в специален прозорец.

Можете да инсталирате Rcmdr, както всички други разширения, от менюто на R конзолата „Пакети Инсталиране на пакет“, но по-добре, като изпълните командата:

install.packages("Rcmdr", dependencies=TRUE), където активирането на опцията за зависимости ще доведе до гарантирано инсталиране на пълния набор от други пакети, които може да са необходими при обработка на данни през менюто Rcmdr.

R Commander се стартира, когато пакетът Rcmdr се зареди чрез менюто "Packages Include package" или командата библиотека(Rcmdr).Ако по някаква причина беше решено данните да се анализират изключително с помощта на R Commander, тогава за автоматично изтеглянетази графична обвивка, когато стартирате R, трябва да редактирате файла Rprofile.site, както е показано в раздел 1.1.

Ще разгледаме работата в R Commander, като използваме примера за корелационен анализ на данни за нивото на инфекция на двучерупчестия мекотел Dreissena polymorpha с реснички Conchophthirus acuminatus в три езера на Беларус (Mastitsky S.E. // BioInvasions Records.

2012. V. 1. P 161–169). В таблицата с първоначалните данни, която изтегляме от уебсайта на figshare, ще се интересуваме от две променливи: дължината на черупката на мекотелото (ZMlength, mm) и броя на ресничките, открити в мекотелото (CAnumber). Този пример ще бъде разгледан подробно в Глави 4 и 5, така че тук няма да се спираме подробно на значението на анализа, а ще се съсредоточим върху техниката на работа с Rcmdr.

След това определяме режима на зареждане на данни и адреса на връзката в Интернет в изскачащи прозорци. Лесно се вижда, че можем лесно да заредим същите данни от локалния текстов файл, работна книга на Excel или таблица с база данни. За да се уверите, че нашите данни са заредени правилно (или ги редактирайте, ако е необходимо), щракнете върху бутона „Преглед на данните“.

Прозорец за дефиниране на организация на данни Фрагмент от заредената таблица

На втория етап в менюто "Статистика" изберете "Корелационен тест":

Избираме двойка корелирани променливи и в изходния прозорец получаваме коефициента на корелация на Pearson (R = 0,467), постигнатото ниво на статистическа значимост (p-стойност 2,2e-16) и 95% доверителни граници.

–  –  –

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

Сега получаваме графично изображениекорелационна зависимост. Изберете диаграма на разпръскване на CAnumber спрямо ZMlength и я осигурете с гранични графики на диапазони, линейна линия на тенденция на най-малките квадрати (в зелено), линия, изгладена чрез метод на локална регресия (в червено), представена с област на достоверност (пунктирана линия). За всяко от трите езера (променлива Lake), експерименталните точки ще бъдат представени с различни символи.

–  –  –

Графика, копирана от графичния прозорец на R Commander Като еквивалент на всички натискания на бутони на менюто на R Commander, R инструкциите се появяват в прозореца на скрипта.

В нашия случай те изглеждат така:

Clams read.table("http://figshare.com/media/download/98923/97987", header=TRUE, sep="\t", na.strings="NA", dec=".", strip. white=TRUE) cor.test(Clam$CAnumber, Clam$ZMlength, alternative="two.sided", method="pearson") scatterplot(CAnumber ~ ZMlength | Lake, reg.line=lm, smooth=TRUE, spread= TRUE, boxplots="xy", span=0.5, ylab="Брой ресничести птици", xlab="Дължина на черупката", by.groups=FALSE, data=Mollusks) Самият скрипт или изходните резултати (или и двете) могат да бъдат запазени във файлове и се повтаря по всяко време. Същият резултат може да се получи без стартиране на R Commander чрез зареждане на записания файл през R конзолата.

Като цяло, без да знаете езиковите конструкции на R (или просто да не искате да натоварвате паметта си със запомнянето им), с помощта на Rcmdr можете да извършвате обработка на данни, използвайки почти всички основни статистически методи. Той представя параметрични и непараметрични тестове, методи за напасване на различни непрекъснати и дискретни разпределения, анализ на многовариантни таблици за непредвидени обстоятелства, едномерен и многовариантен дисперсионен анализ, анализ на главните компоненти и групиране, различни форми на обобщени регресионни модели и др. апаратура за анализиране и тестване на получените модели заслужава внимателно проучване.

Подробно описание на техниката на работа с R Commander, както и изпълнението на алгоритмите за обработка на данни, можете да намерите в ръководствата (Larson-Hall, 2009; Karp, 2014).

Въпреки това, както езикът на знаците не може да замени човешката комуникация на естествен език, познаването на езика R значително разширява границите на възможностите на потребителя и прави общуването с R средата приятно и вълнуващо. И тук автоматичното генериране на скриптове в R Commander може да бъде отличен инструмент за читателя да се запознае с операторите на езика R и да научи спецификата на извикване на отделни функции. Ще посветим следващите глави от ръководството на обсъждане на процедурите за обработка на данни само на ниво езикови конструкции.

1.4. Обекти, пакети, функции, устройства Езикът R принадлежи към семейството на така наречените обектно-ориентирани езици за програмиране на високо ниво. За неспециалист строгата дефиниция на понятието "обект" е доста абстрактна. Въпреки това, за простота, можете да наричате всичко, което е създадено в процеса на работа с R, като обекти.

Има два основни типа обекти:

1. Обекти, предназначени за съхранение на данни („обекти с данни“) са индивидуални променливи, вектори, матрици и масиви, списъци, фактори, таблици с данни;

2. Функциите („функционални обекти“) са именувани програми, предназначени да създават нови обекти или да извършват определени действия върху тях.

Обектите на R средата, предназначени за колективна и безплатна употреба, са опаковани в пакети, които са обединени от подобни теми или методи за обработка на данни. Има известна разлика между термините "пакет" и "библиотека". Терминът "библиотека" дефинира директория, която може да съдържа един или повече пакети. Терминът "пакет" се отнася до колекция от функции, HTML страници с ръководство и примерни обекти с данни, предназначени за тестване или обучение.

Пакетите се инсталират в определена директория на операционната система или в неинсталиран вид могат да се съхраняват и разпространяват в архивирани *. zip файлове Windows (версията на пакета трябва да съответства на конкретната версия на вашия R).

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

библиотека(помощ=име_на_пакета), например:

библиотека(помощ=Матрица) Всички R пакети попадат в една от трите категории: базови ("основни"), препоръчани ("препоръчани") и други инсталирани от потребителя.

Можете да получите списък с тях на конкретен компютър, като издадете командата library() или:

installed.packages(priority = "base")installed.packages(priority = "recommended") # Вземете пълен списък packlist packlist - rownames(installed.packages()) # Извеждане на информация в клипборда в excel формат write.table(packlist,"clipboard",sep="\t", col.names=NA) Базовите и препоръчителните пакети обикновено са включени към R инсталационния файл.

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

За да инсталирате пакет, достатъчно е да изберете елемента от менюто "Packages Install package(s)" в командния прозорец на R Console или да въведете например командата:

install.packages(c("vegan", "xlsReadWrite", "car"))

Пакетите могат да бъдат изтеглени например от руския "огледало" http://cran.gis-lab.info, за което е удобно да се използва изданието на файла Rprofile.site, както е показано в раздел 1.1.

Друг вариант за инсталиране на пакети е да отидете на сайта http://cran.gis-lab.info/web/packages, да изберете желания пакет под формата на zip файл и да го изтеглите в избраната папка на вашия компютър.

В този случай можете да прегледате цялата информация за пакета, по-специално описанието на функциите, включени в него, и да решите колко ви е необходима. След това трябва да изпълните командата от менюто „Пакети Инсталиране на пакети от локални zip файлове“.

При стартиране на конзолата RGui се зареждат само някои от базовите пакети. За да инициализирате всеки друг пакет, преди директно да използвате функциите му, трябва да въведете библиотеката с команди (package_name).

Можете да определите кои пакети се зареждат във всеки момент от текущата сесия, като издадете командата:

sessionInfo() R версия 2.13.2 (2011-09-30) Платформа: i386-pc-mingw32/i386 (32-битова)

–  –  –

други прикачени пакети:

Vegan_2.0-2 permute_0.6-3

заредено чрез пространство от имена (и не е прикачено):

Grid_2.13.2 lattice_0.19-33 tools_2.13.2 Следната таблица изброява (може би не изчерпателно) пакетите, които са били използвани в скриптовете, представени в тази книга:

R пакети Предназначение "Основни" пакети Основни конструкции R base Компилатор на пакети R компилатор Набор от таблици с данни за тестване и демонстриране на функции набори от данни Основни графични функции графики Драйвери на графични устройства, цветови палитри, шрифтове grDevices Функции за създаване на решетка на графични слоеве Обектно-ориентирано програмиране компоненти (класове, методи методи) Функции за работа с регресионни сплайни от различни типове сплайнове Основни функции на статистическия анализ stats Методи на статистическите функции от клас S4 stats4 Компоненти на потребителския интерфейс (менюта, полета за избор и др.) tcltk Информационна поддръжка, администриране и инструменти за документиране Различни помощни програми за отстраняване на грешки и въвеждане, извеждане, архивиране и др.

Utils "Препоръчани" пакети Функции на различни рутинни зареждане и "jackknife" рутинни зареждане Различни нейерархични алгоритми за класификация и разпознаване клас Алгоритми за разделяне и йерархично клъстериране клъстер Анализ на кода и проверка R codetools Четене и запис на файлове в различни формати (DBF, SPSS, DTA, Stata) чуждестранни функции, обслужващи оптимизация на изглаждане на ядрото KernSmooth Разширени графични функции (Sarkar, 2008) решетъчен набор от данни и статистически функции (Venables, Ripley, 2002) MASS Матрични и векторни операции Матрица Обобщени адитивни и смесени модели на ефекти mgcv Линейни и нелинейни модели смесени ефекти nlme Невронни мрежидиректно разпространение nnet Изграждане на класификационни и регресионни дървета rpart Функции на кригинга и анализ на пространственото разпределение на точките пространствен анализ на оцеляването (модел на Кокс и др.) оцеляване Пакети, инсталирани по време на работа adegenet Алгоритми за анализ на генетично разстояние arm Анализ на регресионни модели - приложение към книга (Gelman, Hill , 2007) car Процедури, свързани с приложен регресионен анализ corrplot Графично показване на корелационни матрици fitdistrplus Фитиране на статистически разпределения FWDselect, Избор на набор от информативни променливи в регресионни модели packfor gamair Набори от данни за тестване на геосферни адитивни модели Оценка на географски разстояния ggplot2 Разширен графичен пакет с висока функционалност DAAG Анализ на данни и графични функции за книгата (Maindonald, Braun, 2010) Hmisc Harrell набор от функции HSAUR2 Добавка към книгата (Everitt, Hothorn, 2010) ISwR Първичен статистически анализ h в R jpeg Работа с графики jpegs lars Специални типове регресия (LARS, Lasso и т.н.) lavaan Потвърждаващ анализ и модели на структурни уравнения lmodel2 Внедряване на регресионни модели тип I и II (MA, SMA, RMA) maptools Инструменти за карти мишки Анализ и процедури за попълване на липсващи стойности моменти Примерни функции за изчисление moments nortest Критерии за тестване на хипотезата за нормални отклонения в разпределението Анализ на извънредни стойности в pastecs Анализ на данни от пространствени и времеви редове в екологията pls Регресия на главния компонент pwr Оценка на статистическата мощност на преоформяне на хипотезите Гъвкава трансформация на таблици с данни robustbase Надеждни методи за изграждане на регресионни модели rootSolve Намиране на корените на функция с няколко променливи скали Избор на цветови скали sem Модели на структурни уравнения semPlot Визуализация на структурни връзки sm Оценка на плътността на разпределение и методи за изглаждане sp Класове и методи за достъп до пространствени данни spatstat Методи за пространствена статистика, sub Редактор на spdep модели Пространствени зависимости: геостатистически методи и моделиране на Stargazer Показване на информация за статистически модели в различни vcd формати Визуализиране на категорични данни Извършване на екологични изчисления на общността (мерки за сходство, разнообразие и веганско гнездене, ординация и многовариантен анализ), инсталирани в R, или се опитваме да използвате функциите на пакет, който все още не е зареден, ще получим системни съобщения:

sem(model, data=PoliticalDemocracy) Грешка: не може да намери функцията "sem" библиотека(lavaan) Грешка в библиотека(lavaan): няма пакет с име "lavaan" потребител на пакета и тя разбира кой трябва да бъде изтеглен и кой трябва да бъде предварително инсталиран . Разбирането как работи скриптът изисква познаване на конструкциите на езика R, описани в следващия раздел, но заинтересованият читател може да се върне към тези команди по-късно.

instant_pkgs - функция (pkgs) ( pkgs_miss - pkgs)] # Инсталирайте пакети, които не са подготвени за изтегляне:

if (length(pkgs_miss) 0) ( install.packages(pkgs_miss) ) # Изтегляне на пакети, които все още не са изтеглени:

Attached - search() attached_pkgs - attached need_to_attach - pkgs if (length(need_to_attach) 0) ( for (i in 1:length(need_to_attach)) require(need_to_attach[i], character.only = TRUE) ) ) # Пример за извикване:

instant_pkgs(c("база", "jpeg", "веган"))

Можете да получите списък с функциите на всеки пакет, например, като издадете командата:

ls(pos = "package:vegan") Забележка: ls() е функция с общо предназначение за изброяване на обекти в дадена среда. Командата по-горе задава веганския пакет като такава среда. Ако тази команда се издаде без параметри, ще получим списък с обекти, създадени по време на текущата сесия.

Можете да получите списъка с аргументи на входящите параметри на всяка функция в зареден пакет, като издадете командата args().

Например, при стартиране на функцията за извличане на линеен модел lm(), която по-късно използваме широко, се задават следните параметри:

Функция Args(lm) (формула, данни, подмножество, тегла, na.action, метод = "qr", модел = TRUE, x = FALSE, y = FALSE, qr = TRUE, singular.ok = TRUE, контрасти = NULL, отместване,...) Ако въведете команда, състояща се само от съкращението на функцията (например изчисляване на интерквартилния диапазон на IQR), тогава можете да получите изходния текст на функцията в R кодове:

IQR функция (x, na.rm = FALSE) diff(quantile(as.numeric(x), c(0.25, 0.75), na.rm = na.rm, names = FALSE)) Напреднал потребител може да промени този код и "пренасочване" на повикването стандартна функциякъм вашата версия.

Ако обаче искаме да разгледаме кода на функцията predict(), която се използва за изчисляване на прогнозираните стойности на линейния модел, по същия начин, получаваме:

функция за прогнозиране (обект,...) UseMethod("предсказване") В този случай predict() е "универсална" функция: в зависимост от това кой обект на модела се подава към нейния вход (lm за линейна регресия, glm за Poisson или логистична регресия, lme за модел със смесени ефекти и др.), съответният метод за получаване на прогнозни стойности се актуализира.

По-специално тази функция се използва за прилагане на следните методи:

methods("predict") predict.ar* predict.Arima* predict.arima0* predict.glm predict.HoltWinters* predict.lm predict.loess* predict.mlm predict.nls* predict.poly predict.ppr* predict.prcomp* predict.princomp* predict.smooth.spline* predict.smooth.spline.fit* predict.StructTS* Невидимите функции са означени със звездичка В стил S3 методът всъщност е функция, която се извиква от друга обща функция, като print( ), plot() или summary() , в зависимост от класа на обекта, предоставен като вход. В същото време атрибутът клас отговаря за "ориентацията на обекта", което осигурява правилното изпращане и извикване на необходимия метод за този обект. Така че "функционалният метод" за получаване на прогнозираните стойности на обобщения линеен модел ще има извикване на predict.glm(), при изглаждане със сплайни - predict.smooth.spline() и т.н. Подробна информация за модела S3 OOP може да бъде намерена в раздела за помощ на S3Methods, а за по-усъвършенствания модел S4 OOP в раздела Методи.

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

° sink(file= име на файл) - извежда резултатите от изпълнението на последващи команди в реално време към файл с дадено име; за да прекратите тази команда, трябва да изпълните командата sink () без параметри;

° save(file= име на файл, списък с обекти за запис) - записва посочените обекти в двоичен файл във формат XDR, който може да се използва във всеки операционна система;

° load(file= име на файл) - възстановява записани обекти в текущата среда;

° save.image(file= име на файл) - записва всички обекти, създадени по време на работа, под формата на специфичен за R rda файл.

Пример за прехвърляне на генерираната таблица с данни в клипборда във формат, съвместим със структурата на Excel лист, беше даден по-горе в този раздел. Глава 6 ще покаже пример за прехвърляне на данни от обект на линеен модел към файл на Word.

Средата R може да генерира пикселно изображение с необходимото качество за почти всяка резолюция на дисплея или устройство за печат, както и да записва получените графични прозорци във файлове с различни формати. Има функция на драйвер за всяко устройство за графичен изход: можете да въведете помощ (Устройства) за пълен списък с драйвери.

Най-често използваните графични устройства са:

° windows() - графичен Windows прозорец(екран, принтер или метафайл).

° png(), jpeg(), bmp(), tiff() - извеждане в растерен файл със съответния формат;

° pdf(),postscript() - изход графична информациякъм PDF или PostScript файл.

Когато приключите работата с изходно устройство, деактивирайте неговия драйвер с командата dev.off(). Възможно е да активирате няколко графични изходни устройства едновременно и да превключвате между тях: вижте например съответния раздел в книгата на Шипунов и др. (2012 г., стр. 278).

1. ОПИСАНИЕ НА ЕЗИКА R

2.1. R типове данни Всички обекти с данни (и следователно променливи) в R могат да бъдат разделени на следните класове (т.е. типове обекти):

° numeric – обекти, които включват цели числа (integer) и реални числа (double);

° логически - логически обекти, които приемат само две стойности: FALSE (съкратено F) и TRUE (T);

° символ – символни обекти (стойностите на променливите са посочени в двойни или единични кавички).

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

С помощта на екип? name може да провери дали съществува променлива или функция с даденото име.

Проверката дали дадена променлива принадлежи към определен клас се проверява от функциите is.numeric(име_на_обект), is.integer(име), is.logical(име), is.character(име) и за преобразуване на обект в друг тип , можете да използвате функциите as.numeric (име), as.integer(име), as.logical(име), as.character(име).

В R има редица специални обекти:

° Inf - положителна или отрицателна безкрайност (обикновено резултат от разделяне на реално число на 0);

° NA - "липсваща стойност" (Not Available);

° NaN - "не е число" (Not a Number).

Проверете дали дадена променлива принадлежи към някое от тях специални видове, можете да използвате съответно функциите is.nite(име), is.na(име) и is.nan(име).

R изразът е комбинация от елементи като оператор за присвояване, аритметични или логически оператори, имена на обекти и имена на функции. Резултатът от изпълнението на израз, като правило, веднага се показва в командния или графичния прозорец. Въпреки това, когато се извърши операция по присвояване, резултатът се съхранява в съответния обект и не се показва на екрана.

Като оператор за присвояване в R можете да използвате или символа „=“, или двойка знаци „-“ (присвояване на конкретна стойност на обект отляво) или „-“ (присвояване на стойност на обект от вдясно). Счита се за добър стил на програмиране използването на „-“.

R изразите са организирани в скрипт по редове. Можете да въведете няколко команди на един ред, като ги разделите със символа „;“. Една команда може да бъде поставена и на два (или повече) реда.

Обектите от числов тип могат да образуват изрази, използвайки традиционните аритметични операции + (събиране), - (изваждане), * (умножение), / (деление), ^ ​​(степенно степенуване), %/% (цялочислено деление), %% (остатък) от разделяне). Операциите имат нормален приоритет, т.е. първо се извършва степенуване, след това умножение или деление, след това събиране или изваждане. Скобите могат да се използват в изрази и операторите в тях имат най-висок приоритет.

Булевите изрази могат да бъдат съставени с помощта на следните логически оператори:

° "Равно" == ° "Не е равно" != ° "По-малко от" ° "По-голямо от" ° "По-малко или равно" = ° "По-голямо или равно" = ° "Логическо И" & ° "Логическо ИЛИ" | ° "Логично НЕ" !

ПОДДРЪЖКА, АУТСОРСИНГ И АДМИНИСТРИРАНЕ НА ФОНДОВЕ 2 AMICORP GROUP СЕ ОТПРОЯЧВА ОТ ТЪЛПАТА w w w.am icor p. c om AMICORP GROUP КОМПАНИЯ СФЕРИ НА ДЕЙНОСТ СЪДЪРЖАНИЕ ЗА КОМПАНИЯТА НАШИТЕ УСЛУГИ Услуги за корпоративни клиенти Услуги за институционални продажби Създаване и управление на...»

„Федерална държавна образователна бюджетна институция за висше професионално образование „Финансов университет към правителството на Руската федерация“ Катедра „Маркетинг“ СЪВРЕМЕННИ НАПРАВЛЕНИЯ НА МАРКЕТИНГА: ТЕОРИЯ, МЕТОДОЛОГИЯ, ПРАКТИКА КОЛЕКТИВНА МОНОГРАФИЯ Под общата редакция на S.V. Карпова Москва 2011 Рецензенти: Н.С. Перекалина - доктор по икономика, професор, гл. Катедра "Маркетинг" "МАТИ" - Руски държавен технологичен университет. К. Е. Циолковски S.S. Соловьов..."

„Дигитален месинджър Малко за КАФЕ и ОБУЧЕНИЕ ЗА ЧАЙ: гл. Редактор: Весела Дъбова бр.4 декември 2011 г. Редактор: Релаксирайте с чая на Теодор Василев Гергана Иванов Издателство: АББ Колко случаи в организма или при прием на чай пият и как всички случаи са отслабена консумация за чаша чай. Има различни мнения относно надеждността на теорията на Таси, но има малко доказателства, че една чаша чай се брои от определения режим за ... "

«МЕЖДУНАРОДНА ИНТЕРДИСЦИПЛИНАРНА НАУЧНА КОНФЕРЕНЦИЯ RADICAL SPACE IN BETWEEN DISCIPLINES RCS 2015 КОНФЕРЕНЦИЯ СБОРНИК С РЕЗЮМЕТА РЕДАКТОРИ Romana Bokovi Miljana Zekovi Slaana Milievi НОВИ САД / СЪРБИЯ / 21-23 СЕПТЕМВРИ / 2015 Radical Space In Between Disciplines Conference Book of Abstracts S ISBN Editors: Romana Milievi S ISBN : 978-86-7892-733-1 Оформление: Мая Момиров Дизайн на корицата: Стефан Вужи Публикувано от Катедрата по архитектура и урбанизъм, Факултет по технически науки,...»

„САНКТ-ПЕТЕРБУРГСКИ ДЪРЖАВЕН УНИВЕРСИТЕТ Факултет по география и геоекология Катедра по геоморфология ДИПЛОМНА РАБОТА (последна квалификационна работа) на тема: „Геоморфологични характеристики и палеоклимат на арктическите езера (на примера на езерата от централния сектор на Руската Арктика)“ Завършен от: студентка от вечерния отдел Морозова Елена Александровна Научни ръководители: д.г.с., проф. Болшиянов Дмитрий Юриевич Преподавател Савелиева Лариса Анатолиевна Рецензент: кандидат на геологическите науки, ръководител....»

„Мишка Apacer M811 – лазерен мини SUV комплект. http://news.kosht.com/computer/mouse/2009/11/26/mysh_apacer_m811. KOSHT.com дневна добавка за търсене на цени Браузър Firefox. Инсталиране с едно кликване. Един килобайт. Начало Новини Цени Обяви Работа Форуми Фирми Moby Find Намерете вашите новини Всички новини за KOSHTA Компютри и аксесоари Мишки Компютри и аксесоари Мишки Всички новини за KOSHTA Най-добри игрови компютриОн-лайн изчисление в UltraPrice.by Мишка Apacer M811 – лазерен мини SUV [...»

"ФЕДЕРАЛНА АГЕНЦИЯ ПО ОБРАЗОВАНИЕТО ДЪРЖАВНА ОБРАЗОВАТЕЛНА ИНСТИТУЦИЯ ЗА ВИСШЕ ПРОФЕСИОНАЛНО ОБРАЗОВАНИЕ МОСКОВСКИ ДЪРЖАВЕН ИНДУСТРИАЛЕН УНИВЕРСИТЕТ (GO MGIU)" ИНФОРМАЦИОННИ СИСТЕМИ И ТЕХНОЛОГИИ информационни системи» студентка Чумакова Татяна Андревна по темата „Изчисляване на отделени потоци зад лошо обтекаемо тяло“ Ръководител на работата: проф., д.ф.н. н. Алексин Владимир Адамович ... "

„R WIPO A/45/3 ОРИГИНАЛ: английски ДАТА: 15 август 2008 г. СВЕТОВНА ОРГАНИЗАЦИЯ ЗА ИНТЕЛЕКТУАЛНА СОБСТВЕНОСТ ЖЕНЕВСКА АССАМБЛЕЯ НА ДЪРЖАВИТЕ-ЧЛЕНКИ НА СОИС Четиридесет и пета поредица от срещи Женева, 22-30 септември 2008 г. ДОПУСКАНЕ НА НАБЛЮДАТЕЛИ Меморандум генерален директор I. ДОПУСКАНЕ НА МЕЖДУНАРОДНИ НЕПРАВИТЕЛСТВЕНИ ОРГАНИЗАЦИИ КАТО НАБЛЮДАТЕЛИ 1. На предишните си сесии Асамблеите приеха набор от принципи, които да се прилагат при изпращане на международни неправителствени организации...”

„1 Олег Санаев. ОКОЛО СВЕТА УДЪЛЖЕН ЗА ЧЕТИРИ ГОДИНИ И ЦЕНА СТО ДОЛАРА С посочените в заглавието условия за пътуване на Евгений Александрович Гвоздев на яхтата Лена всичко е наред - четири години плюс две седмици: на 7 юли 1992 г. той напуска пристанище Махачкала, на 19 юли 1996 г. той се завърна. Но с пари - явно преувеличение или по-скоро подценяване: не можете, разбира се, да живеете със сто долара четири години - ще си опънете краката. Но, започвайки пътуването, Гвоздев имаше точно тази сума. И поне краката ... "

« Институт по мениджмънт, Изследователски университет Белгородски държавен национален изследователски университет ТЕХНОЛОГИИ ЗА ФОРМИРАНЕ НА СИГУРНОСТТА, ОСИГУРЯВАЩИ ФОРМИРАНЕТО НА СЪСТОЯНИЕТО НА КАНДИДАТ ЗА ДЪРЖАВНО И ОБЩИНСКО И ОБЩИНСКО ОБСЛУЖВАНЕ Анотация: Резюме: Статията се занимава с...»

“Лидия ЯНОВСКАЯ БЕЛЕЖКИ ЗА МИХАИЛ БУЛГАКОВ МОСКВА “ТЕКСТ” UDC 821.161.1 BBK 84 (2Рос-Рус)6-44 Y64 ISBN 978-5-7516-0660-2 ISBN 978-985-16-3297-4 (LLC Harvest ” ) “Текст”, 2007 “БРАВО, БИС, ЗАЛОЖНА КЪЩА!” "БРАВО, БИС, ЗАЛОЖНА КЪЩА!" Не знам къде се намира днес в Москва редакцията на списание "Юность". Има ли още такова списание? В средата на 70-те тази най-млада и красива редакция в Москва се намираше на Садовая-Триумфальная, до площад Маяковски, заемайки малко, но изключително удобно ... "

„Приложение 1 към ФОРМУЛЯРИ ЗА ЗАЯВКА ЗА КОНКУРС 2013 Образец „Т“. Заглавна страница на приложението към RHF Име на проекта Номер на проекта Тип на проекта (a, c, d, e, f) Област на знанието (код) Код на класификатора на RHF Код GRNTI (http://www.grnti.ru/) Приоритетна посока на развитието на науката и технологиите и технологиите в Руска федерация, критична технология1 Фамилия, име, бащино име на главата номер за връзкаръководител на проекта Пълно и кратко име на организацията, чрез която...”

«Доклад на FNI 8/2014 Прилагане на политиките на ЕС за климата и енергетиката в Полша: от европеизация към полонизация? Jon Birger Skjrseth Прилагане на политиките на ЕС за климата и енергетиката в Полша: от европеизация към полонизация? Джон Биргер Скджърсет [имейл защитен]Декември 2014 г. Copyright © Fridtjof Nansen Institute 2014 Заглавие Прилагане на политиките на ЕС за климата и енергетиката в Полша: от европеизация към полонизация? Вид на публикацията и брой страници Доклад на FNI 8/2014 57 Автор ISBN 978-82-7613-683-8 Джон...”

""Научни бележки ТОГУ" Том 6, № 4, 2015 ISSN 2079-8490 Електронна научна публикация "Научни бележки ТОГУ" 2015, Том 6, № 4, С. 173 - 178 Удостоверение Ел. № FS 77-39676 от 05.05. .2010 http://pnu.edu.ru/ru/ejournal/about/ [имейл защитен] UDC 316.33 © 2015 I. А. Гареева, доктор по социология. Sci., A. G. Kiseleva (Тихоокеански държавен университет, Хабаровск) ФОРМИРАНЕ НА СИСТЕМИ ЗА СОЦИАЛНО ОСИГУРЯВАНЕ Тази статия анализира формирането на системите за социално осигуряване и тяхното текущо състояние...»

Програма на конференцията Чианг Май, Тайланд ноември, 2015 APCBSS Азиатско-тихоокеанска конференция за бизнес и социални науки ICEI Международна конференция за образователни иновации APCLSE Азиатско-тихоокеанска конференция за науки за живота и инженерство APCBSS Азиатско-тихоокеанска конференция за бизнес и социални науки ISBN978-986- 90263 -0-7 Международна конференция на ICEI за образователни иновации ISBN 978-986-5654-33-7 APCLSE Азиатско-тихоокеанска конференция по науки за живота и инженерство ISBN 978-986-90052-9-6 Съдържание Съдържание..."

Последния път (през ноември 2014 г.; много ме е срам, че се забавих толкова дълго с продължението!) говорих за основните характеристики на езика R. Въпреки наличието на всички обичайни контролни конструкции, като цикли и условни блокове, класическият подход към обработката на данни, базиран на итерация, е далеч от Най-доброто решение, тъй като циклите в R извънреднобавен. Така че сега ще ви кажа как всъщност да работите с данните, така че процесът на изчисление да не ви принуди да изпиете твърде много чаши кафе в очакване на резултата. Освен това ще прекарам известно време в разговори за това как да използвам модерни средствавизуализация на данни в R. Тъй като удобството за представяне на резултатите от обработката на данни в практиката е не по-малко важно от самите резултати. Да започнем просто.

Векторни операции

Както си спомняме, основният тип в R изобщо не е число, а вектор и основните аритметични операции действат върху векторите елемент по елемент:

> x<- 1:6; y <- 11:17 >x + y 12 14 16 16 18 20 22 18 18> x> 2 FALSE TRUE TRUE TRUE> X * Y 11 24 39 56 75 96 17> x / y 0.09090909 0.16666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666692

Тук всичко е съвсем просто, но е съвсем логично да зададем въпроса: какво ще се случи, ако дължината на векторите не съвпада? Ако, да речем, напишем k<- 2, то будет ли x * k соответствовать умножению вектора на число в математическом смысле? Короткий ответ - да. В более общем случае, когда длина векторов не совпадает, меньший вектор просто продолжается повторением:

>z<- c(1, 0.5) >x * z 1 1 3 2 5 3

Същото важи и за матриците.

> x<- matrix(1:4, 2, 2); y <- matrix(rep(2,4), 2, 2) >x * y [,1] [,2] 2 6 4 8 > x / y [,1] [,2] 0,5 1,5 1,0 2,0

В този случай „нормалното“, а не побитово умножение на матрицата ще изглежда така:

> x %*% y [,1] [,2] 8 8 12 12

Всичко това, разбира се, е много добро, но какво да правим, когато трябва да приложим нашите собствени функции към елементите на вектори или матрици, тоест как може да стане това без цикъл? Подходът, който R използва за решаване на този проблем, е много подобен на този, с който сме свикнали във функционалните езици - всичко това напомня функцията map в Python или Haskell.

Полезна функция lapply и неговите приятели

Първата функция в това семейство е lapply. Тя ви позволява да приложите дадена функция към всеки елемент от списък или вектор. Освен това резултатът ще бъде точно списъкът, независимо от типа на аргумента. Най-простият пример с използване на ламбда функции:

> р<- lapply(c(1,2,4), function(x) x^2) >q 1 4 16

Ако функцията, която трябва да бъде приложена към списък или вектор, изисква повече от един аргумент, тогава тези аргументи могат да бъдат предадени чрез lapply.

> р<- lapply(c(1,2,4), function(x, y) x^2 + y, 3)

Със списък функцията работи по подобен начин:

> x<- list(a=rnorm(10), b=1:10) >lapply(x, средно)

Тук функцията rnorm указва нормално разпределение (в този случай десет нормално разпределени числа между 0 и 1), а средната стойност изчислява средната стойност. Функцията sapply е точно същата като функцията lapply, с изключение на това, че се опитва да опрости резултата. Например, ако всеки елемент от списъка има дължина 1, тогава ще бъде върнат вектор вместо списък:

> sapply(c(1,2,4), function(x) x^2) 1 4 16

Ако резултатът е списък от вектори с еднаква дължина, тогава функцията ще върне матрица, ако нищо не е ясно, тогава просто списък, като lapply.

> x<- list(1:4, 5:8) >sapply(x, функция(x) x^2) [,1] [,2] 1 25 4 36 9 49 16 64

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

> x<- matrix(rnorm(50), 5, 10) >приложи (x, 2, средно) > приложи (x, 1, сума)

Тук първо създаваме матрица от пет реда и десет колони, след което първо изчисляваме средната стойност на колоните и след това сумата на редовете. За да бъде пълна картината, трябва да се отбележи, че задачите за изчисляване на средната стойност и сумата по редове са толкова често срещани, че R предоставя специални функции за тази цел rowSums, rowMeans, colSums и colMeans.
Функцията apply може да се използва и за многомерни масиви:

> обр<- array(rnorm(2 * 2 * 10), c(2, 2, 10)) >приложи (arr, c(1,2), средно)

Последното обаждане може да бъде заменено с по-четлива версия:

> rowMeans(arr, dim = 2)

Нека да преминем към функцията mapply, която е многоизмерен аналог на lapply. Нека започнем с прост пример, който може да се намери точно в стандартната R документация:

> mapply(rep, 1:4, 4:1) 1 1 1 1 2 2 2 3 3 4

Както можете да видите, тук прилагаме функцията rep към набор от параметри, които се генерират от две последователности. Самата функция rep просто повтаря първия аргумент броя пъти, посочени като втори аргумент. Така че предишният код е просто еквивалентен на следния:

> списък (rep(1,4), rep(2,3), rep(3,2), rep(4,1))

Понякога е необходимо да се приложи функция към част от масив. Това може да стане с помощта на функцията за докосване. Нека разгледаме следния пример:

> x<- c(rnorm(10, 1), runif(10), rnorm(10,2)) >f<- gl(3,10) >докосване (x,f,средно)

Първо създаваме вектор, чиито части се формират от случайни променливис различно разпределение, тогава генерираме вектор от фактори, който не е нищо повече от десет единици, след това десет двойки и същия брой тройки. След това изчисляваме средната стойност за съответните групи. Функцията за докосване по подразбиране се опитва да опрости резултата. Тази опция може да бъде изключена чрез указване на simply=FALSE като параметър.

> докосване (x, f, диапазон, опростяване=FALSE)

Когато говорим за функции за прилагане, обикновено се говори и за функцията за разделяне, която разделя вектор на части, подобно на tapply. Така че, ако извикаме split(x, f), получаваме списък от три вектора. Така че двойката lapply/split работи точно като tapply с опростяване, зададено на FALSE:

> lapply(split(x, f), средно)

Функцията за разделяне е полезна и извън работата с вектори: може да се използва и за работа с рамки от данни. Помислете за следния пример (взех го назаем от курса по R програмиране на Coursera):

> библиотека (набори от данни) > глава (качество на въздуха) Ozone Solar.R Wind Temp Month Day 1 41 190 7.4 67 5 1 2 36 118 8.0 72 5 2 3 12 149 12.6 74 5 3 4 18 313 11.5 62 5 4 5 NA NA 14.3 56 5 5 6 28 NA 14,9 66 5 6 > s<- split(airquality, airquality$Month) >lapply(s, function(x) colMeans(x[, c("Ozone", "Solar.R", "Wind")]))

Тук работим с набор от данни, който съдържа информация за състоянието на въздуха (озон, слънчева радиация, вятър, температура във Фаренхайт, месец и ден). Можем лесно да отчетем месечни средни стойности, като използваме split и lapply, както е показано в кода. Използването на sapply обаче ще ни даде по-удобен резултат:

> sapply(s, function(x) colMeans(x[, c("Ozone", "Solar.R", "Wind")])) 5 6 7 8 9 Ozone NA NA NA NA Solar.R NA 190.16667 216.483871 NA 167.4333 Вятър 11.62258 10.26667 8.941935 8.793548 10.1800

Както можете да видите, някои стойности на количествата не са дефинирани (и за това се използва запазената стойност NA). Това означава, че някои (поне една) стойности в колоните Ozone и Solar.R също не са дефинирани. В този смисъл функцията colMeans се държи съвсем правилно: ако има някакви недефинирани стойности, тогава средната стойност е недефинирана. Проблемът може да бъде решен чрез принуждаване на функцията да игнорира стойностите на NA с параметъра na.rm=TRUE:

>sapply(s, function(x) colMeans(x[, c("Ozone", "Solar.R", "Wind")], na.rm=TRUE)) 5 6 7 8 9 Озон 23.61538 29.44444 59.115385 59.961538 31.44828 Solar.R 181.29630 190.16667 216.483871 171.857143 167.43333 Вятър 11.62258 10.26667 8.941935 8.793548 10.18000

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

Визуализация на данни

Системата R е необичайно богата на инструменти за визуализация на данни. И тук съм изправен пред труден избор - за какво да говоря, ако площта е толкова голяма. Ако в случая с програмирането има някакъв основен набор от функции, без които нищо не може да се направи, то при визуализацията има огромен брой различни задачи и всяка от тях (като правило) може да бъде решена по няколко начина, всеки от което има своите плюсове и минуси. Освен това винаги има много опции и пакети, които ви позволяват да разрешите тези проблеми по различни начини.
Професионалист стандартни средстваЗа визуализацията в R е писано много, така че тук бих искал да говоря за нещо по-интересно. IN последните годинипакетът става все по-популярен ggplot2, нека поговорим за него.

За да започнете с ggplot2, трябва да инсталирате библиотеката с помощта на командата install.package("ggplot2"). След това го свързваме за употреба:

> библиотека("ggplot2") > глава (диаманти) карати цвят чистота таблица дълбочина цена x y z 1 0.23 Идеален E SI2 61.5 55 326 3.95 3.98 2.43 2 0.21 Premium E SI1 59.8 61 326 3.89 3.84 2.31 3 0.23 Добър E VS1 56.9 4.07 2.31 4 0.29 Premium I VS2 62.4 58 334 4.20 4.23 2.63 5 0.31 Good J Si2 63.3 58 335 4.34 4.35 2.75 6 0.24 Много добър J VVS2 62.8 3.94 3.96 2.48> Глава (MTCARS) MPG CLA. 110 3.90 2.620 16.46 0 1 4 4 Mazda Rx4 Wag 21.0 6 160 110 3.9 2.875 17.02 0 1 4 Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 4 1 Hornet 4 Drive 68 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 3.08 3.215 19.44 1 0 3 1 Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2 Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1

Данните за диамантите и mtcars са част от пакета ggplot2 и с тях ще работим сега. С първия всичко е ясно - това са данни за диаманти (чистота, цвят, цена и т.н.), а вторият набор са данни за пътни тестове (брой мили на галон, брой цилиндри ...) на автомобили от 1973-1974 г. от американското списание Motor Trends. | Повече ▼ подробна информацияинформация (като размери) може да бъде получена чрез въвеждане на ?diamonds или ?mtcars.

За визуализация пакетът предоставя много функции, от които qplot ще бъде най-важната за нас сега. Функцията ggplot ви дава много повече контрол върху процеса. Всичко, което може да се направи с qplot, може да се направи и с ggplot. Помислете за това прост пример:

> qplot(яснота, данни=диаманти, запълване=изрязване, geom="лента")

Същият ефект може да се постигне с функцията ggplot:

> ggplot(диаманти, aes(яснота, запълване=изрязване)) + geom_bar()

Извикването на qplot обаче изглежда по-просто. На фиг. 1 можете да видите как е изградена зависимостта на броя на диамантите с различно качество на шлифоване (шлифоване) от чистотата (клиритета).

Сега нека изградим зависимостта на пробега на единица гориво на автомобилите от тяхната маса. Получената диаграма на разсейване (или диаграма на разсейване точкова диаграма) е представен
на фиг. 2.

> qplot(wt, mpg, data=mtcars)

Можете също така да добавите цветен дисплей на времето за ускорение на четвърт миля (qsec):

> qplot(wt, mpg, data=mtcars, color=qsec)

Когато визуализирате, можете също да трансформирате данни:

> qplot(log(wt), mpg - 10, data=mtcars)

В някои случаи дискретното цветово разделение изглежда по-представително от непрекъснатото. Например, ако искаме да покажем информация за броя на цилиндрите в цвят вместо времето за ускорение, тогава трябва да посочим, че стойността е дискретна (фиг. 3):

> qplot(wt, mpg, data=mtcars, color=factor(cyl))

Можете също така да промените размера на точките, като използвате например size=3. Ако ще отпечатвате графики на черно-бял принтер, тогава е по-добре да не използвате цветове, а вместо това да промените формата на маркера в зависимост от фактора. Това може да стане чрез замяна на color=factor(cyl) с shape=factor(cyl) .
Типът графика се определя с помощта на параметъра geom, а в случай на точкови диаграми стойността на този параметър е "точки".

Сега да кажем, че просто искаме да изградим хистограма на броя автомобили със съответната стойност на цилиндъра:

> qplot(factor(cyl), data=mtcars, geom="bar") > qplot(factor(cyl), data=mtcars, geom="bar", color=factor(cyl)) > qplot(factor(cyl) , data=mtcars, geom="bar", fill=factor(cyl))

Първото извикване просто чертае три хистограми за различни стойности на цилиндрите. Трябва да кажа, че първият опит да се даде цвят на хистограмата няма да доведе до очаквания резултат - черните ленти все още ще бъдат черни, те ще получат само цветен контур. Но последното извикване на qplot ще направи красива хистограма, както е показано на фиг. 4.

Тук трябва да има известна яснота. Факт е, че настоящият обект, който сме изградили, не е хистограма в тесния смисъл на думата. Обикновено хистограмата се разбира като подобен дисплей за непрекъснати данни. На английски стълбовидна диаграма(това направихме току-що) и хистограмаса две различни понятия (вижте съответните статии в Уикипедия). Тук с известна тежест на сърцето ще използвам думата „хистограма“ и за двете понятия, вярвайки, че самото естество на данните говори само за себе си.

Ако се върнем на фиг. 1, ggplot2 предоставя няколко полезни опции за позициониране на графиката (стойността по подразбиране е position="stack"):

> qplot(яснота, данни=диаманти, geom="лента", fill=cut, position="dodge") > qplot(яснота, data=diamonds, geom="лента", fill=cut, position="fill") > qplot(яснота, данни=диаманти, geom="лента", fill=cut, position="identity")

Първата от предложените опции изгражда диаграми една до друга, както е показано на фиг. 5, втората показва дела на диамантите с различно качество на рязане в общия брой диаманти с дадена чистота (фиг. 6).

Сега разгледайте пример за реална хистограма:

> qplot(carat, data=diamonds, geom="histogram", bandwidth=0.1) > qplot(carat, data=diamonds, geom="histogram", bandwidth=0.05)

Тук параметърът за честотна лента просто показва колко широка е лентата в хистограмата. Хистограмата показва колко данни са в кой диапазон. Резултатите са представени на фиг. 7 и 8.

Понякога, когато трябва да изградим модел (линеен или, да речем, полиномен), можем да го направим направо в qplot и да видим резултата. Например, можем да начертаем mpg спрямо маса wt директно върху диаграмата на разсейване:

> qplot(wt, mpg, data=mtcars, geom=c("point", "smooth"))

По подразбиране като модел ще се използва локална полиномна регресия (method="loess"). Резултатът от работата ще изглежда както е показано на фиг. 9, където тъмносивата лента е стандартната грешка. Той се показва по подразбиране, можете да изключите показването му, като напишете se=FALSE.

Ако искаме да опитаме да разтегнем линеен модел върху тези данни, тогава това може да стане чрез просто указване на method=lm (фиг. 10).

И накрая, разбира се, трябва да покажете как се изграждат кръгови диаграми:

>t<- ggplot(mtcars, aes(x=factor(1), fill=factor(cyl))) + geom_bar(width=1) >t + coord_polar(theta="y")

Тук ще използваме по-гъвкавата функция ggplot. Работи по следния начин: първо изграждаме графика, която показва дела на автомобилите с различен брой цилиндри в общата маса (фиг. 11), след което превеждаме графиката в полярни координати (фиг. 12).

Вместо заключение

Вече се научихме да използваме R. Какво следва? Ясно е, че тук са дадени най-основните характеристики на ggplot2 и са разгледани въпроси, свързани с векторизацията. Има няколко добри книги за R, които си струва да бъдат споменати, и със сигурност си струва да се консултирате повече от услугите на корпорация с много обсебваща доброта. Първо, има „Изкуството на R програмирането“ на Норман Матлоф. Ако вече имате опит в програмирането на R, тогава The R Inferno, написана от Патрик Бърнс, ще ви бъде полезна. Класическата книга Софтуер за анализ на данни от Джон Чембърс също е доста подходяща.

Ако говорим за визуализация в R, тогава има добра книга R Graphics Cookbook от W. Chang (Winston Chang). Примерите за ggplot2 в тази статия са взети от Урок: ggplot2. Ще се видим в следващата статия „Анализ на данни и машинно обучение в R“!

Блогът R: Data Analysis and Visualization съществува повече от три години и половина. Преди няколко месеца се роди идеята публикуваните тук методически послания за цялото това време да бъдат обобщени във формата електронна книга. Автор на идеята, а по-късно и съавтор на книгата, беше докторът на биологичните науки Владимир Кирилович Шитиков (). Имаме удоволствието да ви представим резултата като наш новогодишен подарък.


Инструментариум "Статистически анализ и визуализация на данни с R" е адресирано главно до студенти, докторанти, млади и утвърдени учени, както и професионални анализатори, които преди това не са имали опит с R. Следвайки традициите на блога, ние се опитахме, ако е възможно, да се справим без злоупотребата с "ритуал " словосъчетания, които са характерни за множество ръководства по приложна статистика, цитирайки добре известни теореми и привеждайки формули за изчисление на много нива. Акцентът беше поставен преди всичко върху практическото приложение - така че читателят, ръководен от прочетеното, може да анализира своите данни и да представи резултатите на колеги. Книгата включва 9 глави, които обхващат следните теми:

  • Глава 1: Основни компоненти на R статистическата среда
  • Глава 2: Описание на езика R
  • Глава 3: Основни R графични характеристики
  • Глава 4: Описателни статистики и подходящи разпределения
  • Глава 5: Класически методи и критерии на статистиката
  • Глава 6: Линейни моделив анализ на дисперсията
  • Глава 7: Регресионни модели на връзките между мащабни променливи
  • Глава 8: Обобщени, структурни и други регресионни модели
  • Глава 9: Пространствен анализ и картографиране
Освен това са предоставени обширна библиография и списък с полезни R онлайн ресурси.

Официалната текуща версия на книгата в PDF формат (~11 MB) е достъпна за безплатно сваляне от два сайта:

  • Хранилище на GitHub: https://github.com/ranalytics/r-tutorials
  • Уебсайт на Института по екология на Волжския басейн RAS: http://www.ievbras.ru/ecostat/Kiril/R/

На същите два ресурса можете да намерите скриптовете за R-код и наборите от данни, необходими за възпроизвеждане на примерите, включени в книгата.

Ще бъдем благодарни за вашите коментари и предложения относно тази работа - моля, изпратете ги на имейл rtutorialsbook["dog"]gmail.com

Както бе отбелязано по-горе, книгата се разпространява безплатно. Въпреки това, ако се окаже полезно за вас и смятате за уместно да благодарите на авторите за труда им, можете да преведете произволна сума чрез следващ бутон(всички транзакции се извършват в безопасен режимчрез системата за електронни плащания

Програма на курса

Елементи на програмиране в R

  • Описателна статистика и визуализация
  • Например, кое е по-важно: среден чек или типичен чек?

клъстерен анализ

  • Какъв проблем се решава. Разделете група обекти на подгрупи.
  • Примерна задача. Сегментиране на сайтове, идентифициране на подобни сайтове.
  • Изучавани методи. Йерархичен клъстерен анализ, метод на k-средните, метод на k-medoid.

Тестване на статистически хипотези

  • Какъв проблем се решава. Сравнете две групи предмети.
  • Примерна задача. A/B тестване на потребителското поведение е включено различни версиистраници на сайта.
  • Изучавани методи. Тест за пропорции, t-тест на Стюдънт, t-тест на Левин, тест на Уилкоксън-Ман-Уитни

Линеен регресионен анализ.

  • Примерна задача. Сметнете колко са паднали цените на употребяваните коли след увеличението на митата.
  • Изучавани методи. Избор на променливи, колинеарност, влиятелни наблюдения, остатъчен анализ. Непараметрична регресия (изглаждане на ядрото). Прогнозиране на кратки серии със сезонен компонент чрез линейна регресия

Прогнозиране

  • Какъв проблем се решава. Изграждане на прогноза за времеви редове
  • Примерна задача. Прогнозирайте трафика на сайта за 6 месеца предварително.
  • изучаван метод. Експоненциално изглаждане

Машинно обучение (разпознаване на образи)

  • Примерна задача. Разпознайте пола и възрастта на всеки посетител на сайта
  • Изучавани методи. k-най-близкия съседен метод Класификационни дървета (CART). Случайни гори. машина за усилване на градиента

Оценки от курса

На учениците ще бъдат дадени 14 лабораторна работа. Оценката за курса се определя по следното правило:

  • Отличен - всички работи се кредитират;
  • Добре - всички творби са кредитирани, с изключение на една?;
  • Задоволителен - всички работи с изключение на две бяха кредитирани;
  • Незадоволително - в останалите случаи.

Лабораторната работа е

  • на слушателя се дава набор от данни и въпрос;
  • слушателят отговаря на въпроса, подкрепяйки твърденията си с таблици, графики и скрипт, написани на езика R;
  • слушателят отговаря на допълнителни въпроси.

Пример за въпрос. Предложете параметри, които ще осигурят оптимална работа на алгоритъма Random Forest при разпознаване на марка вино въз основа на резултатите от химичен анализ.

Какво трябва да знаете, за да вземете курса

Предполага се, че участниците в курса вече са преминали курс по теория на вероятностите.

Литература

  • Шипунов, Балдин, Волкова, Коробейников, Назарова, Петров, Суфиянов Визуална статистика. Използвайки R
  • Мастицки, Шитиков Статистически анализ и визуализация на данни с Р
  • Разпознаване на образи на Bishop и машинно обучение.
  • Джеймс, Витен, Хасти, Тибширани. Въведение в статистическото обучение. С приложения в R.
  • Хасти, Тибширани, Фридман. Елементите на статистическото обучение_ извличане на данни, Извод и прогноза 2+изд
  • Кроули. Книгата R.
  • Kabacoff R в действие. Анализ на данни и графики с R.

учители

Списък на лекциите

Въведение в R: основни команди. Медиана, квантили и квартили. Стълбовидна диаграма. Стълбовидна диаграма. Кръгова диаграма. Точкова диаграма. Точкова диаграма. Използването на цвят в диаграмата. Кутии с мустаци (диаграма на кутията). Типично извадково наблюдение: средна аритметична стойност, медиана или съкратена средна стойност. Изборът на метод за описание на типична стойност, който е адекватен на анализираните данни. логнормално разпределение. Емисии и екстремни наблюдения.

Йерархичен клъстерен анализ. Клъстер, разстояния между обекти, разстояния между клъстери. Алгоритъм за построяване на дендрограма. Сипеи/Лъкът. Стандартизация на данните. Типични грешки при подготовката на данните. Тълкуване на резултатите.

метод на k-средните. Сензори за произволни числа, зърнист сензор. Визуализация на алгоритъма на k-средните. Методи за определяне на броя на клъстерите. NbClust библиотека. Сипеи/Лъкът. Многомерно мащабиране за визуализация на клъстери.

Тестване на статистически хипотези. Хипотези за съгласие, хомогенност, независимост, хипотези за параметри на разпределение.

Тестване на статистически хипотези. Грешки от първи и втори род, p-стойност и ниво на значимост, алгоритъм за проверка на статистическата хипотеза и интерпретация на резултатите. Хипотеза за нормалното разпределение. Критерии Шапиро-Уилк и Колмогоров-Смирнов. Незначителни отклонения от нормата. Сравнение на проби. Независими и сдвоени проби. Избор между t-тест на Стюдънт, тест на Ман-Уитни-Уилкоксън и тест на Муд. Разновидности на t-тестовете на Стюдънт и сравнение на дисперсии. Визуализация в сравненията. Едностранни и двустранни тестове.

Тестване на статистически хипотези. Сравнение на проби. Независими и сдвоени проби. Избор между t-тест на Стюдънт, тест на Ман-Уитни-Уилкоксън и тест на Муд. Разновидности на t-тестовете на Стюдънт и сравнение на дисперсии. Визуализация в сравненията. Едностранни и двустранни тестове. Независимост. Коефициенти на корелация на Пиърсън, Кендъл и Спирман, типични грешки при изследване на връзката между две явления. Визуална проверка на заключенията.

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

Линеен регресионен анализ: Прогнозиране на кратки времеви редове.

Прогнозиране на базата на регресионен модел със сезонни индикаторни (фиктивни, структурни) променливи. Тенденция, сезонни компоненти, промяна на серията, отклонения. Логаритъмът е техника за преобразуване на мултипликативната сезонност в адитивна. индикаторни променливи. Преквалификация.

Линейна регресия – остатъчен анализ. Нарушения на моделните ограничения на теоремата на Гаус-Марков. Анализ на остатъци. Грешка в спецификацията. Мултиколинеарност, толерантност и VIF. Проверка на постоянството на дисперсиите на остатъците. Корекция на модели при наличие на отклонения в разпределението на остатъците от нормалното. Кук разстояние и ливъридж. Статистика на Дърбин-Уотсън. Намаляване на броя на сезонните корекции.

Експоненциално изглаждане Методът на Holt "a-Winters". Местна тенденция, местна сезонност.

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

k-ти метод на най-близък съсед. Последователност на метода. Мързеливо учене (мързеливо учене). Избор на функция. Кръстосано валидиране. k-кратно кръстосано валидиране. Прекомерно прилепване (Прекомерно прилепване). Комплекти за обучение и тестове.

Метод на k-тия най-близък съсед Примери. Определяне на броя на най-близките съседи. Таблица за непредвидени обстоятелства за определяне на качеството на метода.

CART класификационни дървета. Геометрично представяне. Представяне като набор от логически правила. Представяне на дърво. Възли, родители и деца, крайни възли. Прагове. rpart библиотека. Мерки за примеси на възли. Методи за измерване на чистотата: Джини, ентропия, класификационни грешки. Правила за спиране на дървото за обучение. rpart.plot библиотека.



Зареждане...
Връх