Главная страница «Первого сентября»Главная страница журнала «Математика»Содержание №14/2009

Компьютер в школьном курсе вероятности и статистики

Использование компьютера при изучении теории вероятностей и статистики становится сегодня все более общепринятым. Авторы многих не только вузовских, но и школьных учебных пособий включают в них электронную составляющую [1], рекомендуют проводить практические занятия с использованием средств ИКТ [2]. Мы постараемся подтвердить обоснованность такого подхода и сделать краткий обзор программных и методических средств, которые здесь можно использовать.

При изучении этого курса компьютер можно рассматривать с двух точек зрения:

— как инструмент для обработки статистических данных;

— как универсальный генератор случая.

Компьютер как инструмент для обработки статистических данных

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

Какие программные средства можно использовать для обработки статистического материала? К сожалению, альтернатив здесь не так много. Каких либо широко распространенных программ статистической обработки данных, рассчитанных на общеобразовательную школу, на русском языке просто нет 1. Поэтому естественным выходом представляется использование популярной электронной таблицы MS Excel.

Перечислим основные средства MS Excel, которые можно использовать в школьном курсе статистики.

Функция

Для чего используется

СЧЕТЕСЛИ(диапазон; критерий) — количество ячеек внутри диапазона, удовлетворяющих заданному критерию

Количество повторений того или иного значения в выборке; вычисление частоты каждого значения

МИН(диапазон) — минимальное число из диапазона

МАКС(диапазон) — максимальное число из диапазона

Вычисление размаха выборки

СРЗНАЧ(диапазон) — среднее арифметическое чисел

из диапазона

Вычисление выборочного среднего

МЕДИАНА(диапазон) — медиана чисел из диапазона

Вычисление медианы ряда чисел

МОДА(диапазон) — мода чисел из диапазона

Вычисление моды ряда чисел

ДИСП(диапазон) — дисперсия чисел из диапазона

Вычисление дисперсии ряда чисел

СТАНДОТКЛОН(диапазон) — стандартное отклонение чисел из диапазона

Вычисление стандартного отклонения ряда чисел

Мастер диаграмм

Построение круговых и столбиковых диаграмм, диаграмм рассеивания

Сортировка

Ранжирование данных

Надстройка «Пакет анализа»

Группировка данных

Разумеется, кроме этих специальных средств, от ученика потребуется знание основ работы с электронной таблицей: работа с формулами, адресация ячеек, копирование данных. Приведем здесь несколько задач из пособия [3], построенных на анализе реальных статистических данных. Заметим, что без использования компьютера их решение было бы просто невозможным.

