Как сделать нелинейную функцию сделать линейной

Обновлено: 07.07.2024

Задача отыскания функциональной зависимости очень важна, поэтому для ее решения в MS Excel введен набор функций, основанных на методе наименьших квадратов. В качестве результата выдаются не только коэффициенты функции, приближающей данные, но и статистические характеристики полученных результатов.

Смысл выходной статистической информации функции ЛИНЕЙН

Функция ЛИНЕЙН рассчитывает статистику для ряда с применением метода наименьших квадратов, вычисляя прямую линию, которая наилучшим образом аппроксимирует имеющиеся данные. Функция возвращает массив, который описывает полученную прямую.

Общий синтаксис вызова функции ЛИНЕЙН имеет следующий вид:

Для работы с функцией необходимо заполнить как минимум 1 обязательный и при необходимости 3 необязательных аргумента:

  1. Известные_значения_y − это множество значений y , которые уже известны для соотношения y=mx+b.
  2. Известные_значения_x − это множество известных значений x . Если этот аргумент опущен, то предполагается, что это массив такого же размера, как и известные_значения_y.
  3. Конст − это логическое значение, которое указывает, требуется ли, чтобы константа b была равна 0. Если в функции ЛИНЕЙН аргумент константа имеет значение ЛОЖЬ, то b полагается равным 0 и значения m подбираются так, чтобы выполнялось соотношение y = mx.
  4. Статистика − это логическое значение, которое указывает, требуется ли выдать дополнительную статистику по регрессии.

Примеры использования функции ЛИНЕЙН в Excel

Для решения первой задачи – о соотношении часов подготовки студентов к тесту и результатов теста, как х и у соответственно, – необходимо применить следующий порядок действий (в связи с тем, что ЛИНЕЙН является функцией, которая возвращает массив):

  1. Выделите диапазон D2:Е2, так как функция ЛИНЕЙН возвращает массив из двух значений, расположенных по горизонтали, но не по вертикали.
  2. Введите известные значения y – баллы, которые студенты заработали на последнем тестировании (диапазон ячеек В2:В12).
  3. Затем введите известные значения х – количество часов, которые студенты потратили на подготовку к тестам (диапазон А2:А12).
  4. Опустите аргумент [конст].
  5. Опустите аргумент [статистика].
  6. Введите формулу с помощью Ctrl+Shift+Enter.

Результатом применения функции становится:

Теперь, на примере решения второй задачи, разберем необходимость в отображении не только наклона и отрезка, но и дополнительной статистики. Для примера, на диапазоне А1:В6 выстроим таблицу с соотношением у и х соответствующих сумме заработка студентом денежных средств за период в 5 месяцев. Так как мы имеем лишь одну переменную х, то необходимо выделить диапазон состоящий из двух столбцов и пяти строк. Важно отметить, что в том случае, если переменных х будет больше, то количество столбцов может изменяться соответственно их количеству, однако строк будет всегда 5.

Применительно к решаемой нами задаче, выделим диапазон Е2:F6, затем введем формулу аналогично предыдущей задаче, но в данном случае третьему и четвертому аргументу присвоим значение 1 соответствующее ИСТИНЕ. Для вывода параметров статистики функции ЛИНЕЙН необходимо нажат Ctrl+Shift+Enter, результат должен соответствовать следующему рисунку, на котором представлено обозначение дополнительных статистик:

Вернемся к примеру № 1, касающемуся зависимости между часами подготовки студентов к тесту и баллов за тест. Добавим к условию задачи данные о баллах за домашнее задание - представляющие дополнительную переменную х, что свидетельствует о необходимости применения множественной регрессии.

  • y = зависимая переменная;
  • x1 = независимая переменная 1 = баллы за домашнее задание;
  • x2 = независимая переменная 2 = часы подготовки к тесту.

Чтобы выполнить множественную регрессию:

  1. Выделите диапазон В3:D7 (число столбцов = число переменных +1; число строк всегда равно 5).
  2. Наберите формулу =ЛИНЕЙН(D14:D24;B14:C24;1;1). Для аргумента известные_значения_х, выделите оба столбца значений x из диапазона В14:С24.
  3. Введите функцию с помощью клавиш Ctrl+Shift+Enter.
  4. Обратите внимание, что несмотря на то, что значения х1 указаны в диапазоне В14:С24 до значений х2, наклон сначала указан для х2.

Распределение статистик в таблице их значение представлено на следующем рисунке:

В результате мы получили всю необходимую выходную статистическую информацию, которая нас интересует.

vedro-compota

"Cвойство линейности" для отображения (отсюда):

  1. $f(x + y) = f(x) + f(y)$ для всех $x,y \in L_k$
  2. $f(\alpha x) = \alpha f(x)$ для всех $x \in L_k$ и всех $\alpha \in K$.

-- смысл данных свойств в сохранении соотношений между элементами, участвующими в операциях/выражениях (в данном случае сложения векторов и умножения на число).

