Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Решение математических задач.pdf
Скачиваний:
28
Добавлен:
13.02.2015
Размер:
858.1 Кб
Скачать

Глава 3. Задачи математической статистики

3.1. Вычисление основных статистических величин

При решении многих экономических и других вопросов важную роль играют методы математической статистики. В настоящее время статистические методы исследования, связанные с обработкой больших объемов информации и необходимостью представлять их в форме, удобной для восприятия пользователем, требуют широкого применения вычислительной техники и использования соответствующего программного обеспечения. Некоторые языки программирования (например, Кобол) изначально создавались как средство для выполнения различных расчетов, включая и статистические.

Хотя Turbo Pascal не разрабатывался специально для программирования задач по статистическому анализу, он достаточно хорошо подходит для этой цели, не уступая в этом отношении специализированным языкам, а в некоторых отношениях и превосходя их по своим возможностям (в частности, в области графического представления полученных при расчетах данных).

Прежде чем перейти к вопросам применения системы Turbo Pascal для статистических расчетов, рассмотрим некоторые основные понятия статистики. В основе статистического анализа лежит понятие генеральной совокупности. Генеральная совокупность представляет собой все возможные значения, которые могут быть в данной ситуации. При статистических расчетах из генеральной совокупности отбирается часть значений, которая называется выборочной совокупностью или просто выборкой (в некоторых случаях генеральная совокупность и выборка могут совпадать). Статистика зависит от распределения случайных величин в генеральной совокупности.

Статистический анализ

во многих случаях основывается на получении

трех важных

величин,

которые имеют также самостоятельное

значение. Этими

величинами являются среднее значение, медиана и

мода. Рассмотрим каждую из этих величин по отдельности и составим программы для их вычисления.

 

Среднее значение

или среднее арифметическое наиболее

широко

используется в статистике. Это одно

значение

может использоваться

для

представления

некоторой

выборки

данных.

Среднее

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

6; 9; 11; 19; 14, то вычисление ее будет производиться следующим образом:

63

6 +9 +11 +19 +14 ,

5

следовательно, в данном случае среднее арифметическое будет равно 11,8. Ниже приводится программа определения среднего арифметического

для группы величин, вводимых пользователем с клавиатуры:

program sredarif; uses crt;

var i,n:integer; x,s,ar:real;

begin clrscr;

writeln('Введите количество элементов группы'); readln(n);

s:=0;

for i:=1 to n do begin

writeln('Введите ',i,' элемент группы'); readln(x);

s:=s+x;

end;

ar:=s/n;

writeln('Среднее арифметическое равно ',ar:8:3); readln

end.

В данной программе исходными данными являются количество элементов группы, равное n, и сама эта группа. Ввод элементов группы

производится в цикле с заранее известным числом повторений, в котором переменная цикла меняется от 1 до n. Очередное вводимое значение

присваивается переменной x. В этом же цикле каждый очередной вводимый элемент прибавляется к сумме элементов s (переменная s перед началом работы цикла обнуляется). После окончания подсчета суммы элементов s остается только разделить ее на число элементов n, что и дает нам искомый результат – среднее арифметическое ar. Затем полученная величина выводится на экран компьютера.

На рис.3.1 показан экран с результатами работы программы вычисления среднего арифметического для группы из 5 элементов.

64

Рис. 3.1. Результаты работы программы, вычисляющей среднее арифметическое группы элементов

Медианой является среднее значение из всего упорядоченного набора значений. Например, в наборе значений:

1;

2;

3;

4;

5;

6;

7

медианой будет 4, поскольку это число является четвертым в группе из семи

элементов, то есть находится в середине. Медиана в группе из n элементов вычисляется путем построения выборки в порядке возрастания значений и

выбора среднего значения с индексом n/ 2.

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

Дальнейшие действия производятся с группой элементов, которая начинается с первого элемента массива, а заканчивается предпоследним элементом. В этой группе также следует найти максимальный элемент и затем поставить его на последнее место в данной группе элементов (то есть на предпоследнее место во всем массиве). Элемент, стоявший предпоследним, также помещается в массиве на освободившееся место.

Затем рассматривается группа элементов без последнего и предпоследнего. В этой группе также находится максимальный элемент, который помещается на положенное ему последнее в группе место. Такие операции будут продолжаться до тех пор, пока каждый элемент массива не

65

займет подобающее ему место. Последняя операция сведется к выбору максимального в группе из двух оставшихся элементов.

Далее в уже упорядоченном массиве находится элемент с номером n/2, который и является искомой величиной.

program mediana; uses crt;

const n=5;

var i,k,p,t:integer; medi,max:real; mas:array[1..n] of real;

begin clrscr;

for i:=1 to n do {ввод исходных данных} begin

