Материал: LS-Sb89574

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

по видам могут быть разделены один от другого с использованием строковой матрицы видов – species (150 × 1)

setosa_indices = strcmp('setosa',species);

setosa = meas(setosa_indices,:);

Результирующая переменная setosa представляет собой матрицу (50 × 4) 50 наблюдений 4 измеренных переменных для ирисов setosa. Чтобы получить и отобразить первые 5 наблюдений данных по setosa, используем поясняющее индексирование:

SetosaObs = setosa(1:5,:)

SetosaObs =

5.1000 3.5000 1.4000 0.2000

4.9000 3.0000 1.4000 0.2000

4.7000 3.2000 1.3000 0.2000

4.6000 3.1000 1.5000 0.2000

5.0000 3.6000 1.4000 0.2000

Эти данные организованы в таблицу с подразумеваемыми названиями колонок «Длина чашелистика», «Ширина чашелистика», «Длина лепестка» и «Ширина лепестка». Подразумеваемые названия строк – это «Наблюдение 1», «Наблюдение 2», «Наблюдение 3» и т. д.

Аналогично, по 50 наблюдений по ирисам разноцветным – versicolor, и ирисам виргинским – virginica, могут быть выделены из контейнерной переменной измерений (meas):

versicolor_indices = strcmp('versicolor',species); versicolor = meas(versicolor_indices,:);

virginica_indices = strcmp('virginica',species); virginica = meas(virginica_indices,:);

Так как множества данных для этих трех видов имеют один и тот же размер, они могут быть переформатированы в один многомерный массив iris с размерностью 50 × 4 × 3.

iris = cat(3,setosa,versicolor,virginica);

Полученный массив iris по ирисам представляет собой трехслойную таблицу с одинаковыми подразумеваемыми заголовками строк и столбцов:

массивы setosa, versicolor и virginica. Вдоль третьей размерности – подразумеваемые имена слоев «Setosa», «Versicolor» и «Virginica». Чтобы получить и отобразить данные в многомерном массиве, надо использовать

6

поясняющую индексацию, как и для двумерных массивов. Получим первые 5 наблюдений признака длина лепестка (sepal lengths) в данных по setosa:

SetosaSL = iris(1:5,1,1)

SetosaSL =

5.1000

4.9000

4.7000

4.6000

5.0000

Многомерные массивы обеспечивают естественный путь к организации числовых данных, для которых наблюдения или конструкции экспериментов имеют много размерностей. Если бы, например, данные со структурой ирисов были бы собраны многими наблюдателями в множестве мест в множестве разных дат, то полные данные могли бы быть организованы в единственный многомерный массив с размерностями для «Наблюдатель», «Местоположение» и «Дата». Подобно этому экспериментальный план для m наблюдений и n p-мерных переменных может быть запомнен как массив m × n × p.

Задание

1.Освоить генерацию и ввод матриц данных в системе MATLAB. Освоить способы расчета статистических параметров массива данных.

2.Освоить основы расчета статистической связи между массивами

данных.

Порядок выполнения работы

1.Запустите систему MATLAB. В главном окне (в поле Current Directory, расположенном в верхнем правом углу) установите путь к рабочей папке.

2.Создайте 2 массива из 10 случайных чисел каждый по нормальному закону с параметрами, представленными в табл. 1.2

Таблица 1.2

Массив

V1

V2

V3

V4

V5

V6

V7

V8

V9

V10

1

m = 2

m = 3

m = 4

m = 5

m = 6

m = 3

m = 5

m = 6

m = 7

m = 8

 

σ = 1

σ = 1

σ = 1

σ = 2

σ = 2

σ = 2

σ = 1

σ = 1

σ = 2

σ = 3

2

m = 6

m = 8

m = 7

m = 2

m = 2

m = 7

m = 2

m = 7

m = 3

m = 4

 

σ = 2

σ = 4

σ = 3

σ = 1

σ = 1

σ = 4

σ = 1

σ = 1

σ = 2

σ = 2

3.Вычислите выборочные оценки среднего значения и среднеквадратического отклонения каждого массива.

4.Вычислите коэффициент корреляции между вашими двумя массивами.

7

5. Вычислите выборочные статистические параметры двух первых признаков ирисов «Setosa» и коэффициент корреляции между ними.

Содержание отчета

1.Название, цель и задачи работы.

2.Тексты программ, которые требовалось сохранять в ходе выполнения

работы.

3.Объяснение полученных результатов и выводы.

2. СРАВНЕНИЕ ОДНОМЕРНЫХ ДАННЫХ

Цель работы: получение навыков сравнения одномерных данных в си-

стеме MATLAB.

Основные положения

Визуально близость и различие двух и более групп одномерных данных можно оценить с помощью графиков (plot), гистограмм (hist) и коробочко-

вых диаграмм (boxplot).

Гистограммы

Функция n = hist(Y) разбивает элементы вектора Y на 10 одинаковых и равномерно распределенных интервалов и возвращает число элементов, попавших в каждый интервал в виде вектора-строки. Функция n = hist(Y,x), где x

вектор, возвращает распределение Y по ячейкам переменной x, причем центры этих ячеек равны значениям переменной x. Функция hist показывает распреде-

ление элементов Y в виде гистограммы с одинаковыми и равномерно распреде-

ленными ячейками между минимальным и максимальным значениями Y.

00

 

 

 

 

 

 

3000

 

 

 

 

 

 

2500

 

 

 

 

 

 

2000

 

 

 

 

 

 

hist(yn)

 

 

 

 

 

 

(yn)

 

 

 

 

 

 

1500

 

 

 

 

 

 