Поясним: пусть у нас есть выражение:
$$\alpha x + \beta y + . + \gamma z = 0_L$$
применим ко всем элементам векторного пространства, участвующим в этом выражении линейный оператор $f: L \rightarrow M$:
$$\alpha f(x) + \beta f(y) + . + \gamma f(z) = f(0_L) = 0_M $$

-- равенство сохраняется именно из-за того, что оператор $L$ объявлено линейным.
Сохранение же здесь состоит в том, что все выражение осталось тем же, что и до отображения, но все элементами заменены образами из пространства, в которое происходит отображение (подобное происходит далеко не для любого отображения - см. пример).

Key Words for FKN + antitotal forum (CS VSU):

vedro-compota

Fri, 12/07/2018 - 20:13

Нелинейный оператор."свойство линейности" для "линейной" функции

. линейная алгебра возникла в рамках исследования вопроса о системах линейных уравнений.

В свою очередь, уравнения получили такое название ввиду того, что графиком функций вида y=kx является прямая линия. Слово "прямая" исчезло, и все эффекты, связанные с зависимостями такого вида (наподобие f(x+y)=f(x)+f(y) или f(kx)=kf(x)) стали называть "линейными".
Надо иметь в виду, что математические термины очень часто не отражают сути того, что они называют, а являются итогом каких-то исторических случайностей.

Проверим цитату выше для (относительно) определения линейного оператора, а именно нас "свойство линейности" для отображения:

  1. $f(x + y) = f(x) + f(y)$ для всех $x,y \in L_k$
  2. $f(\alpha x) = \alpha f(x)$ для всех $x \in L_k$ и всех $\alpha \in K$.

Возьмём линейную функцию $f(x) = 2x + 5$ (она так называется, потмоу что её график -- прямая линия).
Вычислим $f(x + y)$:
$ f(x + y) = 2x + 2y + 5$
Вычислим $ fx + fy$:
$fx + fy = 2x + 5 + 2y + 5 = 2x + 2y + 10$

Получаем:
$2x + 2y + 5 \neq 2x + 2y + 10$
выходит, что $f(x) = 2x + 5$ нелинейна в смысле указанного выше "свойства линейности", т.е. не любая линейная функция является линейным оператором.

И действительно, данная линейная функция не сохраняет результатов выражения, возьмём выражение:
$x + y = 0$
применим функцию ко всем элементам:
$2x + 5 + 2y + 5 = 0$
$2(x + y) = -10$
$x + y = -5$

-- как видим соотношение между элементами изменилось, теперь их сумма равна не нулю, а другому числу (-5), это и есть практическая демонстрация нелинейности преобразования

При обработке экспериментальных данных часто возникает необходимость аппроксимировать их линейной функцией.

Аппроксимацией (приближением) функции f(x) называется нахождение такой функции ( аппроксимирующей функции ) g(x) , которая была бы близка заданной. Критерии близости функций могут быть различные.

В случае если приближение строится на дискретном наборе точек, аппроксимацию называют точечной или дискретной .

В случае если аппроксимация проводится на непрерывном множестве точек (отрезке), аппроксимация называется непрерывной или интегральной . Примером такой аппроксимации может служить разложение функции в ряд Тейлора, то есть замена некоторой функции степенным многочленом.

Наиболее часто встречающим видом точечной аппроксимации является интерполяция – нахождение промежуточных значений величины по имеющемуся дискретному набору известных значений.

Пусть задан дискретный набор точек, называемых узлами интерполяции , а также значения функции в этих точках. Требуется построить функцию g(x) , проходящую наиболее близко ко всем заданным узлам. Таким образом, критерием близости функции является g(xi)=yi .

В качестве функции g(x) обычно выбирается полином, который называют интерполяционным полиномом .

В случае если полином един для всей области интерполяции, говорят, что интерполяция глобальная .

В случае если между различными узлами полиномы различны, говорят о кусочной или локальной интерполяции.

Найдя интерполяционный полином, мы можем вычислить значения функции между узлами, а также определить значение функции даже за пределами заданного интервала (провести экстраполяцию ).

Аппроксимация линейной функцией

Уравнение прямой

Любая линейная функция может быть записана уравнением

Аппроксимация заключается в отыскании коэффициентов a и b уравнения таких, чтобы все экспериментальные точки лежали наиболее близко к аппроксимирующей прямой.

С этой целью чаще всего используется метод наименьших квадратов (МНК), суть которого заключается в следующем: сумма квадратов отклонений значения точки от аппроксимирующей точки принимает минимальное значение:

Решение поставленной задачи сводится к нахождению экстремума указанной функции двух переменных. С этой целью находим частные производные функции функции по коэффициентам a и b и приравниваем их к нулю.

Решаем полученную систему уравнений

Определяем значения коэффициентов

Для вычисления коэффициентов необходимо найти следующие составляющие:

Тогда значения коэффициентов будут определены как

Пример реализации

Для примера реализации воспользуемся набором значений, полученных в соответствии с уравнением прямой

y = 8 · x — 3

Рассчитаем указанные коэффициенты по методу наименьших квадратов.
Результат сохраняем в форме двумерного массива, состоящего из 2 столбцов.
При следующем запуске программы добавим случайную составляющую к указанному набору значений и снова рассчитаем коэффициенты.

