Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Экспоненциальная регрессия






 

Попытаемся с целью повышения точности приближения аппроксимировать данные логарифмической зависимостью в нормализованном масштабе времени

 

. (1.10)

 

Программа решения задачи для модели 6-го порядка может иметь вид:

 

> > logp6=polyfit(nx, log(y), 6) %вычисление коэффициентов p1, p2, …, p6

% модели шестого порядка

logant6=exp(polyval(logp6, nx)); %вычисление значений

% функции y (антилогарифм)

semilogy(x, logant6, '-', x, y, '+')

grid on

 

logp6 =

0.086639 -0.33049 -0.1931 0.92334 0.080567 -0.32424 3.5192

 

Результат представлен на рис. 2.

 

Рис. 2. Аппроксимация логарифмической зависимостью

для модели 6-го порядка

 

Величину максимальной абсолютной ошибки аппроксимации оценим с помощью функции:

 

> > MaxErr=max(abs(logant6-y))

 

MaxErr =

7.9453

 

Оценим теперь вычеты для логарифмической модели шестого порядка. Необходимые программы и графики приведены в табл. 1.

 

 

Таблица 1

Вычеты при логарифмической аппроксимации Вычеты в натуральном масштабе
logres6=log(y)-polyval(logp6, nx); plot(x, logres6, '*') grid on       r=y-exp(polyval(logp6, nx)); plot(x, r, '*') grid on  

 

 

Для выяснения того, насколько корректной является полученная модель, можно определить доверительный интервал, а границы ошибок получить, используя выходной вспомогательный параметр s6 в функции polyfit и как входной параметр в функции polyval.

Приведем пример определения границы ошибок для нормализованного аппроксимирующего полинома шестого порядка. В следующей программе используется интервал (del2), соответствующий 95% доверительному интервалу:

 

> > [p6, s2] = polyfit(nx, y, 6) %коэффициенты полинома p6,

%структура s2, степень свободы df,

%норма вычетов normr

 

p6 =

0.46818 -11.538 1.1442 32.603 -1.716 -11.819 34.473

 

 

s2 =

R: [7x7 double]

df: 5

normr: 14.245

 

> > [y6, del2] = polyval(p6, nx, s2); %экспорт y6,

%доверительный интервал del2

plot(x, y, '+', x, y6, '-', x, y6+2*del2, ': ', x, y6-2*del2, ': ')

grid on

 

Результат представлен на рис. 3.

 

Рис. 3. К определению доверительного интервала

 

 

Экстраполяция

 

> > y6=polyval(p, nx); %вычисление значений

%полинома шестого порядка

plot(x, y6, '-') %графики объема экспорта,

% построенные по полиному

% и статистике в реальном времени

xlabel('x'), ylabel('y')

grid on

 

Результат представлен на рис. 4.

 

 

Рис. 4. Аппроксимация (то же, что и на рис. 1,

но без статистич. данных)

 

В меню Tools графического окна выбрать команду Basic Fitting.

В графическом окне появляется надпись data 1 и открывается окно Basic Fitting -1 (рис. 5), в котором необходимо установить флажок на Center and scale x data.

 

Рис. 5. Окно Basic Fitting –1

 

3. В окне Basic Fitting - 1 дважды последовательно щелкнуть по стрелке Show next panel . Окно принимает вид полного интерфейса, показанного на рис. 6.

 

Рис. 5. Полный интерфейс

В этом окне:

· Select data: data1 – список параметров, указывающих имена данных, находящихся в графическом окне (рис. 5) и связанных с интерфейсом Basic Fitting. Этот список используется для выбора множества текущих данных, которые подлежат аппроксимации. Можно аппроксимировать только одно множество данных одновременно. Тем не менее, можно реализовать множественную аппроксимацию для текущего множества данных, если использовать графический редактор (Plot Editor) для изменения имени данных.

· Center and scale X data – при установленном флажке данные центрируются (к нулевому среднему) и масштабируются (к единичной дисперсии) по оси X для повышения точности последующих вычислений. MATLAB предупреждает, если аппроксимация может быть неточной.

· Plot fits – эта панель визуально воспроизводит один или более способов аппроксимации текущих данных. Для аппроксимации возьмем полином шестого порядка – 6th degree polinomial. На графике данных появляется аппроксимирующая кривая (рис. 6).

 

Рис. 6. Результат аппроксимации полиномом шестого порядка

Окно Basic Fitting – 1 принимает вид, показанный на рис. 7.

Рис. 7. Интерфейс с аппроксимацией

 

· Check to display fits on figure – выбирает способы аппроксимации текущих данных из двух видов: интерполяционной и полиномиальной. В сплайновой интерполяции используется сплайн-функция или эрмитов кусочно-линейный полином. Полиномиальная аппроксимация реализуется с помощью функции polyfit. Можно использовать любой вид аппроксимации. Если данные содержат N значений, то выбранный аппроксимирующий полином может иметь не более N коэффициентов. Если аппроксимирующий полином имеет более N коэффициентов, интерфейс в процессе вычисления автоматически устанавливает необходимое количество коэффициентов, так что система не будет недоопределенной.

· Show equations – при установленном флажке уравнение аппроксимирующей функции отображается на графике (рис. 8).

 

 

Рис. 8. График с уравнением аппроксимирующей функции

· Plot residuals – при установленном флажке отображается график вычетов. Вычеты представляют собой разность между значениями экспериментальных данных и вычисленных с помощью аппроксимирующего полинома в каждый момент времени. График вычетов можно отобразить в виде столбцов (Bar plot), линий (Line plot) или точек (Scatter plot) в одном или различных окнах (рис. 9).

 

Рис. 9. Окно с графиком вычетов

 

· Show norm of residuals – при установленном флажке отображается норма вычетов на графике вычетов. Норма вычетов – это мера качества аппроксимации. Чем меньше норма, тем лучше аппроксимация. Норма вычетов вычисляется с помощью функции norm (V, 2), где V – вектор вычетов (рис. 10).

 

 

Рис. 10. Окно с графиком и нормой вычетов

 

· Numerical results – в этой панели отображаются численные результаты одной аппроксимации текущих данных без графика аппроксимирующей функции.

· Fit – отображает тип уравнения для аппроксимации текущих данных. Результат отображается в списке под меню. Выбор уравнения в этом меню не влияет на состояние панели Plot fits. Для отображения уравнения на графике данных, необходимо выбрать соответствующую строку на панели Plot fits.

· Coefficients and norm of residuals – отображает числовые значения коэффициентов аппроксимирующего уравнения, выбранного на панели Fit (Coefficients) и норму вычетов (Norm of residuals).Заметим, что если первой открылась панель Numerical Results, то отображаются результаты, которые выбраны последними на панели Plot fits.

· Save to workspace – открывает диалоговое окно, позволяющее сохранить результаты аппроксимации в рабочем пространстве переменных (рис. 11).

 

 

Рис. 11. Окно сохранения результатов аппроксимации

 

· Find Y = f(X) – экстраполирует текущую аппроксимацию. Установить период прогнозирования: 10: 12 и щелкнуть по Evaluate. Окно Basic Fitting - 1 принимает вид, показанный на рис. 12.

 

 

Рис. 12. Интерфейс с прогнозированием

 

Поставить флажок на Plot evaluated results. Получим график, показанный на рис. 13.

 

Рис. 13. Окно с графиком экстраполяции и нормой вычетов

Ромбами отмечены прогнозируемые значения экспорта на X – XII месяцы по данным наблюдения в предшествующий период.

Таблица сравнения статистических и прогнозируемых значений экспорта:

Месяцы Статистика Прогноз
X 34, 2 42, 7
XI 54, 6  
XII 44, 1  

 


*) Державний комітет статистики України, 1998-2008






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.