Функции > Анализ данных > Аппроксимация кривой > Пример. Степенная регрессия
  
Пример. Степенная регрессия
Используйте функции genfit и pwrfit, чтобы аппроксимировать данные с помощью модели степенной кривой.
Использование функции genfit
1. Задайте набор данных.
Нажать для копирования этого выражения
Нажать для копирования этого выражения
Нажать для копирования этого выражения
2. Определите аппроксимирующую функцию, где A и b неизвестны.
Нажать для копирования этого выражения
3. Определите вектор функции.
Нажать для копирования этого выражения
Функция ln0 используется здесь вместо ln, потому что ее можно приближенно вычислить в 0, что необходимо для настройки значений параметров при минимизации ошибки. Замена ln0 на ln приводит к потере сходимости genfit.
4. Определите вектор начальных приближений.
Нажать для копирования этого выражения
5. Используйте genfit, чтобы найти коэффициенты степенной функции.
Нажать для копирования этого выражения
Нажать для копирования этого выражения
Нажать для копирования этого выражения
6. Определите функцию, используя коэффициенты A и b.
Нажать для копирования этого выражения
7. Распечатайте точки данных и аппроксимирующую функцию.
Нажать для копирования этого выражения
Нажать для копирования этого выражения
Использование функции pwrfit
1. Определите аппроксимирующую функцию, где a, b и c неизвестны.
Нажать для копирования этого выражения
2. Определите вектор начальных приближений.
Нажать для копирования этого выражения
3. Используйте pwrfit, чтобы найти коэффициенты степенной функции.
Нажать для копирования этого выражения
Нажать для копирования этого выражения
Нажать для копирования этого выражения
Нажать для копирования этого выражения
4. Определите функцию, используя коэффициентыa, b и c.
Нажать для копирования этого выражения
5. Распечатайте точки данных и аппроксимирующую функцию.
Нажать для копирования этого выражения
Проверка критерия согласия
1. Используйте графики остаточных значений, чтобы проверить, насколько хорошо модели аппроксимируют данные.
Самые большие остаточные значения:
Нажать для копирования этого выражения
Нажать для копирования этого выражения
Самые малые остаточные значения:
Нажать для копирования этого выражения
Нажать для копирования этого выражения
Нажать для копирования этого выражения
2. Для расчета коэффициентов корреляции используйте функцию corr.
Нажать для копирования этого выражения
Нажать для копирования этого выражения
Аппроксимация выглядит намного лучше, чем мог бы показать график остаточных значений.
Для данных, которые изменяются в широком масштабе, особенно для степенных и экспоненциальных данных, которые быстро изменяются при возрастании значений X, график остаточных значений не обязательно является лучшим инструментом для того, чтобы определить качество аппроксимации.
Взвешенная функция genfit
Используйте локальные функции, чтобы изменить вектор функций, который передается в genfit, на основе других параметров.
1. Определите функцию, которая взвешивает данные согласно среднеквадратическим отклонениям данных.
Нажать для копирования этого выражения
Использование векторной формы ввода для параметров позволяет легко использовать взвешенную функцию для других типов аппроксимирующих функций с произвольным числом параметров.
2. Напишите программу, которая возвращает genfit для данных согласно среднеквадратическим отклонениям.
Нажать для копирования этого выражения
3. Определите вектор среднеквадратических отклонений.
Нажать для копирования этого выражения
4. Сдвиньте одну из точек данных из первоначального набора.
Нажать для копирования этого выражения
5. Вызовите программу и передайте в нее векторы среднеквадратических отклонений и начальных приближений.
Нажать для копирования этого выражения
Нажать для копирования этого выражения
6. Вызовите функцию genfit без весов:
Нажать для копирования этого выражения
Нажать для копирования этого выражения
7. Постройте график и сравните данные и эти две аппроксимирующие функции.
Нажать для копирования этого выражения
Функция, базирующаяся на среднеквадратических отклонениях, дает лучшую аппроксимацию.