Реализация на Си


Результат выполнения
Запуск без случайной составляющей

Запуск со случайной составляющей

Построение графика функции

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


Реализация на Си

Реализация линейной аппроксимации по МНК (график)


Результат выполнения

Аппроксимация с фиксированной точкой пересечения с осью y

Регрессии нелинейные по включенным переменным приводятся к линейному виду простой заменой переменных (линеаризация), а дальнейшая оценка параметров производится с помощью метода наименьших квадратов. Рассмотрим некоторые функции.












Парабола второй степени приводится к линейному виду с помощью замены: . В результате приходим к двухфакторному уравнению , оценка параметров которого при помощи МНК, приводит к системе следующих нормальных уравнений:


А после обратной замены переменных получим


Парабола второй степени обычно применяется в случаях, когда для определенного интервала значений фактора меняется характер связи рассматриваемых признаков: прямая связь меняется на обратную или обратная на прямую.



Равносторонняя гипербола приводится к линейному уравнению простой заменой: . Система линейных уравнений при применении МНК будет выглядеть следующим образом:



Аналогичным образом приводятся к линейному виду зависимости , и другие.


Несколько иначе обстоит дело с регрессиями нелинейными по оцениваемым параметрам, которые делятся на два типа: нелинейные модели внутренне линейные (приводятся к линейному виду с помощью соответствующих преобразований, например, логарифмированием) и нелинейные модели внутренне нелинейные (к линейному виду не приводятся). 4 Эконометрика: Учебник / Под ред. И.И. Елисеевой. - М.: Финансы и статистика, 2002. с. 98

К внутренне линейным моделям относятся

Линеаризация проводится логарифмированием,

После этого уравнение регрессии становится линейным:



Чтобы уравнение стало линейным, нужно убрать из показателя степени коэффициент b. Единственный способ это сделать - логарифмировать обе части равенства:

После этого уравнение регрессии становится линейным:

Нужно пересчитать исходные данные для фактора Y, и потом, когда коэффициенты регрессии будут найдены, вернуться назад к коэффициентам .;



К внутренне нелинейным моделям можно, например, отнести следующие модели:




где . Т.е. МНК мы применяем для преобразованных данных:


а затем потенцированием находим искомое уравнение.

Таблица 1.1 Линеаризация моделей

Вид линеаризированной модели

Ln y = Ln a+ х ln b

Ln y = Y, Ln a = б, Ln b =в

Ln y = Ln a+ b ln x

Ln y = Y, Ln a = б, Ln x =x

Рассмотрим далее функции вида (1.8), которые являются нелинейными как по параметрам, так и по переменным:


Мы обнаружим, что соотношение (1.8) может быть преобразовано в линейное уравнение путем использования логарифмов.

Основные правила гласят:

Если у = xz, то log у = log x + log z-

Если у = x/z, то log у = log х - log z.

Если у = х п , то log у - n log х

Эти правила могут применяться вместе для преобразования более сложных выражений. Например, возьмем уравнение (1.8). Если то по правилу 1:

log у = log а + log x и по правилу 3

= log a + log х.

Для натуральных логарифмов справедливо еще одно правило:

4. Если у = ex, то log у = х.

Выражение е х , которое часто записывается как exp (x), известно также как антилогарифм х. Можно сказать, что log () является логарифмом антилогарифма х, и так как логарифм и антилогарифм взаимно уничтожаются, неудивительно, что log (е) превращается просто в х.

Используя приведенные выше правила, уравнение (1.8) можно преобразовать в линейное путем логарифмирования его обеих частей. Если соотношение (4.4) верно, то

logy = log = log a + logx (1.9)

Если обозначить у'= log у, z = log х и a'= log а, то уравнение (1.8) можно переписать в следующем виде:

Процедура оценивания регрессии теперь будет следующей. Сначала вычислим у' и z для каждого наблюдения путем взятия логарифмов от исходных значений. Вы можете сделать это на компьютере с помощью имеющейся статистической программы. Затем оценим регрессионную зависимость у' от z. Коэффициент при z будет представлять собой непосредственно оценку в. Постоянный член является оценкой а', т. е. log а. Для получения оценки а необходимо взять антилогарифм, т. е. вычислить ехр (а'). 7 Фестер Э., Ренц Б. Методы корреляционного и регрессионного анализа: Пер. с нем. - М.: Финансы и статистика, 1982, с.137

Последний раз редактировалось lioness 08.09.2013, 22:29, всего редактировалось 1 раз.

Подскажите пожалуйста, как получить из линейной модели нелинейную.

Y>>+\frac \cdot \frac +\frac >\cdot Y=X$" />

где - ригидность, - коэффициент, зависящий от фрустрированности и - агрессивность, - некоторый временной параметр, - сила информационного воздействия, - уровень реакции

Я так понимаю нелинейную модель можно получить в результате дополнения линейной модели нелинейными элементами, но как это будет выглядеть на практике конкретно к этой задаче, я не совсем понимаю.

Читайте также: