Книга: Байесовская статистика: Star Wars, LEGO, резиновые уточки и многое другое
Назад: А. Краткое введение в язык R
Дальше: В. Ответы к упражнениям

Б. Математический минимум

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

Функции

Функция — это просто математическая «машина», которая принимает одно значение, что-то делает с ним и возвращает другое значение. Это очень похоже на работу функций в языке R (см. приложение A): они принимают значение и возвращают результат. Например, в высшей математике может быть функция f, определенная следующим образом:

f (x) =x2.

В этом примере f принимает значение x и возводит его в квадрат. Например, если мы введем значение 3 в f, то получим:

f (3) = 9.

Это немного отличается от алгебраических задач средней школы, где обычно есть значение y и некоторое уравнение с х.

y = x2.

Одна из причин важности функций заключается в том, что они позволяют абстрагироваться от реальных вычислений, которые мы делаем. Это означает, что мы можем сказать что-то вроде y = f (x) и просто заниматься абстрактным поведением самой функции, а не тем, как она определена. Это подход, который мы будем использовать для этого приложения.

К примеру, вы готовитесь к забегу на 5 километров и используете умные часы, чтобы отслеживать расстояние, скорость, время и другие факторы. Сегодня вы вышли на пробежку и пробежали полчаса. Однако умные часы работали со сбоями и записывали только скорость в милях в час в течение получасового пробега. На рис. Б.1 показаны данные, которые удалось восстановить. Представьте, что скорость бега создана функцией s, которая принимает аргумент t, время в часах. Функция обычно пишется в терминах аргумента, который она принимает, поэтому мы будем писать s (t),  что приводит к значению, представляющему текущую скорость в момент

464651.png 

Рис. Б.1. Скорость в течение заданного времени забега

времени t. Вы можете представлять функцию s как машину, которая принимает текущее время и возвращает вашу скорость в это время. В высшей математике обычно используется конкретное определение s (t), такое как s (t) = t2 + 3t + 2, но здесь мы просто говорим об общих понятиях, поэтому не будем беспокоиться о точном определении s.

Примечание

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

Только благодаря этой функции мы можем узнать несколько фактов. Понятно, что ваш темп был немного неравномерным во время этого пробега, поднимаясь и опускаясь с максимума около 8 миль в час в конце и минимума чуть менее 4,5 миль в час вначале.

Тем не менее есть еще много интересных вопросов, на которые вы, возможно, захотите ответить, например:

• Как далеко вы пробежали?

• Когда вы потеряли наибольшую скорость?

• Когда вы набрали наибольшую скорость?

• В какое время ваша скорость была относительно постоянной?

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

Определение того, как далеко вы пробежали

До этого наш график показывал только скорость бега в определенное время, так как мы узнаем, как далеко вы пробежали?

Теоретически это не кажется слишком сложным. Предположим, например, что вы пробегали 5 миль в час последовательно за весь пробег. В этом случае вы пробежали 5 миль в час за 0,5 часа, поэтому общее расстояние составило 2,5 мили. Это интуитивно понятно, поскольку вы бегали со скоростью 5 миль в час, но пробежали всего полчаса, то есть вы пробежали половину пути, который пробежали бы за час.

Но наша проблема связана с разной скоростью почти в каждый момент, когда вы бежали. Давайте посмотрим на проблему по-другому. На рис. Б.2 показаны нанесенные данные для постоянной скорости движения.

460200.png 

Рис. Б.2. Визуализация расстояния как области графика скорости/времени

Вы можете видеть, что эти данные создают прямую линию. Если мы проанализируем область под этой линией, то увидим, что это большой блок, который фактически отражает пройденное вами расстояние! Блок имеет высоту 5 и длину 0,5, поэтому площадь его составляет 5 × 0,5 = 2,5, что дает нам результат в 2,5 мили!

Теперь давайте посмотрим на упрощенную проблему с изменяющимися скоростями, когда вы бежали со скоростью 4,5 мили в час от 0,0 до 0,3 часа, со скоростью 6 миль в час от 0,3 до 0,4 часа и 3 мили в час до конца 0,5 мили. Если мы представим эти результаты в виде блоков, или башен, как на рис. Б.3, то сможем решить проблему таким же образом.

Первая башня составляет 4,5 × 0,3, вторая — 6 × 0,1, а третья — 3 × 0,1, так что:

