L_3_Статистическая обработка данных в системе MatLab


Лабораторная работа №3. Статистическая обработка данных в системе MatLab
Общая постановка задачи
Основной целью выполнения лабораторной работы является ознакомление с основами работы со статистической обработкой данных в среде MatLAB.
Теоретическая часть
Первичная статистическая обработка данных
Статистическая обработка данных основывается на первичных и вторичных количественных методах. Цель первичной обработки статистических данных является структурирование полученных сведений, подразумевающее группировку данных в сводные таблицы по различным параметрам. Первичные данных должны быть представлены в таком формате, чтобы человек смог провести приближенную оценку полученной совокупности данных и выявить информацию о распределении данных полученной выборки данных, например, однородность или компактность данных. После первичного анализа данных применяются методы вторичной статистической обработки данных, на основании которых определяются статистические закономерности в имеющемся наборе данных.
Проведение первичного статистического анализа над массивом данных позволяет получить знания о следующем:
- Какое значение наиболее характерно для выборки? Для ответа на данный вопрос определяются меры центральной тенденции.
- Велик ли разброс данных относительно этого характерного значения, т. е. какова «размытость» данных? В данном случае определяются меры изменчивости.
Стоит отметить тот факт, что статистические показатели меры центральной тенденции и изменчивости определяются только на количественных данных.
Меры центральной тенденции – группа величин, вокруг которых группируются остальные данные. Таким образом, меры центральной тенденции обобщают массив данных, что делает возможным формирование умозаключений как о выборке в целом, так и проведение сравнительного анализа разных выборок друг с другом.
Допустим имеется выборка данных , тогда меры центральной тенденции оцениваются следующими показателями:
1. Выборочное среднее – это результат деления суммы всех значений выборки на их количество. Определяется по формуле (3.1).
(3.1)
где - i-й элемент выборки;
n – количество элементов выборки.
Выборочное среднее позволяет получить наибольшую точность в процессе оценки центральной тенденции.
Допустим имеется выборка из 20 человек. Элементами выборки являются сведения о среднем ежемесячном доходе каждого человека. Предположим, что 19 человек имеют средний ежемесячный доход в 20 т.р. и 1 человек с доходом в 300 т.р. Суммарный ежемесячный доход всей выборки составляет 680 т.р. Выборочное среднее в данном случае S=34.
2. Медиана – формирует значение, выше и ниже которого количество отличающихся значений одинаково, т. е. это центральное значение в последовательном ряду данных. Определяется в зависимости четности/нечетности количества элементов выборке по формулам (3.2) или (3.3). Алгоритм оценки медианы для выборки данных :
- Первым делом данные ранжируются (упорядочиваются) по убыванию/возрастанию .
- Если в упорядоченной выборке нечетное число элементов, то медиана совпадает с центральным значением.
(3.2)
где n - количество элементов выборки.
- В случае четного числа элементов медиана определяется как как среднее арифметическое двух центральных значений.
(3.3)
где - средний элемент упорядоченной выборки;
- элемент упорядоченной выборки следующий за ;
- количество элементов выборки.
- В том случае, если все элементы выборки различны, то ровно половина элементов выборки больше медианы, а другая половина меньше. Например, для выборки {1, 5, 9, 15, 16} медиана совпадает с элементом 9.
В статистическом анализе данных медиана позволяет определить элементы выборки, которые сильно влияют на значение выборочного среднего.
Допустим имеется выборка из 20 человек. Элементами выборки являются сведения о среднем ежемесячном доходе каждого человека. Предположим, что 19 человек имеют средний ежемесячный доход в 20 т.р. и 1 человек с доходом в 300 т.р. Суммарный ежемесячный доход всей выборки составляет 680 т.р. Медиана, после упорядочивания выборки, определяется как среднеарифметическое десятого и одиннадцатого элементов выборки) и равняется Ме=20 т.р. Данный результат интерпретируется следующим образом: медиана делит выборку на две группу, таким образом, что можно сделать заключение о том, что в первой группе у каждого человека средний ежемесячный доход не более 20 т.р., а во второй группе не менее 20 т.р. В данном примере можно говорить о том, что медиана характеризуется тем, сколько зарабатывает «средний» человек. В то время как значение выборочного среднего значительно превышено S=34, что указывает на неприемлемость данной характеристики при оценке среднего заработка.
Таким образом, чем больше различие между медианой и выборочным средним, тем больший разброс данных выборки (в рассмотренном примере, человек с заработком в 300 т.р. явно отличается от среднестатистических людей конкретной выборки и оказывает существенное влияние на оценку среднего дохода). Что делать с подобными элементами решается в каждом индивидуальном случае. Но в общем случае для обеспечения достоверности выборки они изымаются, так как оказывают сильное влияние на оценку статистических показателей.
3. Мода (Мо) – формирует значение, наиболее часто встречающееся в выборке, т. е. значение с наибольшей частотой. Алгоритм оценки моды:
- В том случае, когда выборка содержит элементы, встречающиеся одинаково часто, то говорят, что мода в подобной выборке отсутствует.
- Если два соседних элемента выборки имеют одинаковую частоту, являющуюся больше частоты остальных элементов выборки, то мода определяется как среднее этих двух значений.
- Если два элемента выборки имеют одинаковую частоту, являющуюся больше частоты остальных элементов выборки, и при этом данные элементы не являются соседними, то говорят, что в данной выборке две моды.
Мода в статистическом анализе используется в ситуациях, когда необходимо проведение быстрой оценки меры центральной тенденции и не требуется высокая точность. Например, моду (по показателю размер либо бренд) удобно применять для определения одежды и обуви, которая пользуется наибольшим спросом у покупателей.
Меры разброса (изменчивости) – группа статистических показателей, характеризующих различия между отдельными значениями выборки. Основываясь на показателях мер разброса можно оценивать степень однородности и компактности элементов выборки. Меры разброса, характеризуются следующим набором показателей:
1. Размах - это интервал между максимальным и минимальным значениями результатов наблюдений (элементов выборки). Показатель размаха указывает на разброс значений в совокупности данных. Если размах большой, то значения в совокупности сильно разбросаны, в противном случае (размах небольшой) говорится о том, что значения в совокупности лежат близко друг к другу. Размах определяется по формуле (3.4).
(3.4)
Где - максимальный элемент выборки;
- минимальный элемент выборки.
2. Среднее отклонение – среднеарифметическая разница (по абсолютной величине) между каждым значением в выборке и ее выборочным средним. Среднее отклонение определяется по формуле (3.5).
(3.5)
где - i-й элемент выборки;
- значение выборочного среднего, рассчитанное по формуле (3.1);
- количество элементов выборки.
Модуль необходим в связи с тем, что отклонения от среднего по каждому конкретному элементу могут быть как положительными так и отрицательными. Следовательно, если не взять модуль, то сумма всех отклонений будет близка к нулю и невозможно будет судить о степени изменчивости данных (скученности данных вокруг выборочного среднего). При проведении статистического анализа могут быть взяты мода и медиана вместо выборочного среднего.
3. Дисперсия — мера рассеяния, описывающая сравнительное отклонение между значениями данных и средней величиной. Вычисляется как сумма квадратов отклонений каждого элемента выборки от средней величины. В зависимости от размера выборки дисперсия оценивается разными способами:
- для больших выборок (n>30) по формуле (3.6)
(3.6)
- для малых выборок (n<30) по формуле (3.7)
(3.7)
где Xi — i-й элемент выборки;
S – среднее значение выборки;
- количество элементов выборки;
(Xi – S) — отклонение от средней величины для каждого значения набора данных.
4. Стандартное отклонение — мера того, насколько широко разбросаны точки данных относительно их среднего.
Процесс возведения в квадрат отдельных отклонений при вычислении дисперсии усиливает степень отклонения полученной величины отклонения от первоначальных отклонений, что в свою очередь вносит дополнительные погрешности. Таким образом, с целью приближения оценки разброса точек данных относительно их среднего к значению среднего отклонения, из дисперсии извлекают квадратный корень. Извлеченный корень из дисперсии характеризует меру изменчивости, именуемую среднеквадратическим или стандартным отклонением (3.8).
(3.8)
Допустим вы руководитель проекта по разработке программного обеспечения. У вас в подчинении пять программистов. Управляя процессом выполнения проекта, вы распределяете задания между программистами. Для простоты примера будем исходить из того факта, что задания равнозначны по сложности и времени выполнения. Вы решили проанализировать работу каждого программиста (число выполненных заданий в течении недели) за последние 10 недель, в результате чего вами получены следующие выборки:
НеделяФИО 1 2 3 4 5 6 7 8 9 10
1 20 25 19 22 25 23 21 22 24 22
2 22 23 23 25 19 25 25 19 22 21
3 18 20 25 26 20 27 19 20 22 25
4 24 22 23 24 23 19 20 22 23 21
5 15 20 23 11 25 30 20 20 26 35
Проведя оценку среднего числа выполненных задач, вы получили следующий результат:
НеделяФИО 1 2 3 4 5 6 7 8 9 10 S
1 20 25 19 22 25 23 21 22 24 22 22,3
2 22 23 23 25 19 25 25 19 22 21 22,4
3 18 20 25 26 20 27 19 20 22 25 22,2
4 24 22 23 24 23 19 20 22 23 21 22,1
5 15 20 23 11 25 30 20 20 26 35 22,5
Исходя из показателя S все программисты в среднем работают с одинаковой эффективностью (около 22 заданий в неделю). Однако, показатель вариабельности (размах) очень высок (от 5 заданий четвертого программиста до 24 заданий у пятого).
НеделяФИО 1 2 3 4 5 6 7 8 9 10 S P
1 20 25 19 22 25 23 21 22 24 22 22,3 6
2 22 23 23 25 19 25 25 19 22 21 22,4 6
3 18 20 25 26 20 27 19 20 22 25 22,2 9
4 24 22 23 24 23 19 20 22 23 21 22,1 5
5 15 20 23 11 25 30 20 20 26 35 22,5 24
Оценим стандартное отклонение, показывающее как распределены значения в выборках относительно среднего, а именно в нашем случае оценить на сколько велик разброс выполнения заданий от недели к неделе.
НеделяФИО 1 2 3 4 5 6 7 8 9 10 S P SO
1 20 25 19 22 25 23 21 22 24 22 22,3 6 1,56
2 22 23 23 25 19 25 25 19 22 21 22,4 6 1,8
3 18 20 25 26 20 27 19 20 22 25 22,2 9 2,84
4 24 22 23 24 23 19 20 22 23 21 22,1 5 1,3
5 15 20 23 11 25 30 20 20 26 35 22,5 24 5,3
Полученная оценка стандартного отклонения говорит о следующем (оценим два крайних случая 4 и 5 программисты):
- Каждое значение в выборке 4 программиста в среднем отклоняется на 1,3 задания от среднего значения.
- Каждое значение в выборке 5 программиста в среднем отклоняется на 5,3 задания от среднего значения.
Чем ближе стандартное отклонение к 0, тем надежнее среднее, так как это указывает на то, что каждое значение выборки практически равно среднему (в нашем примере это 22,5 задания). Следовательно, 4 программист наиболее последователен в отличии от 5-го. Вариабельность выполнения заданий от недели к неделе 5-го программиста составляет 5,3 задания, что говорит о значительном разбросе. В случае с 5-м программистом нельзя доверять среднему, а, следовательно, трудно спрогнозировать число выполненных заданий на следующую неделю, что в свою очередь затрудняет процедуру планирования и соблюдения графиков выполнения работ. Какое управленческое решение вы примете в данном курсе неважно. Важно, что вы получили оценку, на основании которой можно принять соответствующие управленческие решения.
Таким образом, можно сделать общий вывод, говорящий о том, что среднее значение не всегда правильно оценивает данные. Об корректности оценки среднего можно судить по значению стандартного отклонения.
Функции MatLab для первичной обработки статистических данных
В MatLab для первичной обработки данных удобно использовать массивы и функции их обработки:
- mах(А) — возвращает наибольший элемент массива, если А одномерный массив (вектор). Если А матрица, то функция mах(А) возвращает вектор-строку, содержащую максимальные элементы каждого столбца.
>> a=[2 5 7;3 9 6;8 5 4]
max(a)
a =
2 5 7
3 9 6
8 5 4
ans =
8 9 7
- mах(А,В) — возвращает массив того же размера, что А и В, каждый элемент которого есть максимальный из соответствующих элементов этих массивов.
>> a=[2 5 7;3 9 6;8 5 4]
b=[3 5 9;1 7 3;6 8 2]
max(a,b)
a =
2 5 7
3 9 6
8 5 4
b =
3 5 9
1 7 3
6 8 2
ans =
3 5 9
3 9 6
8 8 4
- max(A,[ ],dim) — возвращает наибольшие элементы по столбцам или по строкам матрицы в зависимости от значения скаляра dim (dim=l по столбцам и dim=2 по строкам соответственно). Например, mах(А,[ ],1) возвращает максимальные элементы каждого столбца матрицы А.
- [C,I] =max(A) — кроме максимальных значений возвращает вектор индексов I этих элементов.
>> a=[2 5 7;3 9 6;8 5 4]
[C,I] =max(a)
a =
2 5 7
3 9 6
8 5 4
C =
8 9 7
I =
3 2 1
- min(A) — возвращает минимальный элемент, если А — вектор; или возвращает вектор-строку, содержащую минимальные элементы каждого столбца, если А — матрица.
- min(A,B) — возвращает массив того же размера, что А и В, каждый элемент которого есть минимальный из соответствующих элементов этих массивов.
- min(A,[ ],dim) — возвращает наименьший элемент по столбцам или по строкам матрицы в зависимости от значения скаляра dim (dim=l по столбцам и dim=2 по строкам соответственно).
- [C,I] = min(A) — кроме минимальных значений возвращает вектор индексов этих элементов.
- mean (А) — возвращает арифметическое среднее значение элементов массива, если А — вектор; или возвращает вектор-строку, содержащую средние значения элементов каждого столбца, если А — матрица.
- mean(A,dim) — возвращает среднее значение элементов по столбцам или по строкам матрицы в зависимости от значения скаляра dim (dim=l по столбцам и dim=2 по строкам соответственно).
>> A=[5 9 2; 8 4 7; 12 4 1]
S=mean(A)
A =
5 9 2
8 4 7
12 4 1
S =
8.3333 5.6667 3.33338
- median (A) — возвращает медиану, если А — вектор; или вектор-строку медиан для каждого столбца, если А — матрица.
- median(A,dim) — возвращает значения медиан для столбцов или строк матрицы в зависимости от значения скаляра dim.
Пример:
>> a=[5 9 2; 8 4 7; 12 4 1]
Me=median(a)
Me=median(a,2)
a =
5 9 2
8 4 7
12 4 1
Me =
8 4 2
Me =
5
7
4
- std(X) — возвращает стандартное отклонение элементов массива, если X — вектор. Если X — матрица, то std(X) возвращает вектор-строку, содержащую стандартное отклонение элементов каждого столбца (обратите внимание, что оно отличается от среднеквадратического отклонения).
- std(X.flag) — возвращает то же значение, что и std(X), если flag=0; если flag=l, функция std(X.l) возвращает среднеквадратическое отклонение (квадратный корень из несмещенной дисперсии).
- std(X.flag.dim) — возвращает стандартное или среднеквадратическое отклонения по рядам (dim=2) или по столбцам(dim=1) матрицы X в зависимости от значения переменной dim.
>> a=[5 9 2; 8 4 7; 12 4 1]
SO= std(a)
a =
5 9 2
8 4 7
12 4 1
SO =
3.5119 2.8868 3.2146
- sort (А) — в случае одномерного массива А сортирует и возвращает элементы по возрастанию их значений; в случае двумерного массива происходит сортировка и возврат элементов каждого столбца. Допустимы вещественные, комплексные и строковые элементы. Если А принимает комплексные значения, то элементы сначала сортируются по абсолютному значению, а затем, если абсолютные значения равны, по аргументу. Если А включает NaN-элементы, sort помещает их в конец.
- [В, INDEX] = sort(A) — наряду с отсортированным массивом возвращает массив индексов INDEX. Он имеет размер size(A), с помощью этого массива можно восстановить структуру исходного массива.
>> A=magic(4)
[B,INDEX]=sort(A)
A =
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
B =
4 2 3 1
5 7 6 8
9 11 10 12
16 14 15 13
INDEX =
4 1 1 4
2 3 3 2
3 2 2 3
1 4 4 1
- sort(A,dim) — для матриц сортирует элементы по столбцам (dim=l) или по рядам в зависимости от значения переменной dim.
- sortrows(A) — выполняет сортировку рядов массива А по возрастанию и возвращает отсортированный массив, который может быть или матрицей, или вектором-столбцом.
- sortrows(A,column) — возвращает матрицу, отсортированную по столбцам, точно указанным в векторе column. Например, sortrows(A,[2 3]) сортирует строки матрицы А сначала по второму столбцу, и затем, если его элементы равны, по третьему.
- [В, index] = sortrows (А) — также возвращает вектор индексов index. Если А — вектор-столбец, то B=A(index). Если А — матрица размера m*n, то B=A(index.:).
- cplxpair(A.[],dim) — сортирует матрицу А по строкам или по столбцам в зависимости от значения параметра dim.
Выполнение работы
Вне зависимости от варианта необходимо рассчитать и дать словесную оценку мерам центральной тенденции и мерам разброса!!!
1. Дан массив целых чисел X=(x1,x2,...,xn). Сформировать массив Y=(y1,y2,...,ym), поместив в него в порядке убывания все различные (неповторяющиеся) числа, входящие в массив X. Определить, насколько отличаются средние арифметические значения элементов массивов X и Y.
2. Массив Х=(x1,x2,...,xn) содержит большое количество нулевых элементов. Определить положение и размер наиболее длинной серии таких элементов и удалить ее из состава массива.
3. Заданы два массива X=(x1,x2,...,xn) и Y = (y1,y2,...,ym), в состав которых входят натуральные числа, причем в каждом из этих массивов нет повторяющихся элементов. Сформировать массив Z, включив в него все элементы, которые одновременно содержатся в массиве X и массиве Y.
4. Задан целочисленный массив X=(x1,x2,...,xn), в котором могут быть одинаковые числа. Найти максимальный и минимальный элементы среди неповторяющихся чисел и обменять их местами. Учесть частный случай, когда в массиве нет неповторяющихся чисел.
5. Из массива целых положительных чисел X=(x1,x2,...,xn) удалить все четные по значению элементы, кроме последнего, после чего оставшиеся числа расположить в порядке возрастания. Учесть частные случаи (в массиве нет четных элементов, имеется только один четный элемент, все элементы — четные). Буферный массив не использовать.
6. Задан целочисленный массив X = (x1,x2,...,xn). Если в этом массиве имеются пары одинаковых, но противоположных по знаку элементов, то обменять их местами при условии, что в массиве больше нет равных им элементов. Например, в массиве (1 8 14 12 -8 -7 6 8 -14 -7 12 4) нужно обменять местами элементы 14 и -14.
7. В массиве X=(x1,x2,...,xn) переставить местами первый и второй отрицательные элементы, третий и четвертый отрицательные элементы и т.д. Если количество отрицательных элементов в массиве меньше двух, преобразование массива не производить. Определить, как изменилось положение минимального и максимального элементов массива Х при его преобразовании.
8. Найти максимальное и минимальное из чисел, встречающихся в целочисленном массиве X=(x1,x2,...,xn) более одного раза, и обменять их местами. Просмотр массива X выполнять только один раз.
9. Определить наибольший общий делитель всех чисел, содержащихся в заданной последовательности целых положительных чисел.
10. Элементы массива X = (x1,x2,...,xn) — это последовательность цифр целого числа, записанного в системе счисления с основанием q, 1 < q <= 10, 0 <= x[i] < q. Переставить цифры числа в обратном порядке и отпечатать десятичное значение этого числа до и после перестановки. Значение q — входной параметр функции.
11. Известно, что в целочисленном массиве X=(x1,x2,...,xn) три и только три числа равны между собой. Найти эти числа и переместить их в начало массива, сдвинув остальные числа к концу этого массива.
12. За однократный просмотр массива найти его максимальный положительный элемент Xmax и определить среднее арифметическое значение всех элементов массива, за исключением элементов, равных Xmax. Указание. В программе должны быть учтены частные случаи, в том числе
- в массиве нет положительных элементов;
- все элементы массива положительны и равны друг другу.
13. В целочисленном массиве X=(x1,x2,...,xn) каждую пару x[i] и x[j] (i,j=1,...,n, i<>j) нечетных элементов преобразовать в четные элементы по формулам: x[i]:=x[i]+1, x[j]:=x[j]-1. Пары элементов i,j выбирать в порядке их следования в массиве X. Определить, как при этом изменились максимальный и минимальный элементы массива X.
14. В заданном массиве целых чисел X=(x1,x2,...,xn) найти самый длинный подмассив, который является арифметической прогрессией.
15. По заданному целочисленному массиву X=(x1,x2,...,xn) сформировать массив Y=(y1,...,ym) такой, что y[i] — это количество элементов из X, не превосходящих x[i] на конечном отрезке X от элемента i+1 до элемента n.

Приложенные файлы

  • docx 4221841
    Размер файла: 60 kB Загрузок: 0

Добавить комментарий