Статистические расчеты— пакет Statistics
Учитывая ограниченный объем книги и приведенные выше обстоятельства, данный раздел не содержит исчерпывающего описания всех сотен функций расширения Statiatics, а лишь дает обзор этого пакета с описанием наиболее часто используемых средств статистики, относящихся к обработке данных. Это не слишком снижает ценность описания, поскольку функции статистики по большей части просты и имеют вполне очевидные (для специалистов) имена.
Пакет расширения Statistics содержит следующие подпакеты:- Confidencelntervals — функции доверительных интервалов;
- ContinuousDistributions — функции непрерывных распределений;
- DataManipulation — манипуляции с данными;
- DataSmoothing — сглаживание данных;
- DescriptiveStatistics — статистика распределений;
- DiscreteDistributions — функции дискретных распределений;
- HypothesisTests — проверка статистических гипотез;
- LinearRegression — линейная регрессия;
- MultiDescriptiveStatistics — статистика многомерных распределений;
- MultinormalDistribution — функции многомерных нормальных распределений;
- NonlinearFit — нелинейная регрессия;
- NormalDistribution — функции нормального распределения;
- Common — данные общего характера.
<<Statistics`Имя_подпакета`Имена подпакетов расширения статистики приведены выше.
Манипуляции с данными — DataManipulation
Статистические данные обычно бывают представлены в виде списков — как одномерных, так и двумерных (таблиц и матриц) и даже многомерных. Большая часть функций, обеспечивающих манипуляции с данными, сосредоточена в подпакете DataManipulation. Данные могут вводиться в строках ввода или считываться из файлов с помощью функции ReadList. Для манипуляций с данными могут использоваться многие функции ядра системы, описанные ранее, — в частности, все функции обработки списков. Подпакет DataManipulation дает ряд удобных функций. Ниже представлена первая группа таких функций:- Column [data, n] — возвращает n-й столбец списка data;
- Column [data, {nl, n2,...}] — возвращает список из столбцов ni списка данных;
- ColumnTake [data, spec] — возвращает столбцы списка data с данной спецификацией spec;
- ColumnDrop [data, spec] — удаляет столбцы списка data с данной спецификацией spec;
- Column Jo in [datal, data2,...] — объединяет столбцы списков datai;
- RowJoin [datal, data2,...] — объединяет строки списков datai;
- DropNonNumeric [data] — удаляет из списка data нечисловые элементы;
- DropNonNumericColumnfdata] — удаляет из списка data столбцы с нечисловыми элементами.
<<Statistics`DataManipulation ` data = {{а, 3}, {b, 6}, {с, 4}, {d, i}, {e, 5}, {i 4}} {{a, 3}, {b, 6}, {c, 4}, {d, i}, {e, 5), {f, 4}} col2 = Column[data, 2] {3, 6, 4/i, 5, 4} newdata = DropNonNumeric[col2] {3, 6, 4, 5, 4}Полезны также следующие функции подпакета:
- BooleanSelect [list, sel] — удаляет из list элементы, которые дают True при тестировании выражения sel;
- TakeWhile [list,pred] — удаляет из list все элементы, начиная с того, для которого pred дает True;
- LengthWhile [list,pred] — возвращает число элементов, которые были удалены после того, как pred дало значение True (отсчет с начала списка).
TakeWhile[col2, NumberQ] (3,6, 4} LengthWhile[col2, NumberQ] 3Ряд функций служит для подготовки данных с целью построения гистограмм:
- Frequencies [list] — готовит данные для представления частотной гистограммы;
- QuantileForm[list] — дает отсортированные данные для представления квантилей;
- CumulativeSums [list] — дает кумулятивное суммирование данных списка.
Рис. 12.1. Пример построения гистограммы по данным функции Frequencies
Для подготовки гистограмм могут использоваться и следующие функции:BinCounts[data,{min,max,dx}] RangeCounts [data, {cl, c2,...} ] CategoryCounts [data, {el, e2,...} ] BinLists[data,{min,max,dx}] RangeLists [data, {cl,c2,...} ] CategoryLists [data, {el, e2,...} ]С примерами их работы можно ознакомиться по справочной системе Mathenatica, содержащей полное описание данного подпакета.
Статистика распределений — DescriptiveStatistics
В подпакете DescriptiveStatistics сосредоточены наиболее важные функции по статистике распределений:- CentralMoment (data, r) — возвращает центральный момент данных data порядка r;
- Mean [data] — возвращает среднее значение данных data;
- MeanDeviation [data] — возвращает среднее отклонение данных;
- Median [data] — возвращает центральное значение (медиану) данных;
- MedianDeviation [data] — возвращает абсолютное отклонение (от медианы) данных;
- Skewness [data] — возвращает коэффициент асимметрии данных;
- StandardDeviation [data] — возвращает стандартное отклонение данных;
- GeometricMean [data] — возвращает геометрическое среднее данных;
- HarmonicMean [data] — возвращает гармоническое среднее данных;
- RootMeanSquare [data] — возвращает среднеквадратичное значение данных;
- Quantile [data, q] — возвращает q-й квантиль;
- InterpolatingQuantile [data, q] — возвращает q-й квантиль, используя при вычислениях интерполяцию данных;
- VarianceData [data] — возвращает среднеквадратичное отклонение данных.
ds={xl,x2,x3} {xl, x2, хЗ} Mean[ds] 1/3 *(xl + x2 + x3) MeanDeviation[ds] 1/3 (Abs[xl + — (-xl-x2-x3)] + Abs[x2+ 1/3 (-xl-x2-x3) + Abs 1/3[-xl-x2-x3) +хЗ]) Median[ds] x2 Variancefds] 1/2((x1+1/3(-xl + x2 - x3))2 + (x2 + 1/3 (-xl-x2-x3))2 + (— (-xl-x2-x3) + x3)2) Skewness[ds] (SQRT(3) ( (xl 4- -1 (-xl - x2 - x3))3 + (x2+1/3 (-xl-x2-x3))3 + (1/3 (-xl -x2- x3) + x3))2 / (x2+ 1/3 (-xl-x2-x3))2 +(1/3 (-xl-x2-x3) +х3)2 )^(3/2)Следующие примеры поясняют действие этих функций при обработке численных данных:
<<Statistics'DescriptiveStatis tics' data:={10.1,9.6,11,8.2,7.5,12,8.6,9} CentralMoment[data,2] 1.9525 Mean[data] 9.5 MeanDeviation[data] 1.175 Median[data] 9.3 MedianDeviation[data] 0.95 Skewness[data] 0.374139 StandardDeviation[data] 1.4938 GeometricMean[data] 9.39935 HarmonicMean[data] 9.30131 RootMeanSquare[data] 9.60221 Quantile[data,1] 12 InterpolatingQuantile[data,1] InterpolatingQuantile[ {10.1, 9.6, 11, 8.2, 7.5, 12, 8.6, 9), 1] Variance[data] 2.23143С рядом других, менее распространенных функций этого подпакета можно ознакомиться с помощью справочной системы. Там же даны примеры их применения.
Сглаживание данных — DataSmoothing
В подпакете DataSmoothing определены функции для сглаживания данных, имеющих большой случайный разброс. К таким данным обычно относятся результаты ряда физических экспериментов, например по энергии элементарных частиц, или сигналы, поступающие из космоса. Для того чтобы отсеять информацию из таких данных с большим уровнем шумов и применяется процедура сглаживания. Она может быть линейной (например, усреднение по ряду точек) или нелинейной. Определены следующие функции сглаживания:- MovingAverage [data, r] — сглаживание данных data методом усреднения для г точек;
- MovingMedian [data, r] — сглаживание данных data по медиане для г точек (опция RepeatedSmoothing->True используется для повторного сглаживания);
- LinearFilter [data, {c0, cl,..., сr-1} ] — линейная фильтрация (сj— весовые множители);
- ExponentialSmoothing [data, a] — экспоненциальное (нелинейное) сглаживание, параметр а задает степень сглаживания.
ds : = {xl, х2 , хЗ , х4 , х5} MovingAverage[ds,3] {1/3* (xl + x2 + x3), — (х2 + хЗ + х4), — (хЗ + х4 + х5)} MovingMedian[ds,3] {х2, хЗ, х4} ExponentialSmoothing[ds, 0.2] {xl, xl + 0.2 (-xl + x2) , xl+0.2 (-xl + x2) +0.2 (-xl-0.2 (-xl + x2) + x3) , xl+0.2(-xl+x2)+0.2 (-xl-0.2 (-xl + x2) +x3) + 0.2 (-xl-0.2 (-xl+x2) - 0.2 (-xl- 0.2 (-xl + x2) + x3) + x4) , xl+0.2(-xl + x2) +0.2(-xl-0.2(-xl + x2) +x3) + 0.2 (-xl- 0.2 (-xl+x2) -0.2(-xl-0.2(-xl + x2) + x3) + x4) + 0.2 (-xl- 0.2 (-xl+x2) - 0.2 (-xl- 0.2 (-xl+x2) + x3) - 0.2 (-xl-0.2 (-xl+x2) -0.2 (-xl-0.2 (-xl + x2) + x3) + x4) + x5)}Применение сглаживания усреднением иллюстрирует рис. 12.2. На нем задан массив (таблица) из 500 случайных точек с равномерным распределением и создан графический объект из этих точек в виде кружков малого диаметра. Затем выполнена операция сглаживания (по 12 смежным точкам) и создан графический объект сглаженных точек в виде кружков большего диаметра. Для сопоставления оба объекта построены на одном графике функцией Show.
Рис. 12.2. Пример линейного сглаживания данных из 500 точек
Нетрудно заметить, что сглаженные точки группируются вокруг среднего значения, равного 0.5, тогда как исходные точки разбросаны практически равномерно по всему полю рисунка. Эффективность нелинейного (экспоненциального) сглаживания демонстрирует рис. 12.3. Показанный на этом рисунке документ построен по тому же принципу, что и документ рис. 12.2. Остальные функции сглаживания можно использовать аналогичным образом. Выбор метода сглаживания зависит от решаемых пользователем задач и остается за ним.
Рис. 12.3. Пример экспоненциального сглаживания
Другие подпакеты расширения Statistics
Подпакет NormalDistribution содержит хорошо известные функции нормального распределения вероятностей и родственные им функции следующих распределений:- NormalDistribution [mu, sigma] — нормальное распределение;
- StudentTDistribution [r] — T-распределение Стьюдента;
- ChiSquareDistribution [r] — X 2 -распределение;
- FRatioDistribution [rl, r2] — F-распределение.
Рис. 12.4. Пример работы с функцией нормального распределения
В подпакете HypothesisTests сосредоточено сравнительно небольшое число хорошо известных функций для выполнения тестов проверки статистических гипотез. Загрузка пакета и проведение теста на среднее значение показаны ниже:<<Statistics` HypothesisTests` datal = {34, 37, 44, 31, 41, 42, 38, 45, 42, 38}; MeanTest[datal, 34, KnownVariance -> 8] QneSidedPValue -> 3.05394 x 10-9 ...У специалистов в области статистики интерес вызовут подпакеты MultiDescriptive-Statistics и MultinormalDistribution с многочисленными функциями многомерных распределений. Они позволяют оценивать статистические характеристики объектов, описываемых функциями нескольких переменных. Рисунок 12.5 поясняет загрузку подпакета MultinormalDistribution, получение выражения для плотности нормального распределения по двум переменным xl и х2 и получение трехмерного графика для плотности такого распределения. Подпакет Common используется остальными подпакетами пакет Statistics.
Рис. 12.5. Получение аналитического выражения и графика нормального распределения по двум переменным
Forekc.ru Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий |