Используйте функции 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 для данных согласно среднеквадратическим отклонениям.