Пример 1. В таблице представлены данные экологического контроля за состоянием воздуха над различными районами Москвы – содержание оксида углерода над каждым районом по месяцам (источник данных — http://www.mosecom.ru). На основании этих данных ответьте на вопросы:

  • Какой район можно считать самым благополучным в экологическом отношении? Какой — самым неблагополучным?
  • Какой месяц по этим данным наиболее благоприятный в экологическом отношении для города в целом? Какой — самый неблагоприятный?
  • Какой район самый стабильный в отношении экологической обстановки? Самый нестабильный?

Пример 2. Перед вами экономические показатели различных регионов России за несколько последних лет (источник данных — http://www.gks.ru). В первой строке таблицы приведена средняя зарплата по всей России в целом, далее — по каждому из регионов. Найдите среднее арифметическое зарплат по регионам. Как вы думаете, почему оно не совпадает со средней зарплатой по России?

Пример 3. Перед вами лучшие результаты в марафонском беге среди мужчин за всю историю проведения этих соревнований: дата рождения, страна и фамилия бегуна, результат, дата рекорда (источник данных — http://www.alltime-athletics.com). На какой возраст приходится расцвет спортивной карьеры бегуна-марафонца?

Пример 4. Перед вами таблица, содержащая сведения о крупнейших авиакатастрофах XX века: дата, место, тип самолета, авиакомпания, причина, количество жертв (источник данных — http://www.airdisasters.co.uk). Как вы считаете, можно ли определить по этим данным наиболее опасные для полетов время года, месяц, день недели, тип самолета?

Пример 5. Перед вами таблица с указанием средней температуры за каждый из 12 месяцев года в крупнейших столицах мира (источник данных — http://www.stockauto.ru). Постройте три диаграммы рассеивания для выяснения связи между температурами в следующих городах: Рим – Варшава, Рим – Вашингтон, Рим – Сантьяго. Обнаруживается ли какая-то связь? Есть ли принципиальная разница между полученными диаграммами? В чем она состоит и чем объясняется?

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

Компьютер как генератор случая

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

Какие программы можно для этого использовать? Начнем все с того же MS Excel. Для моделирования случайности в нем есть функция СЛЧИС(), которая возвращает вещественное случайное число из интервала от 0 до 1. При этом последовательные вызовы этой функции дают независимые случайные числа. Чтобы разыграть с ее помощью целое случайное число от 1 до N, притом так, чтобы все значения от 1 до N были равновозможны, достаточно использовать формулу

=ОКРУГЛВНИЗ(СЛЧИС()*N;0)+1.

Пример 6. Смоделируем в MS Excel сто бросаний игрального кубика:

A

1

=ОКРУГЛВНИЗ(СЛЧИС()*6;0)+1

2

=ОКРУГЛВНИЗ(СЛЧИС()*6;0)+1

...

...

100

=ОКРУГЛВНИЗ(СЛЧИС()*6;0)+1

Несмотря на одинаковую формулу, мы получим в ячейках A1–A100 сто случайных чисел от 1 до 6, которые можно интерпретировать, как результаты 100 экспериментов с кубиком.

Второй подход — использование языков программирования. Эта возможность уже не так широко доступна и может использоваться либо в профильных классах, либо как основа для индивидуальных творческих проектов. В любом языке программирования есть датчик случайных чисел, аналогичный рассмотренной выше функции СЛЧИС(). Например, в популярном языке Turbo Pascal есть даже два таких датчика: функция random — вещественное случайное число от 0 до 1; функция random(N) — целое случайное число от 0 до N–1. Вот как будет выглядеть генерация все тех же 100 опытов с кубиком на языке Turbo Pascal:

program Dice; 
const N=100; {Общее к-во испытаний} var i,r:integer;
Cnt:array[1..6] of integer; {К-во повторений каждого исхода}
begin
for i:=1 to N do begin
r:=random(6)+1; {Генерация очередного исхода}
write(r);
inc(Cnt[r]); {Подсчет частоты}
end; writeln;
{Вывод частот} for i:=1 to 6 do
writeln(i :2, Cnt[i] :6, Cnt[i]/N :8:3)
end.

Интересно, что при повторном запуске эта программа выдаст ту же самую последовательность случайных исходов, чего никогда не бывает с настоящим кубиком. От этого недостатка легко избавиться, если провести в самом начале программы так называемую рандомизацию 2 датчика случайных чисел — вызвать процедуру randomize. Теперь каждый новый запуск нашей программы будет давать новую последовательность исходов.

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

Пример 7. Рассмотрим известную задачу Эйлера о шляпах: три человека пришли в ресторан в  одинаковых шляпах, сдали их в гардероб, а уходя, надели их наугад. Требуется найти вероятность события A={все надели чужие шляпы}.

Для трех человек этот ответ получить несложно: у опыта всего 6 возможных исходов (перестановки из трех элементов) и все они равновозможны; благоприятных из них 2, поэтому Однако моделирование позволит нам исследовать и общий случай, когда в описанной ситуации участвует не 3, а N человек.

Для проведения опыта необходимо разыграть, какую шляпу надел первый господин, какую — второй и т.д. Если занумеровать все шляпы числами от 1 до N, то каждому исходу опыта будет соответствовать одна из N! перестановок. Таким образом, нам нужно получить случайную перестановку из чисел от 1 до N. Заметим, что последовательное N-кратное обращение к датчику random(N)+1 не даст нужного результата — случайные числа будут повторяться. Один из возможных вариантов программы может выглядеть так:

program Hats;
const k=100; {Количество человек}
var N,i,Cnt:longint;
j,r,x,HC:integer;
H:array[1..k] of integer;
begin randomize;
{Задаем число испытаний}
write('N=');readln(N); Cnt:=0;
for i:=1 to N do begin
{Генерация случайной перестановки из k чисел}
for j:=1 to k do H[j]:=j;
for j:=k downto 1 do begin
r:=random(j)+1; x:=H[j];H[j]:=H[r];H[r]:=x;
end; {Сколько шляп надето на свои головы?} HC:=0; for j:=1 to k do if H[j]=j then inc(HC); {Если 0 – событие произошло} if HC=0 then inc(Cnt); end;
writeln(Cnt/N :7:5); end.

А вот ее результаты при разных значениях k и возрастающих значениях N:

N \k

3

10

100

100

0,34000

0,31000

0,29000

1 000

0,34400

0,36300

0,35500

10 000

0,33740

0,37480

0,36680

100 000

0,33352

0,36839

0,36744

1 000 000

0,33344

0,36715

0,36804

Заметьте, что компьютер дал возможность почти мгновенно провести 1 000 000 экспериментов! Разумеется, проделать то же самое с реальными шляпами невозможно: даже если тратить на один эксперимент всего секунду, то понадобится около 270 часов непрерывных надеваний и снятий шляп...

Полученные результаты могут стать темой интересного самостоятельного исследования: к чему стремится (и стремится ли вообще?) вероятность события A={все надели чужие шляпы} с увеличением количества людей3?

Наконец, третий подход к моделированию вероятностных опытов – использование специально предназначенных для этого учебных программ. Как правило, такая программа включает в себя инструменты для конструирования опыта, его многократного проведения, фиксации и обработки полученных при этом результатов. В последнее время за такого рода учебными программами даже закрепилось специальное название – виртуальные лаборатории. Остановимся на одной из таких лабораторий, использованных в [3]. Лаборатория предназначена для моделирования случайных опытов в рамках классической вероятностной модели.

В распоряжении ученика имеется традиционный для теории вероятностей набор «генераторов случая» (монета, кубик, разноцветные шары и т.д.), из которых он и конструирует опыт (рис. 1).

Рассмотрим использование лаборатории на примере.

Пример 8. Из шкафа, в котором лежат три одинаковые пары ботинок, извлекают наугад два ботинка. С какой вероятностью они будут парными?

Уже на стадии конструирования опыта ученик может выбирать различные модели (рис. 2–3): например, заменить три пары ботинок шестью шарами. Три белых шара соответствуют левым ботинкам, три черных — правым:

Теперь можно провести опыт и увидеть, чем он завершился. Можно запустить целую серию и наблюдать за ее результатами. В любой момент полученные результаты можно экспортировать в электронную таблицу MS Excel для последующей обработки.

Лаборатория имеет и свои собственные средства обработки – они находятся на закладках «Исходы» и «События». Закладка «Исходы» позволяет наблюдать за изменением частоты каждого исхода, делать вывод об их равновозможности. Вот как будут выглядеть гистограммы частот для нашего примера (рис. 4—5) в случаях, если не различать и различать ботинки (шары) между собой (во втором случае для того, чтобы различать шары, на них ставятся номера):


Для ответа на вопрос задачи остается построить событие A, собрав все благоприятные для него исходы опыта (лаборатория позволяет построить событие как непосредственно из исходов опыта, так и из имеющихся уже событий с помощью операций пересечения, объединения и дополнения). Если запустить теперь серию последовательных независимых экспериментов, то можно наблюдать за изменением частоты события A и оценить его вероятность (рис. 6), которая в этой задаче будет равна

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

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

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

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

Литература

1.  Бунимович Е.А., Булычев В.А. Вероятность и статистика, 5–9. — М.: Дрофа, 2002.
2. Тюрин Ю.Н., Макаров А.А., Высоцкий И.Р., Ященко И.В. Теория вероятностей и статистика. – М.: ОАО «Московский учебник», 2004.
3. Бунимович Е.А., Булычев В.А. Вероятность и статистика в школьном курсе математики. Учебно-методический комплекс — http://school-collection.edu.ru (Единая коллекция образовательных ресурсов), 2008.
4.  Лагутин М.Б. Наглядная математическая статистика. — М.: «П-Центр», 2003.

________________________________________________

1 Из зарубежных программ можно отметить программу Fathom американской фирмы «Key Curriculum Press» (более известный ее продукт — The Geometer’s Sketchpad или, в русском варианте, «Живая геометрия»).
2 На самом деле числа, которые дает любой компьютерный датчик, вовсе не случайные. Они образуют вполне детерминированную рекуррентную последовательность, в которой каждое следующее число получается из предыдущего по определенному алгоритму. Тем не менее поведение такой последовательности во многих отношениях напоминает поведение независимых случайных величин. Рандомизация датчика позволяет случайно выбрать хотя бы начало этой последовательности. Вообще же проблема генерации случайных чисел очень непростая — ей посвящено большое количество научных и популярных изданий. Из последних публикаций отметим очень интересную книгу [4].
3 Оказывается, стремится, и довольно быстро, причем к , где e = 2,71828... — число Эйлера.

Булычев В.