Сделай Сам Свою Работу на 5

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

Нахождение максимального и минимального элементов массива

Самый простой анализ данных, содержащихся в некотором массиве, заключается в поиске его элементов с максимальным и минимальным значениями. В системе MATLAB определены следующие быстрые функции для нахождения минимальных и максимальных элементов массива:

· mах(А) — возвращает наибольший элемент, если А — вектор; или возвращает вектор-строку, содержащую максимальные элементы каждого столбца, если А — матрица, в многомерных массивах работает с первой не единичной размерности;

· mах(А.В) — возвращает массив того же размера, что А и В, каждый элемент которого есть максимальный из соответствующих элементов этих массивов;

· max(A.[ ],dim) — возвращает наибольшие элементы по столбцам или по строкам матрицы в зависимости от значения скаляра dim. Например, тах(А,[ ],1) возвращает максимальные элементы каждого столбца матрицы А;

· [C.I] =max(A) — кроме максимальных значений возвращает вектор индексов I этих элементов.

Примеры:

» A=magic(7)

» С = max(A)

С=

46 47 48 49 43 44 45

» С = max(A.[ ].l)

С =

46 47 48 49 43 44 45

» С = max(A.[ ],2)

С =

»[C,I]=max(A)

C=

49 43 44 45

I=

7 6 5 4

Для быстрого нахождения элемента массива с минимальным значением служит следующая функция:

· min(A) — возвращает минимальный элемент, если А — вектор; или возвращает вектор-строку, содержащую минимальные элементы каждого столбца, если А — матрица;

· min(A.B) — возвращает массив того же размера, что А и В, каждый элемент которого есть минимальный из соответствующих элементов этих массивов;

· min(A,[ ],dim) — возвращает наименьший элемент по столбцам или по строкам матрицы в зависимости от значения скаляра dim. Например, тах(А,[ ],1) возвращает минимальные элементы каждого столбца матрицы А;

· [C,I] = min(A) — кроме минимальных значений возвращает вектор индексов этих элементов.

Пример:

» A=magic(4)

А =

16 2 3 13

5 11 10 8

9 7 6 12

4 14 15 1

» [C.I] = min(A)



C =

4 2 3 1

I =

4 1 1 4

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

Нахождение средних, срединных значений массива и стандартных отклонений

Элементарная статистическая обработка данных в массиве обычно сводится к нахождению их среднего значения, медианы (срединного значения) и стандартного отклонения. Для этого в системе MATLAB определены следующие функции:

· mean (А) — возвращает арифметическое среднее значение элементов массива, если А — вектор; или возвращает вектор-строку, содержащую средние значения элементов каждого столбца, если А — матрица. Арифметическое среднее значение есть сумма элементов массива, деленная на их число;

· mean(A.dim) — возвращает среднее значение элементов по столбцам или по строкам матрицы в зависимости от значения скаляра dim (dim=l по столбцам и dim=2 по строкам соответственно).

Примеры:

» А = [1 2 6 4 8; 6 7 13 5 4; 7 9 0]
А =        
» mean(A)        
ans =        
5.0000 6.0000 6.5000 4.5000 6.5000
»mean(A. 2)      
ans =        
4.2000        
7.0000        
7.2000        
4.4000        

· median (A) — возвращает медиану, если А — вектор; или вектор-строку медиан для каждого столбца, если А — матрица;

· median(A.dim) — возвращает значения медиан для столбцов или строк матрицы в зависимости от значения скаляра dim.

Примеры:

» A=magic(6)

» M=median(A)

М =

19.000018.500018.000019.000018.500018.0000

» M=median(A,2)

М =

21.5000

22.0000

21.0000

16.0000

15.0000

15.5000

· 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.

Примеры:

» X = linspace(0,3*pi,10)

X = Columns 1 through 7

0 1.0472 2.0944 3.1416 4.1888 5.2360 6.2832

Columns 8 through 10

7.3304 8.3776 9.4248

» s = std(X)

s =

3.1705

Функции сортировки элементов массива

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

· sort (А) — в случае одномерного массива А сортирует и возвращает элементы по возрастанию их значений; в случае двумерного массива происходит сортировка и возврат элементов каждого столбца. Допустимы вещественные, комплексные и строковые элементы. Если А принимает комплексные значения, то элементы сначала сортируются по абсолютному значению, а затем, если абсолютные значения равны, по аргументу. Если А включает NaN-элементы, sort помещает их в конец;

· -sort (-А) сортирует и возвращает элементы по убыванию их значений;