4,5 × 0,3 + 6 × 0,1 + 3 × 0,1 = 2,25.

Затем, посмотрев на область под башней, мы получаем общее пройденное расстояние: 2,25 мили.

460211.png 

Рис. Б.3. Мы можем легко рассчитать общее пройденное расстояние, сложив эти башни

Измерение площади под кривой: интеграл

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

Мы можем начать этот процесс, представив несколько больших башен, которые достаточно близки к нашей кривой. Если мы начнем с трех башен, как мы видим на рис. Б.4, это будет неплохой оценкой.

Рассчитав площадь под каждой из этих башен, мы получим значение 3,055 мили для приблизительного количества пройденных миль. Но можно было бы сделать лучше, добавив больше башен меньшего размера, как показано на рис. Б.5.

460231.png 

Рис. Б.4. Аппроксимация кривой тремя башнями

460239.png 

Рис. Б.5. Лучшее приближение к кривой с использованием 10 башен вместо трех

Суммируя площади этих башен, мы получаем 3,054 мили, что является более точной оценкой. Если представить, что мы повторим этот процесс бесконечно, используя более тонкие башни, в конечном итоге мы получим полную площадь под кривой, как на рис. Б.6.

460248.png 

Рис. Б.6. Полное получение области под кривой

Это точная площадь, пройденная за полчаса пробега. Если бы мы могли сложить бесконечно много башен, мы бы получили 3,053 мили. Наши оценки были довольно близки, и, поскольку мы используем все больше башен меньшего размера, наша оценка становится ближе к действительному результату. Сила высшей математики в том, что она позволяет нам вычислить эту точную площадь под кривой или интегралом. В высшей математике мы представили бы интеграл для нашей s(t) от 0 до 0,5 в математической записи в виде:

Eqn0169.tif,

где ∫ — это просто причудливая S, означающая сумму (или общее число) площади всех маленьких башен в s(t). Запись dt напоминает, что мы говорим о маленьких кусочках переменной t; d — математический способ обращения к этим маленьким башням. Конечно, в этой части записи есть только одна переменная t, поэтому мы вряд ли запутаемся. Аналогично в этой книге мы обычно отбрасываем dt (или его эквивалент для используемой переменной), поскольку это очевидно в примерах.

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

Eqn0170.tif.

Можно визуализировать этот интеграл, как показано на рис. Б.7.

460260.png 

Рис. Б.7. Визуализация области под кривой от 0,1 до 0,2

Площадь только этой заштрихованной области составляет 0,556 мили.

Мы можем даже представить интеграл нашей функции как другую функцию. Предположим, мы определили новую функцию dist (T), где T — это наше общее время пробега:

Eqn0171.tif.

Это приводит к функции, которая сообщает расстояние, пройденное за время T. Мы также можем понять, почему стоит использовать dt — потому что мы можем видеть, что наш интеграл применяется к аргументу в нижнем регистре t, а не к заглавному аргументу T. На рис. Б.8 показано общее расстояние, которое вы пробежали в любой момент времени T во время пробега.

460273.png 

Рис. Б.8. Построение интеграла преобразует график времени и скорости в график времени и расстояния

Таким образом, интеграл преобразовал нашу функцию s, которая была скоростью за время, в функцию dist, расстояние, пройденное за время. Как показано ранее, интеграл функции между двумя точками представляет собой расстояние, пройденное между двумя разными точками на временной шкале. Теперь мы смотрим на общее расстояние, пройденное в любой данный момент времени t от начала времени 0. Интеграл важен, потому что он позволяет вычислять площадь под кривыми, что гораздо сложнее вычислить, чем если бы у нас были прямые линии. В этой книге мы будем использовать концепцию интеграла для определения вероятностей того, что события находятся между двумя диапазонами значений.

Измерение быстроты изменения: производная

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

Как и в случае с интегрированием, основная проблема определения ускорения заключается в том, что оно, кажется, всегда меняется. Если бы у нас была постоянная быстрота изменения, вычисление ускорения не было бы таким сложным, как показано на рис. Б.9.

460282.png 

Рис. Б.9. Визуализация постоянной быстроты изменения (по сравнению с вашей фактической быстротой изменения)

Вы можете помнить из базовой алгебры, что можно нарисовать любую линию, используя эту формулу:

y = mx + b,

где b — точка, в которой линия пересекается, ось Y и m — наклон линии. Наклон представляет собой быстроту изменения прямой линии. Для линии на рис. Б.9 полная формула имеет вид:

