Скачиваний:
8
Добавлен:
13.06.2019
Размер:
337.21 Кб
Скачать

МИНОБРНАУКИ РОССИИ

Санкт-Петербургский государственный

электротехнический университет

«ЛЭТИ» им. В.И. Ульянова (Ленина)

Кафедра АМ

Проектная работа

по дисциплине «Теория вероятности и математическая статистика»

Тема: Обработка статистических данных в среде Matlab

Студент гр. 7501

Исаков А.О.

Преподаватель

Болотов М.А.

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

2019

Задание на проектную работу

  1. Загрузить массив данных и меток класса в соответствии с номером варианта вашей группы.

  2. Удалить выбросы в данных, руководствуясь правилом 3S

  3. Выравнивание выборок по каждому классу

  4. Разбить массив на 2 выборки – обучающую и тестовую (80% и 20% от общего числа элементов соответственно) так, чтобы внутри каждой оказалось равное количество элементов каждого класса.

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

6.1. Применение Метода Главных Компонент (МГК)

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

6.2. Визуально разделимые признаки

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

7. Построение линейной регрессии

8. Проверить гипотезу о гетероскедастичности остатков.

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

Содержание

Задание………………………………………………………………..

2

1.

Загрузка данных……………………………………………………...

4

2.

Удаление выбросов………………………………………………….

4

3.

Выравнивание выборок…………………………………………….

4

4.

Нормализация……………………………………………………….

6

5.

Применение МГК……………………………………………………

6

6.

Визуальное разделение признаков………………………………….

7

7.

Построение линейной регрессии…………………………………...

8

8.

Проверка гипотезы о гетероскедастичности остатков……………

10

9.

Вывод………………………………………………………………..

13

  1. Загрузка исходных данных

Из исходного .MAT-файла загружаем данные:

load('Xs.mat');

load('Ys.mat');

X=Xs.var5;

Y=Ys.var5;

clear Xs Ys

Присваиваем переменной «Х» значения таблица 2000 х 16, где столбцы (16) – параметры (атрибуты) данных, столбцы (2000) – соответствующие значения.

  1. Удаление выбросов

Для удаления выбросов используется правило Трех Сигм (S). Необходимо высчитать СКО каждого столбца данных (признака) и проанализировать каждый столбец на пример того, присутствуют ли там значения, превышающие по модулю модуль 3S. (|X[i,j]|>=|3S|). Если такие значения присутствуют в столбце, то необходимо удалить строку, в которой это значение присутствует.

1.MA=mean(X); % Среднее значение

2.Sigma=std(X); % СКО

3.TSigma=3*Sigma+MA; % Стандартное распределение по правилу 3х сигм

4.[ xrow, ~]=find(X>=TSigma); % Нахождение всех строк с выбросами

5.X(unique(xrow),:)=[]; % Удаление из исходной выборки строк с выбросами

6.Y(unique(xrow),:)=[]; % Удаление флагов данных с выбросами

  1. Выравнивание выборок

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

1. SR = sortrows([X Y], 17) ;

2. DF0=find(Y==0);

3.DF1=find(Y==1);

4. F1=SR(1:length(DF0),end);

5. A=X(1:length(DF0),1:16);

6. F0=SR((length(DF0)+1):(length(DF0)+length(DF1)),end);

7. B=X((length(DF0)+1):(length(DF0)+length(DF1)),1:16);

8. R=length(DF0)-length(DF1);

9. Alpha = [A F1];

10. Betta = [B F0];

11. if (R~=0)

12. if (R>0)

13. Alpha((length(F0)+1):end,:)=[ ];

14. end

15. if (R<0)

16.Betta((length(F1)+1):end,:)=[ ];

17. end

18. end

19. SortXY = [Alpha;Betta];

20. X=SortXY(1:length(SortXY),1:16);

21. Y=SortXY(1:length(SortXY),end);

Соседние файлы в папке Курсовая 4 сем (Болотов М.А.)