writeln('Введите ',i,' элемент группы'); readln(mas[i]);

end;

{сортировка массива методом простого выбора} for t:=n downto 2 do

begin max:=mas[1]; k:=1;

for i:=2 to t do begin

if mas[i]>max then begin max:=mas[i]; k:=i

end;

end;

mas[k]:=mas[t]; end;mas[t]:=max;

{определение медианы} p:=round(n/2);

writeln('Медиана равна ',mas[p]:8:2); readln

end.

Эту программу можно использовать и для определения медианы в наборе с другим количеством данных, для чего достаточно изменить значение величины n в разделе описания констант. На рис.3.2 показан экран

с результатами работы данной программы.

66

Рис.3.2. Результаты работы программы вычисления медианы

Модой выборки называется значение, которое встречается большее число раз в выборке. Например, в наборе значений:

5; 17; 24; 11; 15; 11; 34; 15; 19; 11; 38; 7

модой является число 11, поскольку оно встречается три раза. Если в выборке два числа встречаются одинаковое количество раз, то в ней может быть две моды.

Ниже приводится программа, которая определяет моду в группе, состоящей из 10 элементов.

program moda; uses crt;

var i,k,n,nmd:integer; md,mx:real; mas:array[1..10] of real;

begin clrscr;

{ввод исходных данных}

writeln('Введите выборку из десяти чисел'); writeln('числа вводите через пробел');

for i:=1 to 10 do read(mas[i]); {поиск моды} md:=0;

nmd:=0;

for i:=1 to 10 do begin mx:=mas[i]; n:=1;

67

for k:=i+1 to 10 do

if mx=mas[k] then n:=n+1; if n>nmd then

begin md:=mx; nmd:=n end;

end;

writeln('Для данной выборки модой является число ',md:8:2);

readln;

readln;

end.

В начале данной программы осуществляется ввод исходных данных – в одну строку вводится выборка из 10 чисел, и эти числа становятся элементами массива mas.

Алгоритм поиска моды сводится к следующим действиям: для каждого из элементов массива mas в цикле производится поиск равных ему

элементов. Если такой элемент находится, то счетчик повторяющихся элементов n увеличивается на единицу, а вспомогательной переменной mx,

присваивается значение текущего элемента массива.

После того как вышеописанная проверка для текущего элемента закончена, значение счетчика для данного элемента n сравнивается со значением счетчика nmd, в котором содержится максимальное на данный

момент количество повторений одного элемента в массиве. Если оказывается, что значение счетчика n больше чем nmd, то переменной nmd

присваивается новое значение n, а значение текущего элемента mx присваивается переменной md, в которой содержится значение искомой

величины – моды.

На рис.3.3 показаны результаты работы данной программы.

Рис. 3.3. Результаты работы программы определения моды в выборке из десяти чисел

68

Хотя среднее арифметическое, медиана и мода часто используются при статистических расчетах, в ряде случаев они недостаточно объективны для правильной оценки имеющихся данных. Например, если в группе данных имеется хотя бы одно, резко отличающееся по величине от остальных, то оно может в значительной степени повлиять на величину среднего арифметического и тем самым исказить результат. Медиана является важным показателем в хорошо упорядоченной выборке, но для других выборок она может не отражать реальной ситуации. Мода показывает наиболее часто встречающееся значение в выборке, но при этом другие значения, составляющие большинство элементов выборки, могут существенно отличаться от того, которое представлено модой.

В тех случаях, когда среднее арифметическое, мода и медиана не могут дать достоверную картину, для статистических расчетов используют такие величины, как дисперсия и среднее квадратическое отклонение.

ёДисперсия и квадратный корень из дисперсии, называемый среднеквадратическим отклонением, характеризуют среднее отклонение от среднего значения выборки. Среди этих двух величин наиболее важное значение имеет среднее квадратическое отклонение. Это значение можно представить как среднее расстояние, на котором находятся элементы от среднего элемента выборки.

Среднее квадратическое отклонение обычно обозначается буквой σ и определяется по формуле:

 

 

 

 

 

 

 

n

 

 

 

 

å (xi

 

)2

 

 

 

 

x

,

(3.1)

σ =

i=1

 

 

n

 

 

 

 

 

 

где n – количество элементов выборки;

xi значение текущего элемента выборки;

i порядковый номер текущего элемента выборки;

x среднее арифметическое выборки.

Приведенная ниже программа вычисляет стандартное отклонение для заданной выборки из 5 элементов:

program kvotkl; uses crt;

var i:integer; s,sum,sum1,ar:real; mas:array [1..5] of real;

begin clrscr; sum:=0; sum1:=0;

writeln('Введите элементы выборки'); writeln('числа вводите через пробел');

69