Генерация случайных чисел
Функции для генерации случайных чисел возвращают такие числа с заданным законом распределения. Имя функции образовано путем слияния первых букв названия закона и окончания rnd. Например, команда
» exprnd(l) ans =
1.0417
обеспечивает генерацию одного случайного числа, подчиняющегося экспоненциальному закону распределения с параметром MU = 1. Генерация группы случайных чисел (подчиняющихся тому же закону распределения), образующих матрицу с 3 строками и 4 столбцами:
» exprnd(1, [3 4] )
ans =
В другом пример |
1.5957 1.6158 0.5045 е |
1.3013 1.6154 4.1816 |
|
» exprnd(1,3, ans = 0.7636 |
|
0.1766 |
0.9690 |
0.8707 |
1.5963 |
3.9302 |
0.1842 |
0.1670 |
0.3973 |
0.3838 |
0.6875 |
используется несколько иной формой записи команды.
Вычисление среднего и дисперсии
Функции вычисления среднего и дисперсии возвращают математические ожидание и дисперсию указанного распределения в зависимости от его заданных параметров. Имя функции данной подгруппы образовано путем слияния названия закона и окончания stat. Следующий пример иллюстрирует нахождение математического ожидания и дисперсии экспоненциального закона распределения для четырех значений его параметра — 1, 10, 100 и 1000:
» [m,v] = expstat ([1 10 100 1000])
m =
1 10 100 1000
v =
1 100 10000 1000000
Оценка параметров законов распределения
Функции для оценки параметров законов распределений по экспериментальным данным имеют имена, образованные слиянием названия закона и окончания fit. К примеру, оценивание параметра экспоненциального закона производится следующим образом:
>> x=exprnd(1,100,1); % Генерация 100 элементов выборки
% Нахождение оценки параметра (точное значение — 1)
» expfit(x) ans =
0.9157
Дескриптивная статистика
Функции дескриптивной статистики позволяют определять набор сводных характеристик исходного множества обрабатываемых данных (выборки): оценки центра группирования значений случайной величины, степени рассеяния, коэффициента корреляции, эксцесса и т. п., иначе говоря, характеристики описательной или дескриптивной статистики. Полный перечень функций дескриптивной статистики пакета Statistics Toolbox приведен в табл. 5.2. Некоторые из них, вообще говоря, являются встроенными функциями MATLAB (например, corrcoef, cov, mean, median, std).
Функции дескриптивной статистики
Таблица 5.2
Имя функции |
Возвращаемая величина |
corrcoef |
Оценка коэффициента корреляции |
Cov |
Оценка матрицы ковариаций |
Geomean |
Среднее геометрическое |
harmmean |
Среднее гармоническое |
Iqr |
Оценка разности между 75- и 25-процентными точками (процентилями), иначе - разность между 3-й и 1 -й квартилями |
kurtosis |
Оценка коэффициента эксцесса (от обычно используемого в отечественной литературе параметра Ь2 отличается на величину 3, то есть kurtosis = Ь2 + 3) |
Mad |
Среднее абсолютное отклонение от среднего значения |
Mean |
Арифметическое среднее |
Median |
Медиана |
Имя функции |
Возвращаемая величина |
Moment |
Оценка центрального момента произвольного (задаваемого как аргумент) порядка |
Nanmax |
Максимальное значение, находимое с игнорированием нечисловых элементов |
Nanmean |
Арифметическое среднее, находимое с игнорированием нечисловых элементов |
nanmedian |
Медиана, находимая с игнорированием нечисловых элементов |
Nanmin |
Минимальное значение, находимое с игнорированием нечисловых элементов |
Nanstd |
Оценка среднеквадратического отклонения, находимая с игнорированием нечисловых элементов |
Nansum |
Сумма, находимая с игнорированием нечисловых элементов |
Pretile |
Выборочная процентная точка (процентиль) |
Range |
Размах выборки |
skewness |
Оценка коэффициента асимметрии |
Std |
Оценка среднеквадратического отклонения |
trimmean |
Оценка среднего, находимая с игнорированием заданного процента минимальных и максимальных элементов выборки |
Var |
Оценка дисперсии |
В приведенном ниже примере
» х = normrnd(0,1,100,100);
» s = std(x);>> s_MAD = 1.3 * mad(x);
>> efficiency = (norm(s — 1)./norm(s_MAD — 1)).л2 efficiency = 0.7383
сначала создается матрица случайных чисел размера 100 х 100, подчиненных нормальному закону распределения с параметрами соответственно 0 и 1. Затем по данной выборке находятся оценки среднеквадратического отклонения и средние абсолютных отклонений от среднего значения (по 100 значений), после чего оценивается относительная эффективность (efficiency) данных величин как оценок степени рассеяния элементов выборки (для корректности подобного сравнения среднее значение абсолютных отклонений умножается на множитель 1.3). Конечный результат говорит о том, что при нормальном законе распределения более эффективной оценкой степени рассеяния является оценка среднеквадратического отклонения.
Следующий пример иллюстрирует нахождение среднего значения для массивов данных, в которых некоторые элементы не определены (пропущены):
>> m = magic (3) ;
» m([l б 8]) = [NaN NaN NaN]
ш = |
||
NaN |
1 |
б |
3 |
5 |
NaN |
4 |
NaN |
2 |
» nmean = nanmean(m) nmean = 3.5000 3.0000 4.0000
Исходная матрица данных — «магический квадрат» 3 х 3, в котором затем 1-й, 6-й и 8-й элементы сделаны нечисловыми.
В еще одном примере по генерируемой выборке случайных чисел, подчиняющихся нормальному закону с нулевым средним и единичной дисперсией, определяются оценки коэффициентов эксцесса и асимметрии.
» X = randn ( [5 4])
X =
0.1096 |
-0.2009 |
1.0306 |
-3.5968 |
0.1121 |
-0.7846 |
0.2014 |
-1.8284 |
0.8969 |
0.8279 |
-1.2392 |
-0.6119 |
0.7632 |
-0.2592 |
-0.5260 |
-0.7429 |
0.1649 |
-1.5061 |
0.6314 |
0.0440 |
>> k = kurtosis (X) к =
1.2783 2.1848 1.7258 2.2550
» у = skewness (X) У =
0.2855 0.1403 -0.3298 -0.7890