Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
empi.doc
Скачиваний:
0
Добавлен:
11.01.2020
Размер:
2.42 Mб
Скачать
  1. Призначення та послідовність проведення кореляційного аналізу.

На етапі кореляційного аналізу визначається, чи існує залежність між певними метриками та експертними оцінками, чи її немає. Якщо залежність існує, то проводиться первинна обробка даних для визначення довірчої ймовірності та виду залежності. В іншому випадку робиться висновок про відсутність залежності.

Цей етап проводиться наступним чином. Спочатку за визначеними раніше законами розподілу всі метрики та експерті оцінки класифікуються на ті, що мають нормальний розподіл, і ті, що його не мають. Для пар „метрика – експертна оцінка”, які мають нормальний закон розподілу, проводиться просте визначення коефіцієнту кореляції та його оцінка. При коефіцієнті кореляції рівному 0, ніякого зв’язку в парі немає. Якщо коефіцієнт кореляції знаходиться між -1 і 1, присутній лінійний регресійний зв’язок. Якщо ж коефіцієнт кореляції рівний 1, то має місце функціональний зв’язок. Далі проводиться визначення значущості коефіцієнта кореляції (висувається гіпотеза, що коефіцієнт кореляції рівний 0), при якому використовується t – тест на основі статистичної характеристики, яка має t – розподіл Стьюдента. Якщо дане значення значущості менше, ніж задане табличне, ця пара відсіюється з подальших досліджень. У випадку значущості проводиться дослідження на довірчі інтервали. При потраплянні коефіцієнту в довірчі інтервали можна зробити висновок про те, що дана метрика і експертна оцінка мають лінійну регресійну залежність. В іншому випадку вони відсіюються.

Для пар „метрика – експертна оцінка”, які не мають нормального закон розподілу, проводиться парна рангова кореляція. Суть парної рангової кореляції заключається в порівнянні не самих значень величин, чи їх статистичних характеристик, а рангів, тобто номерів величин (метрик та експертних оцінок) у відповідних матрицях (наборах статистичних даних). Визначається парна рангова кореляція методом обчислення коефіцієнта Спірмена чи Кендала. Якщо значення коефіцієнта виявилось рівним 0, то робиться висновок про відсутність кореляції, і пара „метрика – експертна оцінка” відкидається. Якщо коефіцієнт кореляції приймає значення 1, чому відповідає повне співпадання коефіцієнтів, то робиться висновок про прямо пропорційну залежність (тобто лінійну), якщо -1, то робиться висновок про обернено пропорційну залежність (тобто також лінійну). Якщо ж коефіцієнт кореляції приймає інше значення, то далі його перевіряють на значущість, перевіряючи гіпотезу, що коефіцієнт рівний 0.

Отже, результатом даного етапу є відсіювання незалежних між собою пар „метрика – експертна оцінка” та визначення за можливістю виду залежності для інших пар.

  1. Призначення та послідовність проведення регресійного аналізу.

Регресійний аналіз – останній етап в дослідженні на залежність метрик та експертних оцінок. Він проводиться тільки при виконанні умови, що дисперсія залежної змінної (експертної оцінки) повинна залишатися постійною при зміні значення аргументу (метрики), тобто, спочатку визначається дисперсія експертної оцінки для кожного прийнятого значення метрики. Далі проводиться ідентифікація регресії. Вона передбачає як графічну побудову, так і аналітичні дослідження. Графічна побудова розпочинається з визначення кореляційного поля. Якщо кореляційне поле має форму еліпса, робиться висновок про лінійний регресійний зв’язок. Далі проводиться побудова лінійної регресії і її оцінка. Якщо побудовані точки кореляційного поля потрапляють у коло, то робиться висновок про відсутність залежності. Якщо ж кореляційне поле не вписується у коло чи еліпс, а має інший вигляд, то робиться висновок про нелінійну залежність в лінії регресії. Далі будуються і аналізуються найймовірніші наближені лінії регресії. Серед них вибирається найточніша шляхом обчислення відхилення значень залежної змінної. Висновок про найточніше припущення робиться для функції, у якої відхилення найменше. Далі для нелінійної залежності проводиться лінеаризація коефіцієнтів, тобто зведення функції до лінійного вигляду.

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

Якщо пара „метрика – експертна оцінка” пройшла всі етапи і не була відсіяною, робиться висновок, що експертна оцінка залежить певним чином від значення метрики з силою, що показує коефіцієнт детермінації, а вигляд залежності визначає лінія регресії.

  1. Описати, пояснити використання Statistica для первинного статистичного аналізу (або іншого засобу).

Аналіз – основные статистики и таблицы – описательные статистики – выбор переменных – выбор нужных критериев – ок.

Графика – гистограмы.

Просмотр ексцеса и ассиметрии и гистограм

  1. Описати, пояснити використання Statistica для кореляційного аналізу (або іншого засобу).

Анализ – непараметрическая статистика – корреляции спирмена и тау Кендалла – переменные. Для таблицы – ок. Для графиков – матричная диаграмма.

Просмотр связей. Больше 0,7 или меньше -0,7 - сильная

  1. Описати, пояснити використання Statistica для регресійного аналізу (або іншого засобу).

Для каждой пары с сильной связью

Графики – 2М графики – диграмма рассеивания – перменные – дополнительно – выбор типа (линейная, логарифм, эксп и т.д.) – ок

Определение по графикам более подходящей функции регресси.

  1. Описати та пояснити використання Visual Studio для проведення рефакторингу.

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

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

Особую популярность рефакторинг приобрел в последние десять лет с развитием экстремального программирования и других agile-методик программирования, в которых рефакторинг является частью цикла разработки программного обеспечения. Между тем, проведение рефакторинга вручную - достаточно утомительное занятие. Например, чтобы изменить порядок следования параметров в методе класса, мало изменить сигнатуру метода - необходимо пройти по всему коду программы и модифицировать все вызовы данного метода. Изменение тривиальное, но требует активного "копипастинга".

Спрос рождает предложение, и в последние годы производители средств разработки стали внедрять в свои программные продукты средства, автоматизирующие и упрощающие проведение рефакторинга. Среда Visual Studio впервые обзавелась такими средствами в версии VS2005. Разработчики, использующие C# и J#, получили в свое распоряжение следующий набор инструментов:

Rename - переименование имени переменной, метода, класса и т.п. с автоматическим обновлением всех ссылок на это имя в коде;

Extract method - оформление выделенной части кода в новый, отдельный метод;

Encapsulate field - создание свойства, скрывающего выбранную переменную-член класса;

Extract interface - создание интерфейса на основе списка методов класса;

Promote local variable to parameter - вынесение локальной переменной в параметр метода;

Remove/Reorder parameters - удаление параметров метода и изменение порядка их следования с автоматическим обновлением всех ссылок в коде на данный метод.

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

отсутствие поддержки C++ и VB (в VS2008 ее все так же нет);

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

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

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]