hist

 

 

 

 

 

 

1000

 

 

 

 

 

 

500

 

 

 

 

 

 

00

-3

-

-1

 

 

yn5

-4

0 1 2

3 4

–4 –3 –2

–1

x

 

 

 

Рис. 2.1

 

 

 

30000

 

 

 

 

 

 

 

 

 

 

 

25000

 

 

 

 

 

 

 

 

 

 

 

20000

 

 

 

 

 

 

 

 

 

 

hist(yn)

(yn)

 

 

 

 

 

 

 

 

 

 

15000

 

 

 

 

 

 

 

 

 

 

hist

 

 

 

 

 

 

 

 

 

 

 

10000

 

 

 

 

 

 

 

 

 

 

 

5000

 

 

 

 

 

 

 

 

 

 

 

001

2

3

4

5

 

6

7

8

9

10

 

1

2

3

4

5

x

6

7

8

9

ynx

 

 

 

 

 

Рис. 2.2

 

 

 

 

8

Пример 2.1

Выражение

yn = randn(10000,1); hist(yn)

генерирует 10 000 случайных чисел и создает гистограмму с 10 ячейками,

распределенными вдоль оси x между минимальным и максимальным значе-

ниями yn, как показано на рис. 2.1.

Если нужно отредактировать график то, используя plot, вместо последней строки нужно написать:

plot (hist(yn))

В этом случае можно получить сплошной график, как на рис. 2.2.

Пример 2.2

Сравним два вида ирисов (setosa и versicolor) по первому признаку c помощью их гистограмм (рис. 2.3):

load fisheriris

setosa_indices = strcmp('setosa',species);

S = meas(setosa_indices,:); % Результирующая переменная S

%представляет собой матрицу (50 х 4) 50 наблюдений 4 измеренных

%признаков для ирисов setosa.

versicolor_indices = strcmp('versicolor',species);

V = meas(versicolor_indices,:); % Результирующая переменная V

%представляет собой матрицу (50 х 4) 50 наблюдений

%4 измеренных признаков для ирисов versicolor. s1=S(:,1); % Первый столбец (признак) переменной S. v1=V(:,1); % Первый столбец (признак) переменной V.

s1v1=[s1 v1]% Объединение двух матриц в виде двух столбцов.

 

20

 

 

 

 

 

 

 

 

 

 

18

 

 

 

 

 

 

 

 

20

 

 

 

 

 

 

 

 

 

 

 

16

 

 

 

 

 

 

 

 

18

 

 

 

 

 

 

 

 

 

 

 

14

 

 

 

 

 

 

 

 

16

 

 

 

 

 

 

 

 

 

14

t)

 

 

 

 

 

 

 

 

 

12

 

 

 

 

 

 

 

 

 

hist (s1v1,

 

 

 

 

 

 

 

 

12

 

 

 

 

 

 

 

 

s1v1h

10

 

 

 

 

 

 

 

10

 

 

 

 

 

 

 

 

8

 

 

 

 

 

 

 

8

 

 

 

 

 

 

 

 

 

 

 

6

 

 

 

 

 

 

 

 

6

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

4

 

2

 

 

 

 

 

 

 

 

2

 

0

4

4.5

5

5.5

6

6.5

7

7.5

0

 

3.5

 

 

 

 

 

 

t

 

 

 

 

 

 

 

 

 

Рис. 2.3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

9

 

4

4.5

5

5.5

6

6.5

7

 

 

 

t

 

 

 

 

 

 

Рис. 2.4

 

 

 

svmax=max(s1v1);

svmin=min(s1v1);

t=4:0.25:7 % Назначение последовательности t, которая

% устанавливает центры ячеек для построения гистограмм. hist(s1v1,t)% Построение гистограмм

Для получения линейного графика (рис. 2.4) вместо последней строки надо написать:

s1v1h=hist(s1v1,t) % Формирование гистограммы plot(t,s1v1h) % построение графика гистограммы

Коробочковая диаграмма

Коробочковая диаграмма (boxplot) – способ представления выборки в виде одной или нескольких коробочек с рисками (усами).

boxplot(X) выдает график, состоящий из прямоугольных коробочек и ри-

сок для каждого столбца матрицы Х. Коробочка имеет линии на значениях нижнего квартиля, медиане и верхнего квартиля. Риски представляют собой линии, расположенные за концами прямоугольника и показывающие основное распространение остальных данных. Выбросы – это данные, имеющие значения за пределами концов рисок. Если за пределами рисок данных нет, то на нижней риске ставится точка.

boxplot(x,G) выдает график, состоящий из прямоугольных коробочек и рисок для вектора х, образующего группы посредством G – переменной группировки, определенной как вектор, строковая матрица или матрица строк.

boxplot(...,'Param1', val1, 'Param2', val2,...) задает дополни-

тельные (необязательные) пары имя/значение параметра. В табл. 2.1 описаны некоторые параметры и их значения.

 

Таблица 2.1

 

 

Наименование параметра

Значения параметра

'notch'

'on'для включения зазубрин (по умолчанию 'off')

'whisker'

Максимальная длина риски в единицах межквартильного

размаха (по умолчанию 1,5)

 

 

Буквенный массив или матрица строк, содержащие

'labels'

обозначения столбцов (если Х – матрица, то обозначения

 

по умолчанию – это номер столбца)

На графике с зазубринами зазубрины представляют робастную оценку неопределенности по поводу медиан при сравнении коробочек друг с другом. Коробочки, зазубрины которых не пересекаются (не накладываются), указывают, что медианы данных двух групп отличаются при уровне значимости 5 %.

10