· [В. INDEX] = sort(A) — наряду с отсортированным массивом возвращает массив индексов INDEX. Он имеет размер size(A), с помощью этого массива можно восстановить структуру исходного массива.

· sort(A.dim) — для матриц сортирует элементы по столбцам (dim=l) или по рядам в зависимости от значения переменной dim.

Примеры:

» A=magic(5)  
А =          
 
 
б  
 
 
» [В. B= INDEX] sort(A)      
 
 
 
 
 
index=          
 
 
 
 
 

· sortrows(A) — выполняет сортировку рядов массива А по возрастанию и возвращает отсортированный массив, который может быть или матрицей, или вектором-столбцом;

· sortrows(A.column) — возвращает матрицу, отсортированную по столбцам, точно указанным в векторе column. Например, sortrows(A,[2 3]) сортирует строки матрицы А сначала по второму столбцу, и затем, если его элементы равны, по третьему;

· [В, index] = sort rows (А) — также возвращает вектор индексов index. Если А — вектор-столбец, то B=A(index). Если А — матрица размера тхп, то B=A(index.:).

Примеры:

» А=[2 3 5 6 8 9; 5 7 1 2 3 5;1 3 2 1 5 1;5 0 8 8 4 3]

А =

     
    3 5  
    7 1  
    3 2 5  
    0 8  
  » В= sortrows(A)        
  в =         1-й столбец сортируется по возрастанию, при этом идет перестановка соотв. строк
    3 2 5 строка,у которой 1 в 1-м столбце
    3 5 3 строка,у которой 2 в 1-м столбце
    0 8 строка,у которой 5 в 1-м столбце
    7 1 строка,у которой 5 в 1-м столбце
               

» b = sortrows(A.3) %3-й столбец сортируется по возрастанию,при этом идет перестановка соотв. строк
b=

· cplxpair(A) — сортирует элементы по строкам или столбцам комплексного массива А, группируя вместе комплексно сопряженные пары. Затем найденные пары сортируются по возрастанию действительной части. Внутри пары элемент с отрицательной мнимой частью является первым. Действительные элементы следуют за комплексными парами. Заданный по умолчанию порог 100*eps относительно abs(A(i))) определяет, какие числа являются действительными и какие элементы являются комплексно сопряженными. Если А — вектор, cpl xpair (А) возвращает А вместе с комплексно сопряженными парами. Если А — матрица, cpl xpai r(А) возвращает матрицу А с комплексно сопряженными парами, сортированную по столбцам;

· cplxpalr(A,tol) — отменяет заданный по умолчанию порог и задает новый tol;

· cplxpair(A.[].dim) — сортирует матрицу А по строкам или по столбцам в зависимости от значения параметра dim;

· cplxpair(A,tol ,dim) — сортирует матрицу А по строкам или по столбцам в зависимости от значения параметра dim, используя заданный порог tol.

Пример:

» А=[23+121.34-31.45:23-121.-12.21:-3.34+31.-21]

А =

23.0000 + 12.00001 34.0000 - 3.00001 45.0000

23.0000 - 12.00001 -12.0000 0 + 2.00001

-3.0000 34.0000 + 3.00001 0 - 2.00001

» cplxpair(A)

ans =

23.0000 - 12.00001 34.0000 - 3.00001 0 - 2.00001

23.0000 + 12.00001 34.0000 + 3.00001 0 + 2.00001

-3.0000 -12.0000 45.0000

 

Вычисление коэффициентов корреляции

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

· corrcoef(X) — возвращает матрицу коэффициентов корреляции для входной матрицы, строки которой рассматриваются как наблюдения, а столбцы — как переменные. Матрица S=corrcoef(X) связана с матрицей ковариаций C=cov(X) следующим соотношением: S(i.j)=C(i.j)/sqrt(C(i.i)C(j.j));

· Функция S = corrcoef (х,у), где х и у — векторы-столбцы, аналогична функции соггсоеЩх у]). Пример:

» M=magic(5)  
M =          
 
 
 
 
 

» S=corrcoef(M)

S =

1.0000 0.0856 -0.5455 -0.3210 -0.0238

0.0856 1.0000 -0.0981 -0.6731 -0.3210

-0.5455 -0.0981 1.0000 -0.0981 -0.5455

-0.3210 -0.6731 -0.0981 1.0000 0.0856

-0.0238 -0.3210 -0.5455 0.0856 1.0000

В целом, корреляция данных довольно низкая. В данных, расположенных по диагонали — здесь коэффициенты корреляции равны 1, — вычисляется линейная корреляция переменной со своей копией.



©2015- 2017 stydopedia.ru Все материалы защищены законодательством РФ.