Функции > Анализ данных > Аппроксимация кривой > Пример. Регрессия рациональной функции 1
  
Пример. Регрессия рациональной функции 1
rationalfit
Используйте функцию rationalfit для аппроксимации данных рациональным полиномом.
1. Задайте набор данных.
Нажать для копирования этого выражения
Нажать для копирования этого выражения
Нажать для копирования этого выражения
Этот набор данных получен в исследовании подвижности электронов в полупроводниках, проведенном NIST. Независимая переменная vx является натуральным логарифмом плотности. Переменная отклика vy является показателем подвижности электронов.
2. Задайте порядок числителя и знаменателя рациональной функции.
Нажать для копирования этого выражения
Нажать для копирования этого выражения
Аппроксимирующая функция имеет следующую форму:
Нажать для копирования этого выражения
3. Задайте границу доверительного интервала.
Нажать для копирования этого выражения
4. Вызовите функцию rationalfit.
Нажать для копирования этого выражения
Нажать для копирования этого выражения
Первый столбец выводимых данных содержит значения параметров. Второй и третий столбцы содержат, соответственно, выходные значения для нижней и верхней границ доверительного интервала.
5. Сравните значения параметров с правильными значениями, приведенными на Web-сайте NIST.
Нажать для копирования этого выраженияНажать для копирования этого выражения
6. Постройте графики данных, регрессии рациональной функции и аппроксимации, определенной параметрами NIST.
Нажать для копирования этого выражения
Нажать для копирования этого выражения
Нажать для копирования этого выражения
Аппроксимация с помощью регрессии рациональной функции практически идеальна, что подтверждается коэффициентом корреляции:
Нажать для копирования этого выражения
График невязки
Постройте график невязки для визуальной оценки степени согласия регрессии.
1. Определите степень свободы.
Нажать для копирования этого выражения
2. Вычислите невязки.
Нажать для копирования этого выражения
3. Вычислите сумму квадратов невязок.
Нажать для копирования этого выражения
4. Вычислите среднеквадратическое отклонение.
Нажать для копирования этого выражения
5. Повторите шаги 2-4 со значениями, взятыми с веб-сайта NIST.
Нажать для копирования этого выражения
Нажать для копирования этого выражения
Нажать для копирования этого выражения
6. Сравните результаты для двух аппроксимаций.
Нажать для копирования этого выражения
Нажать для копирования этого выражения
7. Постройте график точек данных и невязок.
Нажать для копирования этого выражения
Ограничения, среднеквадратическое отклонение и допуск
У функции rationalfit есть несколько необязательных аргументов: вектор среднеквадратического отклонения, матрица нижних и верхних границ, точность и параметр noscale. Любые из этих необязательных аргументов можно использовать по отдельности, но для первых трех аргументов, определенных выше, имеет значение порядок их задания.
1. Создайте матрицу нижних и верхних границ параметров.
Нажать для копирования этого выражения
Нажать для копирования этого выражения
Нажать для копирования этого выражения
2. Создайте вектор среднеквадратических отклонений для параметров.
Нажать для копирования этого выражения
Если вектор среднеквадратических отклонений вводится в виде аргумента функции rationalfit, решатель минимизирует следующую функцию:
Нажать для копирования этого выражения
Если среднеквадратическое отклонение для точки равно 0, для этой точки используется исходная функция, т. е. StdYi равно 1.
3. Задайте точность. Значение по умолчанию 10-7.
Нажать для копирования этого выражения
4. 4. Вызовите функцию rationalfit. Сравните полученные значения параметров с правильными значениями на Web-сайте NIST.
Нажать для копирования этого выражения
Нажать для копирования этого выражения
Нажать для копирования этого выражения
Функция rationalfit автоматически масштабирует входные данные, поэтому точность может оставаться масштабно-инвариантной. Затем выходные параметры масштабируются в соответствии с исходными данными. В большинстве случаев это гарантирует достижение аппроксимации независимо от относительного масштаба входных данных. Если возникают трудности с достижением хорошей аппроксимации, можно добавить в конец списка аргументов строку “noscale” для отключения этой опции.