y = 5x + 4,8.

Наклон со значением 5 означает, что для каждого раза, когда x увеличивается на 1, y увеличивается на 5; 4,8 — точка, в которой линия пересекает ось Х. В этом примере мы интерпретируем эту формулу как s (t) = 5t + 4,8, это означает, что для каждой пройденной мили вы ускоряетесь на 5 миль в час и что вы начинаете отсчет с 4,8 мили в час. Поскольку вы пробежали полмили, используя эту простую формулу, мы можем выяснить:

s (t) = 5 × 0,5 + 4,8 = 7,3,

что означает, что в конце пробега вы будете бежать со скоростью 7,3 мили в час. Мы могли бы точно так же определить вашу точную скорость в любой точке бега, если бы ускорение было постоянным!

Для реальных данных, поскольку линия извилистая, определить уклон в определенный момент времени нелегко. Вместо этого мы можем выяснить уклоны частей линии. Если мы разделим наши данные на три отрезка, то сможем нарисовать линии между каждой частью, как на рис. Б.10.

Теперь очевидно, что эти линии не идеально подходят к нашей кривой, но они позволяют увидеть участки, где вы ускорились быстрее всего, замедлились сильнее всего и двигались с постоянной скоростью. Если разделить нашу функцию на еще больше частей, мы получим лучшие оценки, как на рис. Б.11.

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

Eqn0172.tif.

460292.png 

Рис. Б.10. Использование нескольких наклонов для получения более точной оценки скорости изменения

460303.png 

Рис. Б.11. Добавление большего количества наклонов позволяет лучше приблизиться к кривой

464674.png 

Рис. Б.12. Производная — это еще одна функция, которая описывает наклон s (x) в каждой точке

Опять же dx просто напоминает нам, что мы рассматриваем очень маленькие части аргумента x. На рис. Б.12 показан график производной для функции s (t), которая позволяет видеть точный темп изменения скорости в каждый момент пробега. Другими словами, это график ускорения во время пробега. Глядя на ось Y, вы видите, что вначале быстро потеряли скорость и примерно через 0,3 часа у вас был период ускорения 0, что означает, что темп не изменился (а это хорошо при подготовке к гонке!). Мы также можем точно видеть, когда вы набрали наибольшую скорость. Глядя на исходный график, мы не могли с легкостью определить, набираете ли вы скорость быстрее примерно через 0,1 часа (сразу после первого ускорения) или в конце пробега. С производной, однако, ясно, что последний всплеск скорости в конце действительно был быстрее, чем вначале.

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

Основная теорема анализа

Мы рассмотрим последнюю действительно замечательную концепцию высшей математики. Между интегралом и производной есть очень интересная связь. (Доказательство этого отношения выходит далеко за рамки этой книги, поэтому мы сосредоточимся здесь только на самом отношении.) Предположим, у нас есть функция F (x) с прописной буквой F. Что делает эту функцию особенной, так это то, что ее производнаяf (x). Например, производная нашей функции dist является функцией s; то есть изменение расстояния в каждый момент времени — это скорость. Производная скорости — ускорение. Мы можем описать это математически как:

Eqn0173.tif.

В терминах дифференциального исчисления мы называем Fпервообразной f, потому что f является производной от F. В нашем примере первообразной ускорения будет скорость, а первообразной скорости будет расстояние. Теперь предположим, что для любого значения f нужно взять его интеграл от 10 до 50; то есть необходимо:

Eqn0174.tif.

Мы можем получить это, просто вычитая F(10) из F(50), так что:

Eqn0175.tif.

Соотношение между интегралом и производной называется основной теоремой анализа, или формулой Ньютона — Лейбница. Это довольно удивительный инструмент, потому что позволяет математически решать интегралы, что зачастую намного сложнее, чем поиск производных. Используя основную теорему анализа, если мы можем найти первообразную функции, для которой нужно найти интеграл, то можем также легко выполнить интегрирование. Понимание этого — основа интегрирования вручную.

На курсе по дифференциальному исчислению обычно подробно изучают интегралы и производные. Но в этой книге мы используем высшую математику только изредка, а помогал нам в этом R. Тем не менее полезно иметь общее представление о том, что такое дифференциальное исчисление и что значат все эти загадочные символы!

Назад: А. Краткое введение в язык R
Дальше: В. Ответы к упражнениям