.2. Интервальные данные в задачах оценивания характеристик и параметров распределения
Поясним теоретические концепции статистики интервальных данных на простых примерах.
Пример 1. Оценивание математического ожидания. Пусть необходимо оценить математическое ожидание случайной величины с помощью обычной оценки – среднего арифметического результатов наблюдений, т.е.
Тогда при справедливости ограничений (1) на абсолютные погрешности имеем
Поскольку
то в обозначениях предыдущего параграфа
Следовательно, рациональный объем выборки равен
Для практического использования полученной формулы надо оценить дисперсию результатов наблюдений. Можно доказать, что, поскольку мало, это можно сделать обычным способом, например, с помощью несмещенной выборочной оценки дисперсии
Здесь и далее рассуждения часто идут на двух уровнях. Первый – это уровень “истинных” случайных величин, обозначаемых ” по анализу данных. Второй – уровень известных этому специалисту величин ”
Итак, выборочной оценкой рационального объема выборки является
Уже на этом первом рассматриваемом примере видим, что рациональный объем выборки находится не где-то вдали, а непосредственно рядом с теми объемами, с которыми имеет дело любой практически работающий статистик. Например, если статистик знает, что погрешность контрольных шаблонов во многих технологических процессах! Поэтому, занимаясь управлением качества, необходимо обращать внимание на действующую на предприятии систему измерений.По сравнению с классической математической статистикой доверительный интервал для математического ожидания (для заданной доверительной вероятности
где
квантиль
порядка
стандартного нормального распределения с
математическим ожиданием
0 и дисперсией 1.
По поводу формулы (4) состоялась довольно жаркая дискуссия среди специалистов (ср. 8.1). Отмечалось, что она получена на основе Центральной предельной теоремы теории вероятностей и может быть использована при любом распределении результатов наблюдений (с конечной дисперсией). Если же имеется дополнительная информация, то, по мнению отдельных специалистов, формула (4) может быть уточнена. Например, если известно, что распределение квантиль распределения Стьюдента. К этому надо добавить, что по небольшому числу наблюдений нельзя надежно установить нормальность, а при росте объема выборки квантили распределения Стьюдента приближаются к квантилям нормального распределения.
Вопрос о том, часто ли результаты наблюдений имеют нормальное распределение, подробно обсуждался среди специалистов. Выяснилось, что распределения встречающихся в практических задачах результатов измерений почти всегда отличны от нормальных [
[
12.30
]
]. А также и от распределений из иных параметрических семейств, описываемых в учебниках.
Применительно к оцениванию математического ожидания (но не к оцениванию других характеристик или параметров распределения) факт существования границы возможной точности, определяемой точностью исходных данных, неоднократно отмечался в литературе ([
[
12.11
]
, с.121] и др.).
Пример 2. Оценивание дисперсии. Для статистики дисперсия (несмещенная оценка теоретической дисперсии), при справедливости ограничений (1) на абсолютные погрешности имеемМожно показать, что нотна
по вероятности с точностью до
Известно, что случайная величина
является асимптотически нормальной с
математическим ожиданием
0 и дисперсией
доверительный интервал для дисперсии
доверительной вероятности
где
обозначает тот же самый
квантиль
стандартного нормального распределения, что и выше в случае оценивания математического ожидания.
Рациональный объем выборки при оценивании дисперсии равен
а выборочную оценку рационального объема выборки
можно вычислить, заменяя теоретические моменты на соответствующие выборочные и используя доступные статистику результаты наблюдений, содержащие погрешности.
Что можно сказать о численной величине рационального объема выборки? Как и в случае оценивания математического ожидания, она отнюдь не выходит за пределы обычно используемых объемов выборок. Так, если распределение результатов наблюдений математическим ожиданием 0 и дисперсией
где
отношение
длины окружности к диаметру,
.. Например, если
, то
. Это меньше, чем при оценивании математического ожидания в предыдущем примере.
Пример 3. Аддитивные статистики. Пусть функция. Аддитивные статистики имеют вид
Тогда
по
вероятности при
, если математические ожидания в правых частях двух последних соотношений существуют. Применяя рассмотренные выше общие соображения, получаем, что при малых фиксированных
и достаточно больших
значения
могут принимать любые величины из разрешенных (например, записываемых заданным числом значащих цифр) в замкнутом интервале
при ограничениях (1) на абсолютные ошибки и в замкнутом интервале
при ограничениях на
относительные погрешности
результатов наблюдений. Обратим внимание, что длины этих интервалов независимы от объема выборки, в частности, не стремятся к 0 при его росте.
К каким последствиям это приводит в задачах статистического оценивания? Поскольку для статистик аддитивного типа
по
вероятности при
, если математическое ожидание в правой части формулы (7) существует, то аддитивную статистику
естественно рассматривать как непараметрическую оценку этого математического ожидания. Термин “непараметрическая” означает, что не делаются предположения о принадлежности функции распределения выборки к тому или иному параметрическому семейству распределения. Распределение статистики
зависит от распределения результатов наблюдений. Однако для любого распределения результатов наблюдений с конечной дисперсией
статистика
является состоятельной и асимптотически нормальной оценкой для математического ожидания, указанного в правой части формулы (7).
Как известно, в рамках классической математической статистики в предположении существования ненулевой дисперсии доверительный интервал, соответствующий доверительной вероятности
где
выборочное среднее
квадратическое отклонение, построенное
по
, а
квантиль
стандартного нормального распределения порядка
доверительный интервал необходимо расширить с учетом формул (5) и (6).
В соответствии с проведенными рассуждениями для аддитивных статистик асимптотическая нотна имеет вид
при ограничениях (1) на
абсолютную погрешность
при ограничениях на относительную
погрешность
. В первом случае нотна является обобщением понятия предельной абсолютной систематической ошибки, во втором – предельной относительной систематической ошибки. Отметим, что, как и в примерах 1 и 2, асимптотическая нотна не зависит от точки, в которой вычисляется. Таким образом, она является константой для конкретного метода статистического анализа данных.
Поскольку выборочного среднего квадратического отклонения
по выборке преобразованных значений
выборочного среднего квадратического отклонения
по выборке
Разность этих двух величин является бесконечно малой, они приближаются к одной и той же положительной константе.В статистике интервальных данных выборочный доверительный интервал для
В асимптотике его длина такова:
где
дисперсия
, в то время как в классической теории математической статистики имеется только второе слагаемое. Соотношение (8) – аналог суммарной ошибки у метрологов. Поскольку первое слагаемое положительно, то
оценивание
с помощью
не является состоятельным.
Для аддитивных статистик при больших максимум (по возможным погрешностям) среднего квадрата отклонения оценки имеет вид
с точностью до членов более высокого порядка. Исходя из принципа уравнивания погрешностей в общей схеме устойчивости [
], нецелесообразно второе слагаемое в (9) делать меньше первого за счет увеличения объема выборки
. Рациональный
объем выборки
, т.е. тот объем, при котором равны погрешности оценивания (или проверки гипотез), вызванные погрешностями исходных данных, и статистические погрешности, рассчитанные
по
обычным правилам математической статистики (при
), для аддитивных статистик согласно (9) имеет вид
В качестве примера рассмотрим экспоненциально распределенные результаты наблюдений выборочного среднего арифметического при ограничениях на относительную погрешность. Тогда согласно формуле (10)В частности, если относительная погрешность измерений
объем выборки равен 100. Формуле (10) соответствует также рассмотренный выше пример 1.Пример 4. Оценивание медианы распределения с помощью выборочной медианы. Хотя нельзя выделить главный линейный член из-за недифференцируемости функции
абсолютные погрешности
а при ограничениях на
относительные погрешности
с точностью до бесконечно малых более высокого порядка, где
– теоретическая
медианаДоверительный интервал
для медианы имеет вид
где
доверительный интервал
для медианы (см. 8.1), вычисленный
по
классическим правилам непараметрической статистики [
]. Для нахождения рационального объема выборки можно использовать асимптотическую дисперсию выборочной медианы. Она, как известно (см., например, [
, с.178]), равна
где
– плотность распределения результатов измерений в точке
. Следовательно, рациональный
объем выборки
имеет вид
при ограничениях на абсолютные и
относительные погрешности
результатов измерений соответственно. Для практического использования этих формул следует оценить плотность распределения результатов измерений в одной точке – теоретической медиане. Это можно сделать с помощью тех или иных непараметрических оценок плотности (см. 5.6 и [
]).
Если результаты наблюдений имеют стандартное нормальное распределение с математическим ожиданием 0 и дисперсией 1, то
В этом случае рациональный объем выборки в
[
12.18
]
], рассматриваемое соотношение объемов может принимать любое значение между 0 и 3.
Пример 5. Оценивание коэффициента вариации. Рассмотрим выборочный коэффициент вариации
Как нетрудно подсчитать,
В случае ограничений на относительную погрешность
На основе этого предельного соотношения и формулы для асимптотической дисперсии выборочного коэффициента вариации, приведенной в 8.1 и [
[
12.38
]
], могут быть найдены по описанной выше схеме доверительные границы для теоретического коэффициента вариации и рациональный объем выборки.
Замечание. Отметим, что формулы для рационального объема выборки получены на основе асимптотической теории, а применяются для получения конечных объемов – 11, 36 и 100 в примерах 1-3. Как всегда при использовании асимптотических результатов математической статистики, необходимы дополнительные исследования для изучения точности асимптотических формул при конечных объемах выборок.
Рассмотрим классическую в прикладной математической статистике параметрическую задачу оценивания. Исходные данные – выборка
Все результаты наблюдений определяются с некоторой точностью, в частности, записываются с помощью конечного числа значащих цифр (обычно 2-5). Следовательно, все реальные распределения результатов наблюдений дискретны. Обычно считают, что эти дискретные распределения достаточно хорошо приближаются непрерывными. Уточняя это утверждение, приходим к уже рассматривавшейся модели, согласно которой статистику доступны лишь величины
где
– “истинные” значения,
– погрешности наблюдений (включая погрешности дискретизации). В вероятностной модели принимаем, что
пар
образуют простую
случайную выборку
из некоторого двумерного распределения, причем
выборка
из распределения с плотностью
. Необходимо учитывать, что
– реализации зависимых случайных величин (если считать их независимыми, то распределение
будет непрерывным, а не дискретным). Поскольку систематическую ошибку, как правило, нельзя полностью исключить, то необходимо рассматривать случай
.
Нет оснований априори принимать и нормальность распределения погрешностей (согласно сводкам экспериментальных данных о разнообразии форм распределения погрешностей измерений, приведенным в [
, с.71-77], в подавляющем большинстве случаев
гипотеза
о нормальном распределении погрешностей оказалась неприемлемой для средств измерений различных типов). Таким образом, все три распространенных представления о свойствах погрешностей не адекватны реальности. Влияние погрешностей наблюдений на свойства статистических моделей необходимо изучать на основе иных моделей, а именно, моделей интервальной статистики.
Пусть объем выборки достаточно велик
В дальнейшем изложение идет на примере оценивания параметров гамма-распределения, хотя аналогичные результаты можно получить и для других параметрических семейств, а также для задач проверки гипотез (см. ниже) и т.д. Наша цель – продемонстрировать основные черты подхода статистики интервальных данных.
Отметим, что постановки статистики объектов нечисловой природы соответствуют подходу, принятому в общей теории устойчивости [
[
1.15
]
,
[
12.38
]
]. В соответствии с этим подходом выборке абсолютная погрешность результатов измерений не превосходит
относительная погрешность не превосходит
Теория устойчивости позволяет учесть “наихудшие” отклонения, т.е. приводит к выводам типа минимаксных, в то время как конкретные модели погрешностей позволяют делать заключения о поведении статистик “в среднем”.
Оценки параметров гамма-распределения. Как известно, случайная величина
[
12.12
]
]:
где
параметр
формы,
параметр
масштаба,
– гамма-
функция
. Отметим, что есть и иные способы
параметризации
семейства гамма-распределений [
] (см также 6.1).
Поскольку
где
выборочное среднее
арифметическое, а
– выборочная
дисперсия
. Можно показать, что при больших
с точностью до бесконечно малых более высокого порядка.
Оценка максимального правдоподобия
[
12.12
]
]:
где
функция
, обратная к функции
При больших оценка максимального правдоподобия
[
12.12
]
], что при больших
с точностью до бесконечно малых более высокого порядка. Сравнивая с формулами (11), убеждаемся в том, что средние квадраты ошибок для оценок метода моментов больше соответствующих средних квадратов ошибок для
оценок максимального правдоподобия
. Таким образом, с точки зрения классической математической статистики
оценки максимального правдоподобия
имеют преимущество
по
сравнению с оценками метода моментов.
.4. Линейный регрессионный анализ интервальных данных
Перейдем к многомерному статистическому анализу. Сначала с позиций асимптотической математической статистики интервальных данных рассмотрим оценки метода наименьших квадратов (МНК).
Статистическое исследование зависимостей – одна из наиболее важных задач, которые возникают в различных областях науки и техники. Под словами “исследование зависимостей” имеется в виду выявление и описание существующей связи между исследуемыми переменными на основании результатов статистических наблюдений.
К методам исследования зависимостей относятся регрессионный анализ, многомерное шкалирование, идентификация параметров динамических объектов, факторный анализ, дисперсионный анализ, корреляционный анализ и др.
Если какая-либо группа объектов характеризуется переменными однозначный результат. Реально результатом измерения какой-либо величины
нижняя граница и
верхняя граница. Причем
значение измеряемой величины. Результат измерения можно записать как
погрешность измерения.
Метод наименьших квадратов для интервальных данных. Пусть математическая модель задана следующим образом:
где
вектор
влияющих переменных (факторов), поддающихся измерению;
вектор
оцениваемых параметров модели;
– отклик модели (скаляр);
– скалярная
функция
векторов
; наконец,
– случайная ошибка (
невязкапогрешностьПусть проведено
где
матрица
значений измеренного вектора
опытах;
вектор
значений измеренного отклика в
опытах;
вектор
случайных ошибок. Тогда выполняется матричное соотношение:
где
, причем
-мерные вектора, которые составляют матрицу
где
матрица весов
, не зависящая от
. Тогда в качестве оценки
можно выбрать такое
, при котором
мера
близости
принимает минимальное
значение
, т.е.
В общем случае решение этой экстремальной задачи может быть не единственным. Поэтому в дальнейшем будем иметь в виду одно из этих решений. Оно может быть выражено в виде по
область определения функции
метода наименьших квадратов заключается в сравнительной простоте и универсальности вычислительных процедур. Однако не всегда оценка МНК является состоятельной (при функции
по векторному параметру b), что ограничивает его применение на практике.Важным частным случаем является линейный МНК, когда
функция от
где, возможно,
, а
свободный член
линейной комбинации. Как известно, в этом случае МНК-оценка имеет вид:
Если матрицаматрица весов
Тогда, как известно, оценки МНК являются наилучшими линейными оценками, т.е. состоятельными и несмещенными оценками, которые представляют собой линейные функции результатов наблюдений и обладают минимальными дисперсиями среди множества всех линейных несмещенных оценок. Далее именно этот наиболее практически важный частный случай рассмотрим более подробно.
Как и в других постановках асимптотической математической статистики интервальных данных, при использовании МНК измеренные величины отличаются от истинных значений из-за наличия погрешностей измерения. Запишем истинные данные в следующей форме:
где
индекс
, указывающий на то, что
значение
истинное. Истинные и измеренные данные связаны следующим образом:
где
. Предположим, что погрешности измерения отвечают граничным условиям
аналогичным ограничениям (1).
Пусть множество область определения функции
по истинным значениям факторов и отклика, и
по искаженным погрешностями данным. Тогда
Ввести понятие нотны придется несколько иначе, чем это было сделано выше, поскольку оценивается не одномерный параметр, а вектор. Положим:
Будем называть нотной, а
нотной. Предположим, что при безграничном возрастании числа измерений
постоянным значениям
нотной.Рассмотрим доверительное множество
евклидовом пространстве такое, что
доверительная вероятность, соответствующая
доверительной вероятностью
нотн следует, что всегда
интервал описывает
множества и устремляя
множества
По определению меры она удовлетворяет условию: если
площадь для
где
. Здесь
характеризует меру статистической неопределенности, в большинстве случаев она убывает при увеличении числа опытов
. В то же время
характеризует меру интервальной (метрологической) неопределенности, и, как правило,
стремится к некоторой постоянной величине при увеличении числа опытов
. Пусть теперь требуется найти то число опытов, при котором статистическая неопределенность составляет
-ю часть общей неопределенности, т.е.
где
. Тогда, подставив соотношение (50) в
равенство
(49) и решив уравнение относительно
, получим искомое число опытов. В асимптотической математической статистике интервальных данных оно называется “рациональным объемом выборки”. При этом
есть “степень малости” статистической неопределенности
относительно всей неопределенности. Она выбирается из практических соображений. При использовании “принципа уравнивания погрешностей” согласно [
] имеем
Метод наименьших квадратов для линейной модели. Рассмотрим наиболее важный для практики частный случай МНК, когда модель описывается линейным уравнением (см. выше).
Для простоты описания преобразований пронормируем переменные
где
Тогда
В дальнейшем изложении будем считать, что рассматриваемые переменные пронормированы описанным образом, и верхние индексы 0 опустим. Для облегчения демонстрации основных идей примем достаточно естественные предположения.
1. Для рассматриваемых переменных существуют следующие пределы:
2. Количество опытов n таково, что можно пользоваться асимптотическими результатами, полученными при
3. Погрешности измерения удовлетворяют одному из следующих типов ограничений:
тип 1. Абсолютные погрешности измерения ограничены согласно (48);
Относительные погрешности измерения ограничены:
тип 3. Ограничения наложены на сумму погрешностей:
(поскольку все переменные отнормированы, т.е. представляют собой относительные величины, то различие в размерности исходных переменных не влияет на возможность сложения погрешностей).
Перейдем к вычислению нотны оценки МНК. Справедливо равенство:
Воспользуемся следующей теоремой из теории матриц [
[
12.10
]
].
Теорема. Если функциястепенной ряд в круге сходимости
то это разложение сохраняет силу, если скалярный
аргумент
заменить любой матрицей
, характеристические числа которой
, лежат внутри круга сходимости.
Из этой теоремы вытекает, что:
Легко убедиться, что:
Это вытекает из последовательности равенств:
Применим приведенную выше теорему из теории матриц, полагая собственные числа этой матрицы удовлетворяют неравенству
Подставив последнее соотношение в заключение упомянутой теоремы, получим:
Для дальнейшего анализа понадобится вспомогательное утверждение. Исходя из предположений 1-3, докажем, что:
Доказательство
. Справедливо
равенство
где
– состоятельные и несмещенные оценки дисперсий и коэффициентов ковариации. Следовательно,
тогда
где
Другими словами, каждый элемент матрицы, обозначенной как бесконечно малая величина порядка
собственные числа матрицы
по модулю, тогда
что и требовалось доказать.
Подставим доказанное асимптотическое соотношение в формулу для приращения
Перейдем от матричной к скалярной форме, опуская индекс (R):
Будем искать по
типа ограничений на ошибки измерения.
Тип 1 (абсолютные погрешности измерения ограничены). Тогда:
Тип 2 (относительные погрешности измерения ограничены). Аналогично получим:
Тип З (ограничения наложены на сумму погрешностей). Предположим, что
тогда:
Ввиду линейности последнего выражения и выполнения ограничения типа 3:
Для простоты записей выкладок сделаем следующие замены:
Теперь для достижения поставленной цели можно сформулировать следующую задачу, которая разделяется на
где
при ограничениях
Перепишем минимизируемые функции в следующем виде:
Очевидно, что
Легко видеть, что
Следовательно, необходимо решить
при ограничениях “типа равенства”:
Сформулирована типовая задача поиска экстремума функции. Она легко решается. Поскольку
то максимальное отклонение МНК-оценки k-ого параметра равно
Кроме рассмотренных выше трех видов ограничений на погрешности могут представлять интерес и другие, но для демонстрации типовых результатов ограничимся только этими тремя видами.
Оценивание линейной корреляционной связи. В качестве примера рассмотрим оценивание линейной корреляционной связи случайных величин связь описывается соотношением:
где
– постоянные, а
случайная величина
некоррелирована с
. Допустим, необходимо оценить неизвестные параметры
по
серии независимых испытаний:
Здесь при каждом
[
12.41
]
].Пусть величины дополнение к попарной независимости имеют единичные дисперсии. Тогда из закона больших чисел [
[
12.41
]
] следует существование следующих пределов (ср. предположение 1 выше):
где
– среднее квадратическое отклонение случайной величины
приращение величины
Перейдем к предельному случаю и выпишем выражение для нотны:
В качестве примера рассмотрим случай выражение для максимального приращения метрологической погрешности не может быть использовано в случае
выражение для нотны, исходя из соотношения:Подставив
Следовательно, нотна выглядит так:
Математическая постановка задачи аппроксимации функции
.1 Аппроксимация полиномом
Входные данные:
Множество точек
Выходные данные:
Множество
Аналитическое решение:
Алгоритм аппроксимации полиномом:
)
Графическое представление алгоритма:
На рисунке 2.1 представлена схема алгоритма.
Рисунок 2.1 – Графическое представление алгоритма
2.2 Аппроксимация различными кривыми, нахождение
коэффициентов которых сводиться к нахождения коэффициентов прямой
Входные данные:
Множество точек
Выходные данные:
Аналитическое решение:
наименьший квадрат аппроксимация многочлен
где – для
экспоненты,
Алгоритм решения поставленной задачи:
) Для каждого элемента
Графическое представление алгоритма:
На рисунке 2.2 изображена схема алгоритма.
Рисунок 2.2 – Схема алгоритма решаемой задачи
3.
Тестирование разработанной программы
На рисунке 3.1 представлена работа программы на одном из
тестов.
Рисунок 3.1 – Работа программы во время одного из тестов
Тестирование производилось на наборе точек, согласно варианту
(18 вариант).
Исходный набор точек представлен в таблице 3.1.
1,800 | 2,750 | 3,800 | 5,250 | 6,150 | 6,900 | 8,150 | 9,200 | 9,850 | ||
2,250 | 2,400 | 2,083 | 2,283 | 2,467 | 2,417 | 2,717 | 3,017 | 3,317 | 4,033 | |
10,550 | 10,950 | 11,650 | 12,750 | 14,150 | 15,000 | 15,950 | 17,200 | 18,150 | 19,450 | |
3,850 | 4,300 | 4,483 | 4,250 | 4,800 | 4,917 | 5,133 | 5,450 | 5,300 | 5,550 | |
20,450 | 20,700 | 21,850 | 22,800 | 23,550 | 23,800 | 24,850 | 25,350 | 26,050 | 27,850 | |
5,417 | 5,833 | 6,033 | 6,367 | 6,667 | 7,150 | 6,950 | 7,400 | 7,633 | 7,783 |
Таблица 3.1 – Набор точек для тестов
В ходе первого теста было выполнено приближение полиномом не
выше второй степени. Результаты теста представлены на рисунке 3.2.
Рисунок 3.2 – Аппроксимация полиномом второй степени
Из рисунка видно, что был получен следующий полином:
Сумма отклонений достаточно небольшая, так что можно говорить, что
аппроксимация в данном случае довольно точная.
В следующем тесте в качестве аппроксимирующей функции
использовалась прямая. Результат показа на рисунке 3.3.
Рисунок 3.3 – Аппроксимация прямой
Получившаяся прямая задается следующим уравнением:
Сумма отклонений при этом составляет
Следующее приближение было выполнено с помощью степенной функции.
Результат показан на рисунке 3.4.
Рисунок 3.4 – Аппроксимация степенной функцией
Получившаяся зависимость:
В качестве следующей функции была выбрана экспонента. Результат
работы программы изображен на рисунке 3.5.
Рисунок 3.5 – Аппроксимация экспонентой
Получавшая зависимость имеет вид:
Результаты приближения дробно-линейной функцией изображены на
рисунке 3.6.
Рисунок 3.6 – Аппроксимация дробно-линейно функцией
Аппроксимирующая функция имеет следующий вид:
Сумма отклонений
В качестве последней функции была выбрана дробно-рациональная
функция. Результаты работы представлены на рисунке 3.7.
Рисунок 3.7 – Аппроксимация дробно-рациональной функцией
Получившаяся зависимость выглядит следующим образом:
Сумма отклонений равна 58.4304559204583. Из всех представленных
функций, данная функция имеет наибольшую сумму квадратов отклонений.
На основании тестов, можно сказать, что для данного набора точек,
для исследования лучше выбрать аппроксимацию параболой или прямой.
Заключение
В результате проделанной работы были изучены способы
аппроксимации функции методом наименьших квадратов. В качестве аппроксимирующих
кривых были выбраны: полином, прямая, степенная функция, экспонента,
дробно-линейная функция и дробно-рациональная функция.
Для каждого различного набора точек, наилучшим образом
сглаживать его будет различная функция.
Был составлен алгоритм решения задачи различными способами.
На основании алгоритмов была составлена программа,
реализующая данные методы.
Для тестового набора данных было установлено, что наилучшее
сглаживание дает парабола. Также достаточно хорошо слаживает набор точек
прямая.
Список литературы
1 А.А.
Амосов, Ю.А. Дубинский, Вычислительные методы для инженеров. – М.: Высш.шк.,
1994. – с.544
Н.С.
Бахвалов, Численные методы. – М.: Наука, 1975. – с.190
3 Б.П.
Демидович, Основы вычислительной математики. – М.:Наука, 1966. -с.664
Приложение А (обязательное)
Текст программы
Unit1;, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,, ComCtrls, ExtDlgs, StdCtrls, math, ExtCtrls,ShellAPI;
//типы функция=
(fnLine,fnPower,fnExp,fnDrLine,fnDrRac,fnPolinom);
//структура для коэффицниетов не полинома=
record,b:extended;:boolean;;
//точка на плоскостиd = record,y:extended;;= array of
TPoint2d;= array of extended;= array of array of extended;= class(TForm):
TListView;: TButton;: TOpenTextFileDialog;: TPaintBox;: TComboBox;: TLabel;:
TLabel;: TEdit;: TEdit;: TLabel;: TButton;: TLabel;: TColorBox;: TMemo;:
TButton;: TLabel;: TTrackBar;
Button1Click(Sender: TObject);FormCreate(Sender:
TObject);Button2Click(Sender: TObject);PaintBox1Paint(Sender:
TObject);PaintBox1MouseDown(Sender: TObject; Button: TMouseButton;:
TShiftState; X, Y: Integer);TrackBar1Change(Sender:
TObject);Button3Click(Sender: TObject);:boolean;:fnType;:Tmas;:TKoef;,cw:integer;
{ Private declarations }
//получить точки из файлаGetPointsOutFile(path:string);
//решить систему методом
ГауссаSolveGauss(matrix:TMatrix):Tmas;
//получить коэффициенты
полиномаGetPolinomKoef(points:TPointArray; m:integer):Tmas;
//получить коэффициенты не
полиномаGetFuncKoef(points:TPointArray; fType:fnType):TKoef;
//значение функции от полиномаF(func:Tmas;
x:extended):extended;
{ Public declarations };: TForm1;
{$R *.dfm}TForm1.Button2Click(Sender: TObject);points:TPointArray;,m:
Integer;:fnType;:extended;(points,ListView1.Items.Count);I:= 0 to
ListView1.Items.Count – 1
do[i].x:=strToFloat(ListView1.Items[i].Caption);[i].y:=strToFloat(ListView1.Items[i].SubItems[0]);;(comboBox1.ItemIndex)
of
// установливаем тип фукнции
: fType:=fnPolinom;
: fType:=fnLine;
: fType:=fnPower;
: fType:=fnExp;
: fType:=fnDrLine;
: fType:=fnDrRac(‘Не выбран тип функции’);;;;
//если полиномfType=fnPolinom
then:=strToInt(edit2.Text);:=GetPolinomKoef(points,m);.Clear;.Lines.Add(”);i:=
m downto 1 do.Lines[0]:=memo1.Lines[0]
(‘%.4fx^%d ‘,[polinom[i],i]);.Lines[0]:=memo1.Lines[0]
Format(‘%.4f’,[polinom[0]]);:=true;:=fnPolinom;:=0;I:= 0 to length(points) – 1
do:=sum power((points[i].y-F(polinom,points[i].x)),2);.Text:=floatToStr(sum);;
//если не полином))))(fType<>fnPolinom)
then:=GetFuncKoef(points,fType);(not koef.isKorret) then.Lines[0]:=’Не возможно
по данным точкам посторить выбранную кривую’;:=false;;;:=true;:=fType;fType of
//обрабатываем в зависимости от типа:.Lines[0]:=Format(‘f(x)
= %.4fx %.4f’,[koef.k,koef.b]);:=0;I:= 0 to length(points) – 1 do:=sum
power((points[i].y-(koef.k*points[i].x koef.b)),2);.Text:=floatToStr(sum);;:.Lines[0]:=Format(‘f(x)
= %.4fx^%.4f’,[koef.b,koef.k]);:=0;I:
= 0 to length(points) – 1 do:=sum power((points[i].y-(koef.b*power(points[i].x,koef.k))),2);.Text:=floatToStr(sum);;:.Lines[0]:=Format(‘f(x)
= %.4fe^%.4fx’,[koef.b,koef.k]);:=0;I:= 0 to length(points) – 1 do:=sum
power((points[i].y-(koef.b*exp(koef.k*points[i].x))),2);.Text:
=floatToStr(sum);;:.Lines[0]:=Format(‘f(x)
= 1/(%.4fx %.4f)’,[koef.k,koef.b]);:=0;I:= 0 to length(points) – 1 do:=sum
power((points[i].y-(1/(koef.k*points[i].x koef.b))),2);.Text:=floatToStr(sum);;:.Lines[0]:=Format(‘f(x)
= x/(%.4fx %.4f)’,[koef.b,koef.k]);:=0;I:
//запускаем руководство пользователя(Handle, nil,
PWideChar(‘Справка.docx’),nil
, nil, SW_SHOW);;TForm1.FormCreate(Sender:
TObject);.Text:=’Аппроксимация’;:=false;:=nil;.isKorret:=false;:=PaintBox1.Height
div 2;:=PaintBox1.Width div 6;;TForm1.F(func: Tmas; x:
Extended):extended;i:integer;:=0;I:= 0 to length(func) – 1 do:=result
func[i]*power(x,i);;Tform1.
GetFuncKoef(points: TPointArray; fType:
fnType):Tkoef;k,A:extended;:integer;,Sxx,Sy,Sxy:extended;:word;:integer;:=0;:=0;
Sxx:=0; Sy:=0; Sxy:=0;fType of:I:= 0 to length(points) – 1
do(n);:=Sx points[i].x;:=Sxx power(points[i].x,2);:=Sy points[i].y;:=Sxy
points[i].x*points[i].y;;;:I:= 0 to length(points) – 1
do(points[i].x<0.00000000001) or
(points[i].y<0.00000000001)
then:=MessageBox(Handle,PChar(Format(‘Точка (%f; %f) не удовлетваряет
формату.n’,
[points[i].x,points[i].y]) ‘Пропустить ее?’),Pchar(‘Не верная
точка’),_ICONQUESTION MB_YESNO MB_DEFBUTTON2);Res=IDYes then
continue;.isKorret:=false;;;;(n);:=Sx ln(points[i].x);:=Sxx
power(ln(points[i].x),2);:=Sy ln(points[i].y);:=Sxy
ln(points[i].x)*ln(points[i].y);;//for i;//fnPower:I:
[points[i].x,points[i].y]) ‘Пропустить ее?’),PChar(‘Не верная
точка’),_ICONQUESTION MB_YESNO MB_DEFBUTTON2);Res=IDYes then
continue;.isKorret:=false;;;(n);:=Sx points[i].x;:=Sxx
power(points[i].x,2);:=Sy ln(points[i].y);:=Sxy
points[i].x*ln(points[i].y);;//for i;//fnExp;:I:
[points[i].x,points[i].y]) ‘Пропустить ее?’),PChar(‘Не верная
точка’),_ICONQUESTION MB_YESNO MB_DEFBUTTON2);Res=IDYes then
continue;.isKorret:=false;;;(n);:=Sx points[i].x;:=Sxx power(points[i].x,2);:=Sy
1/points[i].y;:=Sxy points[i].x/points[i].y;;//for i;//fnDrLine;:I:= 0 to
length(points) – 1 do(abs(points[i].y)<0.00000000001) or
[points[i].x,points[i].y]) ‘Пропустить ее?’),PChar(‘Не верная
точка’),_ICONQUESTION MB_YESNO MB_DEFBUTTON2);Res=IDYes then
continue;.isKorret:=false;;;(n);:=Sx 1/points[i].x;:=Sxx
1/power((points[i].x),2);:=Sy 1/points[i].y;:=Sxy 1/(points[i].x*points[i].y);;//for
i;//fnDrRac;:.isKorret:=false;;;;//case
of:=(n*Sxy-Sy*Sx)/(n*Sxx-Sx*Sx);:
=(Sxx*Sy-Sx*Sxy)/(n*Sxx-Sx*Sx);(fType=fnExp)
or (fType=fnPower) then
A:=exp(A);.k:=k;.b:=a;.isKorret:=true;;TForm1.GetPolinomKoef(points:
TPointArray; m:integer):Tmas;matrix:Tmatrix;,j,k:integer;(matrix,m 1,m 2);I:= 0
to length(matrix) – 1 doj:= 0 to length(matrix) – 1 dok:
= 0 to length(points) –
1 do[i,j]:=matrix[i,j] power(points[k].x,i j);I:= 0 to length(matrix) – 1
doj:= 0 to length(points) – 1 do[i,m 1]:=matrix[i,m 1] points[j].y*power(points[j].x,i);:=SolveGauss(matrix);;TForm1.PaintBox1MouseDown(Sender:
TObject; Button: TMouseButton;: TShiftState; X, Y:
Integer);:=x;:=y;.Repaint;;TForm1.PaintBox1Paint(Sender:
TObject);p:TpointArray;,m:integer; //m – масштаб графика,y:integer;:real;:=trackBar1.Position;
//получаем точки(p,ListView1.Items.Count);I:= 0 to
ListView1.Items.Count – 1
do[i].X:=strToFloat(listView1.Items[i].Caption);[i].Y:=strToFloat(ListView1.Items[i].SubItems[0]);;paintbox1.Canvas
do.Color:=clBlack;(cw,0);(cw,PaintBox1.Height);(0,ch);(paintBox1.width,ch);
//устанавливаем точкиI:= 0 to length(p) – 1
do(round(p[i].x*m)-3 cw,-round(p[i].y*m)-3 ch,(p[i].x*m) 3 cw,-round(p[i].y*m) 3 ch);(bildFunction)
thenfuncTYpe of:.Color:=colorBox1.Selected;:=p[0].x;(round(t*m) cw,-round((koef.k*t koef.b)*m) ch);(t<p[length(p)-1].x)
do:=round(t*m) cw;:=-round((koef.k*t koef.b)*m) ch;(x,y);:=t 0.1;;//while;//fnLine;:.Color:=colorBox1.Selected;:=0;(round(t*m) cw,-round((koef.b*power(t,koef.k))*m) ch);(t<p[length(p)-1].x)
do:=round(t*m) cw;:=-round((koef.b*power(t,koef.k))*m) ch;(x,y);:=t 0.1;;//while;//fnPower:.Color:=colorBox1.Selected;:=0;(round(t*m) cw,-round(koef.b*exp(t*koef.k)*m) ch);(t<p[length(p)-1].x)
do:=round(t*m) cw;:=-round(koef.b*exp(t*koef.k)*m) ch;(x,y);:=t 0.1;;//while;//fnExp:.Color:=colorBox1.Selected;:=p[0].x;(round(t*m)
cw,-round(1/(koef.k*t koef.b)*m) ch);(t<p[length(p)-1].x)
do(abs(koef.k*t koef.b)>=0.001)
then:=round(t*m) cw;:=-round(1/(koef.k*t koef.b)*m) ch;(x,y);:=round((t 0.1)*m) cw;:=-round(1/(koef.k*(t 0.1) koef.b)*m) ch;(x,y);;:=t 0.1;;//while;//fnDrLine;:.Color:=colorBox1.Selected;:=p[0].x;(round(t*m) cw,-round(t/(koef.b*t koef.k)*m) ch);(t<p[length(p)-1].x)
do(abs(koef.k*t koef.b)>=0.001)
then:=round(t*m) cw;:=-round(t/(koef.b*t koef.k)*m) ch;(x,y);:=round((t 0.1)*m) cw;:=-round((t 0.1)/(koef.b*(t 0.1) koef.k)*m) ch;(x,y);;:=t 0.1;;//while;//fnDrLine;;:.Color:=colorBox1.Selected;:=p[0].x;(round(t*m)
//считываем точкиTForm1.Button1Click(Sender:
TObject);(OpenTextFileDialog1.Execute)
then(OpenTextFileDialog1.FileName);:=false;.Repaint;;;TForm1.GetPointsOutFile(path:
string);f:TextFile;,y:extended;,str2,str3:string;:integer;.Clear;(f,path);(f);(not
eof(f)) do(f,str);:=Pos(‘
‘,str);:=copy(str,1,token-1);:=copy(str,token 1,Length(str)-length(str2));
// заменяем точки на запятые для корректного
конвертирования:=Pos(‘.’,str2);(Token>0) then str2[token]:=’,’;:=Pos(‘.’,str3);(Token>0)
then
str3[token]:=’,’;:=StrToFloat(str2);:=StrToFloat(str3);.Items.Add;.Items[listView1.Items.Count-1].Caption:=str2;.
Items[ListView1.Items.Count-1].SubItems.add(str3);;EConvertError
do ShowMessage(‘Неверный формат данных’);EFileNotFoundException do
ShowMessage(‘Файл не найден’);EInOutError do ShowMessage(‘Выбран не верный
файл’);;(f);;swapLine(Sys:Tmatrix; a,b:integer);i:integer;:extended;i:
//приводим матрицу к диаганальному видуI:= 0 to a-2
do:=i;:=i;:=abs(matrix[i,i]);j:= i to a -1 do(abs(matrix[j,i])>max)
then:=abs(matrix[j,i]);:=j;;(L1<>L2) then swapLine(matrix,L1,L2);j:= i 1
to a – 1 do:= matrix[j,i]/matrix[i,i];k:= i to b – 1
do[j,k]:=matrix[j,k]-buf*matrix[i,k];;//end for j; //end for i(answer,a);
//вычитываем ответыI:= a-1 downto 0 do:=matrix[i,b-1];j:= b-2
downto i 1 do buf:=buf-matrix[i,j]*answer[j];[i]:=buf/matrix[i,i];;//end for
i:=answer;;TForm1.TrackBar1Change(Sender: TObject);.Repaint;;.